Search Header Logo
metode Agile

metode Agile

Assessment

Presentation

Other

University

Hard

Created by

Mira Febriana Sesunan

FREE Resource

50 Slides • 30 Questions

1

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan Perangkat Lunak Agile

2

media

UNIVERSITAS
DARMA
PERSADA

Topik yang dibahas

Metode Agile
Pengembangan yang digerakkan oleh rencana dan tangkas
Pemrograman ekstrim
Manajemen proyek tangkas
Skala metode agile

2

3

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan perangkat lunak yang cepat

Pengembangan dan pengiriman yang cepat kini seringkali

menjadi persyaratan paling penting bagi sistem perangkat
lunak
Bisnis beroperasi dalam persyaratan yang berubah dengan cepat

dan secara praktis tidak mungkin untuk menghasilkan serangkaian
persyaratan perangkat lunak yang stabil

Perangkat lunak harus berkembang dengan cepat untuk

mencerminkan perubahan kebutuhan bisnis.

Pengembangan perangkat lunak yang cepat

Spesifikasi, desain dan implementasi saling terkait
Sistem dikembangkan sebagai serangkaian versi dengan

pemangku kepentingan yang terlibat dalam evaluasi versi

Antarmuka pengguna sering kali dikembangkan menggunakan IDE

dan perangkat grafis.

3

4

media

UNIVERSITAS
DARMA
PERSADA

Metode Agile

Ketidakpuasan dengan biaya overhead yang terlibat dalam metode desain perangkat

lunak pada tahun 1980-an dan 1990-an menyebabkan terciptanya metode agile.
Metode-metode ini:
Fokus pada kode daripada desain
Berdasarkan pendekatan berulang terhadap pengembangan perangkat lunak
Ditujukan untuk menghasilkan perangkat lunak yang berfungsi dengan cepat dan

mengembangkannya dengan cepat untuk memenuhi persyaratan yang berubah .

Tujuan metode agile adalah untuk mengurangi overhead dalam proses perangkat lunak (misalnya dengan membatasi dokumentasi) dan mampu merespons dengan cepat terhadap perubahan persyaratan tanpa pengerjaan ulang yang berlebihan.

4

5

media

UNIVERSITAS
DARMA
PERSADA

Manifesto Agile

Kami menemukan cara yang lebih baik untuk mengembangkan

perangkat lunak dengan melakukannya dan membantu orang lain
melakukannya. Melalui pekerjaan ini, kami menyadari pentingnya:
Individu dan interaksi lebih dari proses dan alat

Perangkat lunak yang berfungsi lebih dari dokumentasi yang komprehensif
Kolaborasi pelanggan lebih dari negosiasi kontrak
Menanggapi perubahan lebih dari mengikuti rencana

Maksudnya, meskipun barang-barang di sebelah kanan bernilai, kita

lebih menghargai barang-barang di sebelah kiri.

6

Multiple Choice

Agile pertama kali diperkenalkan pada tahun 2005

1

TRUE

2

FALSE

7

Multiple Choice

Apa yang dimaksud dengan metode agile dalam pengembangan perangkat lunak?

1

Metode pengembangan perangkat lunak yang menggunakan siklus pengembangan yang singkat

2

Metode pengembangan perangkat lunak yang menggunakan waterfall

3

Metode pengembangan perangkat lunak yang menggunakan scrum

4

Metode pengembangan perangkat lunak yang menggunakan iterative

8

Multiple Choice

Prinsip Agile menekankan pentingnya dokumentasi lengkap

1

TRUE

2

FALSE

9

media

UNIVERSITAS
DARMA
PERSADA

Prinsip-prinsip metode agile

Prinsip

Keterangan

Keterlibatan pelanggan

Pelanggan harus dilibatkan secara erat selama proses pengembangan. Peran
mereka adalah menyediakan dan memprioritaskan persyaratan sistem baru serta
mengevaluasi iterasi sistem.

Pengiriman bertahap

Perangkat

lunak

dikembangkan

secara

bertahap,

dimana

pelanggan

menentukan persyaratan yang akan disertakan pada setiap peningkatan.

Orang tidak memproses

Keterampilan tim pengembangan harus diakui dan dimanfaatkan. Anggota tim
harus dibiarkan mengembangkan cara kerja mereka sendiri tanpa proses yang
ditentukan.

Merangkul perubahan

Harapkan persyaratan sistem akan berubah, oleh karena itu rancanglah sistem
yang dapat mengakomodasi perubahan tersebut.

Pertahankan kesederhanaan

Fokus

pada

kesederhanaan

baik

dalam

perangkat

lunak

yang

sedang

dikembangkan maupun dalam proses pengembangan. Jika memungkinkan,
secara aktif berupaya menghilangkan kerumitan dari sistem .

6

10

Multiple Choice

Agile tidak memprioritaskan feedback dari pelanggan

1

TRUE

2

FALSE

11

Multiple Choice

Agile lebih fleksibel dari pada metode tradisional

1

TRUE

2

FALSE

12

Multiple Choice

Apa yang dimaksud dengan backlog dalam metode scrum?

1

Daftar pekerjaan yang perlu dilakukan dalam sebuah proyek atau pengembangan produk

2

Iterasi atau fase kerja yang diperlukan untuk menyelesaikan list pada backlog

3

Meeting rutin yang dilakukan setiap hari untuk mengevaluasi pekerjaan yang sedang dikerjakan

4

Tahap terakhir dalam scrum framework yang merupakan hasil akhir dari sprint

13

Multiple Choice

Apa yang dimaksud dengan Product Backlog dalam fase Pre-game pengembangan sistem?

1

Rencana proyek yang sudah selesai

2

Daftar semua kebutuhan sistem yang diperlukan untuk mencapai produk akhir

3

Daftar semua tugas yang telah diselesaikan dalam proyek

4

Laporan evaluasi pengembangan sistem


14

Multiple Choice

Apa yang dimaksud dengan "Sprint" dalam Metode Scrum?

1

Iterasi atau fase kerja untuk menyelesaikan pekerjaan dalam backlog

2

Pertemuan rutin setiap hari untuk evaluasi

3

Subset pekerjaan dalam backlog

4

Tahap terakhir dalam scrum framework

15

Multiple Choice

Siapa yang bertanggung jawab untuk mengarahkan tim Scrum menuju arah dan tujuan yang benar dalam Metode Scrum?

1

Scrum Team

2

Scrum Master

3

Product Owner (PO)

4
  1. Increment

16

Multiple Choice

Apa tujuan dari Pertemuan fase Sprint dalam Scrum?

1

Untuk mengembangkan sistem melalui sprint

2

Untuk merencanakan sprint dan membahas produk inkremental

3

untuk membahas incremental produk yang digunakan selama sprint.

4

Untuk merefleksikan kinerja tim dan merencanakan tindakan perbaikan

17

Multiple Choice

Berapa lama satu sprint biasanya direncanakan dalam fase pengembangan (Fase Game) Metode Scrum?

1

15 menit

2

Satu hari

3

Satu minggu hingga satu bulan

4

Tidak ada waktu yang ditentukan

18

Multiple Choice

Apa yang dimaksud dengan adaptabilitas dan fleksibilitas dalam Scrum?

1

Kemampuan tim untuk menghadapi perubahan kebutuhan atau prioritas dengan cepat

2

Kemampuan tim untuk melakukan pekerjaan dengan cepat

3

Kemampuan tim untuk menyelesaikan semua pekerjaan dalam satu sprint

4

Kemampuan tim untuk mengikuti rencana tanpa perubahan

19

Multiple Choice

Bisnis digital tidak memerlukan pendekatan Agile

1

TRUE

2

FALSE

20

Multiple Choice

Kapan metode Scrum paling sesuai digunakan?

1

Untuk proyek dengan persyarahan yang sudah diketahui secara jelas dan tidak berubah

2

Untuk proyek dengan tingkat ketidakpastian yang tinggi atau ketika perubahan kebutuhan sering terjadi

3

Hanya untuk proyek IT

4

Hanya untuk proyek besar.

21

Multiple Choice

Apa yang dilakukan tim selama Retrospective Sprint ?

1

Mengevaluasi proses kerja dan mencari cara untuk meningkatkan efisiensi dan kualitas

2

Menampilkan hasil inkremen produk kepada pemangku kepentingan

3

Memilih item-item dari Product Backlog

4

Melakukan diskusi harian dalam Daily Scrum Meeting

22

Multiple Choice

Agile menekankan pentingnya individu dan interaksi

1

TRUE

2

FALSE

23

media

UNIVERSITAS
DARMA
PERSADA

Penerapan metode Agile

Pengembangan produk di mana perusahaan perangkat lunak

mengembangkan produk berukuran kecil atau menengah untuk dijual.

Pengembangan sistem khusus dalam suatu organisasi, di mana ada

komitmen yang jelas dari pelanggan untuk terlibat dalam proses
pengembangan dan di mana tidak banyak aturan dan regulasi eksternal
yang memengaruhi perangkat lunak.

Karena fokusnya pada tim yang kecil dan terintegrasi dengan baik,

terdapat masalah dalam penerapan metode agile ke sistem yang besar.

7

24

Multiple Choice

Metode tradisional selalu lebih baik daripada agile

1

TRUE

2

FALSE

25

media

UNIVERSITAS
DARMA
PERSADA

Masalah dengan metode agile

Mungkin sulit untuk mempertahankan minat pelanggan yang terlibat dalam proses

tersebut.

Anggota tim mungkin tidak cocok dengan keterlibatan intens yang menjadi ciri

metode agile.

Memprioritaskan perubahan dapat menjadi sulit apabila terdapat banyak pemangku

kepentingan.

Mempertahankan kesederhanaan membutuhkan kerja ekstra.
Kontrak mungkin menjadi masalah seperti pendekatan lain pada pengembangan

iteratif.

8

26

Multiple Choice

Agile memungkinkan bisnis untuk beradaptasi dengan cepat terhadap perubahan

1

TRUE

2

FALSE

27

media

UNIVERSITAS
DARMA
PERSADA

Metode Agile dan pemeliharaan perangkat

lunak

Sebagian besar organisasi menghabiskan lebih banyak biaya untuk

memelihara perangkat lunak yang sudah ada daripada untuk
pengembangan perangkat lunak baru. Jadi, agar metode agile berhasil,
metode tersebut harus mendukung pemeliharaan dan pengembangan asli.

Dua isu utama:

Apakah sistem yang dikembangkan menggunakan pendekatan tangkas dapat

dipelihara, mengingat penekanan dalam proses pengembangan untuk
meminimalkan dokumentasi formal?

Dapatkah metode agile digunakan secara efektif untuk mengembangkan sistem

sebagai respons terhadap permintaan perubahan pelanggan?

Masalah mungkin timbul jika tim pengembangan asli tidak dapat

dipertahankan.

9

28

Multiple Choice

Prinsip-Prinsip Agile hanya relevan untuk pengembangan perangkat lunak

1

TRUE

2

FALSE

29

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan yang digerakkan oleh rencana

dan tangkas

Pembangunan yang digerakkan oleh rencana

Pendekatan berbasis rencana terhadap rekayasa perangkat lunak didasarkan

pada tahapan-tahapan pengembangan terpisah, dengan keluaran yang akan
dihasilkan pada tiap tahapan tersebut direncanakan terlebih dahulu.

Tidak harus model waterfall – pengembangan yang didorong oleh rencana dan

bertahap dapat dilakukan

Iterasi terjadi dalam aktivitas.

Pengembangan tangkas

Spesifikasi, desain, implementasi dan pengujian saling terkait dan keluaran dari

proses pengembangan diputuskan melalui proses negosiasi selama proses
pengembangan perangkat lunak.

10

30

Multiple Choice

Manfaat utama Agile adalah waktu release market yang lebih cepat

1

TRUE

2

FALSE

31

media

UNIVERSITAS
DARMA
PERSADA

Spesifikasi yang digerakkan oleh rencana dan

tangkas

11

32

Multiple Choice

Agile adalah pendekatan manajemen proyek yang kaku dan tidak fleksibel.

1

TRUE

2

FALSE

33

media

UNIVERSITAS
DARMA
PERSADA

Masalah teknis, manusia, organisasi

Sebagian besar proyek mencakup unsur-unsur proses yang digerakkan oleh

rencana dan tangkas. Keputusan tentang keseimbangan bergantung pada:
Apakah penting untuk memiliki spesifikasi dan desain yang sangat rinci sebelum beralih ke

implementasi? Jika demikian, Anda mungkin perlu menggunakan pendekatan yang
digerakkan oleh rencana.

Apakah strategi pengiriman bertahap, di mana Anda mengirimkan perangkat lunak kepada

pelanggan dan mendapatkan umpan balik cepat dari mereka, realistis? Jika demikian,
pertimbangkan untuk menggunakan metode tangkas.

Seberapa besar sistem yang sedang dikembangkan? Metode Agile paling efektif jika sistem

dapat dikembangkan dengan tim kecil yang bekerja sama dan dapat berkomunikasi secara
informal. Hal ini mungkin tidak memungkinkan untuk sistem besar yang memerlukan tim
pengembangan yang lebih besar sehingga pendekatan yang berorientasi pada rencana
mungkin harus digunakan.

12

34

Multiple Choice

Agile menghargai perangkat lunak yang berfungsi dibandingkan dokumentasi yang komprehensif.

1

TRUE

2

FALSE

35

media

UNIVERSITAS
DARMA
PERSADA

Masalah teknis, manusia, organisasi

Jenis sistem apa yang sedang dikembangkan?

Pendekatan berbasis rencana mungkin diperlukan untuk sistem yang memerlukan banyak analisis

sebelum implementasi (misalnya sistem waktu nyata dengan persyaratan waktu yang kompleks).

Berapa lama umur sistem yang diharapkan?

Sistem dengan umur panjang mungkin memerlukan lebih banyak dokumentasi desain untuk

mengomunikasikan maksud awal pengembang sistem kepada tim dukungan.

Teknologi apa yang tersedia untuk mendukung pengembangan sistem?

Metode Agile bergantung pada alat yang baik untuk melacak desain yang terus berkembang

Bagaimana tim pengembangan diorganisasikan?

Jika tim pengembangan tersebar atau jika sebagian pengembangan dialihdayakan, maka Anda

mungkin perlu mengembangkan dokumen desain untuk dikomunikasikan antar tim
pengembangan.

13

36

Multiple Choice

Prinsip Agile terutama berfokus pada proses dan alat.

1

TRUE

2

FALSE

37

media

UNIVERSITAS
DARMA
PERSADA

Masalah teknis, manusia, organisasi

Apakah ada masalah budaya atau organisasi yang dapat memengaruhi

pengembangan sistem?

Organisasi teknik tradisional memiliki budaya pengembangan berbasis rencana, karena ini

merupakan norma dalam teknik.

Seberapa bagus desainer dan programmer dalam tim pengembangan?

Kadang-kadang dikatakan bahwa metode agile memerlukan tingkat keterampilan yang lebih

tinggi daripada pendekatan berbasis rencana di mana programmer hanya menerjemahkan
desain terperinci menjadi kode.

Apakah sistem tersebut tunduk pada regulasi eksternal?

Jika suatu sistem harus disetujui oleh regulator eksternal (misalnya FAA menyetujui perangkat

lunak yang penting untuk pengoperasian pesawat terbang) maka Anda mungkin akan diminta
untuk membuat dokumentasi terperinci sebagai bagian dari kasus keselamatan sistem.

14

38

Multiple Choice

Di Agile, kolaborasi pelanggan dianggap kurang penting dibandingkan negosiasi kontrak.

1

TRUE

2

FALSE

39

media

UNIVERSITAS
DARMA
PERSADA

Pemrograman ekstrim

Mungkin metode agile yang paling terkenal dan paling banyak

digunakan.

Pemrograman Ekstrim (XP) mengambil pendekatan 'ekstrim'

terhadap pengembangan berulang.
Versi baru dapat dibuat beberapa kali per hari;
Penambahan dikirimkan ke pelanggan setiap 2 minggu;
Semua pengujian harus dijalankan untuk setiap pembangunan dan

pembangunan hanya diterima jika pengujian berjalan dengan sukses.

15

40

Multiple Choice

Tim tangkas menghasilkan perangkat lunak yang berfungsi dalam jumlah besar dan jarang.

1

TRUE

2

FALSE

41

media

UNIVERSITAS
DARMA
PERSADA

Prinsip XP dan Agile

Pengembangan bertahap didukung melalui rilis sistem yang kecil dan sering.
Keterlibatan pelanggan berarti keterlibatan pelanggan penuh waktu dengan tim.
Orang tidak memproses melalui pemrograman berpasangan, kepemilikan kolektif

dan proses yang menghindari jam kerja yang panjang.

Perubahan didukung melalui rilis sistem rutin.
Mempertahankan kesederhanaan melalui pemfaktoran ulang kode yang

berkelanjutan.

16

42

Multiple Choice

Agile menekankan adaptasi terhadap perubahan daripada mengikuti rencana.

1

TRUE

2

FALSE

43

media

UNIVERSITAS
DARMA
PERSADA

Siklus rilis pemrograman ekstrem

17

44

Multiple Choice

Metodologi Agile, seperti Scrum dan Kanban, hanya dapat diterapkan di industri pengembangan perangkat lunak.

1

TRUE

2

FALSE

45

media

UNIVERSITAS
DARMA
PERSADA

Praktik pemrograman ekstrim (a)

Prinsip atau praktik

Keterangan

Perencanaan bertahap

Persyaratan dicatat pada kartu cerita dan cerita yang akan disertakan dalam rilis
ditentukan oleh waktu yang tersedia dan prioritas relatifnya. Pengembang
membagi cerita ini menjadi 'Tugas' pengembangan. Lihat Gambar 3.5 dan 3.6.

Rilisan kecil

Rangkaian fungsionalitas minimal yang berguna dan memberikan nilai bisnis
dikembangkan terlebih dahulu. Rilis sistem dilakukan secara berkala dan secara
bertahap menambahkan fungsionalitas ke rilis pertama.

Desain sederhana

Desain yang dilakukan cukup untuk memenuhi persyaratan saat ini, dan tidak
lebih.

Pengembangan

uji

coba

terlebih dahulu

Kerangka kerja pengujian unit otomatis digunakan untuk menulis pengujian
untuk

bagian

fungsionalitas

baru

sebelum

fungsionalitas

itu

sendiri

diimplementasikan.

Pemfaktoran ulang

Semua pengembang diharapkan untuk terus-menerus melakukan refaktor kode
sesegera mungkin jika ditemukan perbaikan kode. Hal ini menjaga kode tetap
sederhana dan mudah dirawat.

18

46

Multiple Choice

Di Agile, persyaratan dan solusi diharapkan tetap tidak berubah selama proyek berlangsung.

1

TRUE

2

FALSE

47

media

UNIVERSITAS
DARMA
PERSADA

Praktik pemrograman ekstrim ( b )

Pemrograman berpasangan

Pengembang bekerja berpasangan, memeriksa pekerjaan satu sama lain dan
memberikan dukungan untuk selalu melakukan pekerjaan dengan baik.

Kepemilikan kolektif

Pasangan pengembang bekerja di semua area sistem, sehingga tidak ada pulau
keahlian yang berkembang dan semua pengembang bertanggung jawab atas
semua kode. Siapa pun dapat mengubah apa pun.

Integrasi berkelanjutan

Begitu pekerjaan pada suatu tugas selesai, tugas tersebut diintegrasikan ke
dalam keseluruhan sistem. Setelah integrasi tersebut, semua pengujian unit
dalam sistem harus lulus.

Kecepatan berkelanjutan

Lembur dalam jumlah besar tidak dianggap dapat diterima karena efek bersihnya
sering kali mengurangi kualitas kode dan produktivitas jangka menengah.

Pelanggan di tempat

Seorang wakil dari pengguna akhir sistem (pelanggan) harus tersedia penuh
waktu untuk digunakan oleh tim XP. Dalam proses pemrograman ekstrem,
pelanggan adalah anggota tim pengembangan dan bertanggung jawab untuk
menyampaikan persyaratan sistem kepada tim untuk diimplementasikan .

19

48

Multiple Choice

Agile mempromosikan struktur tim yang terorganisir secara mandiri dan lintas fungsi.

1

TRUE

2

FALSE

49

media

UNIVERSITAS
DARMA
PERSADA

Skenario persyaratan

Dalam XP, pelanggan atau pengguna adalah bagian dari tim XP dan

bertanggung jawab untuk membuat keputusan tentang persyaratan.

pengguna dinyatakan sebagai skenario atau cerita pengguna.
Hal ini ditulis pada kartu dan tim pengembangan membaginya menjadi

tugas-tugas implementasi. Tugas-tugas ini menjadi dasar estimasi jadwal
dan biaya.

Pelanggan memilih cerita untuk disertakan dalam rilis berikutnya

berdasarkan prioritas dan perkiraan jadwal.

20

50

Multiple Choice

Agile mendorong pendekatan pembangunan yang berkelanjutan dan berulang.

1

TRUE

2

FALSE

51

media

UNIVERSITAS
DARMA
PERSADA

Sebuah cerita 'meresepkan obat'

21

52

media

UNIVERSITAS
DARMA
PERSADA

Contoh kartu tugas untuk meresepkan obat

22

53

media

UNIVERSITAS
DARMA
PERSADA

XP dan perubahan

Kebijaksanaan konvensional dalam rekayasa perangkat lunak

adalah merancang untuk perubahan. Sebaiknya luangkan
waktu dan upaya untuk mengantisipasi perubahan karena ini
mengurangi biaya di kemudian hari dalam siklus hidup.

Namun, XP berpendapat bahwa hal ini tidak bermanfaat

karena perubahan tidak dapat diantisipasi dengan andal.

Sebaliknya, ia mengusulkan perbaikan kode yang konstan

(refactoring) untuk mempermudah penerapan perubahan saat
harus diimplementasikan.

23

54

media

UNIVERSITAS
DARMA
PERSADA

Pemfaktoran ulang

Tim pemrograman mencari kemungkinan perbaikan perangkat

lunak dan melakukan perbaikan tersebut meskipun tidak ada
kebutuhan mendesak untuk itu.

Hal ini meningkatkan pemahaman perangkat lunak dan dengan

demikian mengurangi perlunya dokumentasi.

Perubahan lebih mudah dilakukan karena kodenya terstruktur

dengan baik dan jelas.

Namun, beberapa perubahan memerlukan pemfaktoran ulang

arsitektur dan ini jauh lebih mahal.

Bab 3 Pengembangan perangkat lunak

Agile

55

media

UNIVERSITAS
DARMA
PERSADA

Contoh refactoring

Penataan ulang hierarki kelas untuk menghilangkan kode

duplikat.

Merapikan dan mengganti nama atribut dan metode agar lebih

mudah dipahami.

Penggantian kode sebaris dengan pemanggilan metode yang

telah disertakan dalam pustaka program.

25

56

media

UNIVERSITAS
DARMA
PERSADA

Poin-poin penting

Metode Agile adalah metode pengembangan bertahap yang berfokus pada

pengembangan cepat, rilis perangkat lunak yang sering, mengurangi overhead
proses, dan menghasilkan kode berkualitas tinggi. Metode ini melibatkan pelanggan
secara langsung dalam proses pengembangan.

Keputusan apakah akan menggunakan pendekatan tangkas atau berbasis rencana

dalam pengembangan harus bergantung pada jenis perangkat lunak yang
dikembangkan, kemampuan tim pengembangan, dan budaya perusahaan yang
mengembangkan sistem.

Pemrograman ekstrem merupakan metode agile yang terkenal yang memadukan

serangkaian praktik pemrograman yang baik seperti rilis perangkat lunak secara
berkala, perbaikan perangkat lunak berkelanjutan, dan keikutsertaan pelanggan
dalam tim pengembangan.

26

57

media

UNIVERSITAS
DARMA
PERSADA

MFS

27

58

media

UNIVERSITAS
DARMA
PERSADA

Pengujian di XP

Pengujian merupakan hal utama pada XP dan XP telah

mengembangkan pendekatan di mana program diuji setelah
setiap perubahan dibuat.

Fitur pengujian XP:

Uji coba pengembangan pertama.
Pengembangan pengujian tambahan dari skenario.
Keterlibatan pengguna dalam pengembangan dan validasi pengujian.
Rangkaian pengujian otomatis digunakan untuk menjalankan semua

pengujian komponen setiap kali rilis baru dibuat.

28

59

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan uji coba terlebih dahulu

Menulis pengujian sebelum kode memperjelas persyaratan

yang akan diimplementasikan.

Pengujian ditulis sebagai program, bukan data, sehingga dapat

dijalankan secara otomatis. Pengujian mencakup pemeriksaan
apakah pengujian telah dijalankan dengan benar .
Biasanya bergantung pada kerangka kerja pengujian seperti Junit .

Semua pengujian sebelumnya dan yang baru dijalankan secara

otomatis saat fungsionalitas baru ditambahkan, dengan
demikian memeriksa bahwa fungsionalitas baru tersebut tidak
menimbulkan kesalahan.

29

60

media

UNIVERSITAS
DARMA
PERSADA

Keterlibatan pelanggan

Peran pelanggan dalam proses pengujian adalah untuk membantu

mengembangkan pengujian penerimaan untuk cerita yang akan
diimplementasikan pada rilis sistem berikutnya.

Pelanggan yang menjadi bagian dari tim menulis pengujian saat

pengembangan berlangsung. Oleh karena itu, semua kode baru divalidasi
untuk memastikan bahwa kode tersebut sesuai dengan kebutuhan
pelanggan.

Namun, orang yang berperan sebagai pelanggan memiliki waktu terbatas

dan tidak dapat bekerja penuh waktu dengan tim pengembangan. Mereka
mungkin merasa bahwa menyediakan persyaratan sudah cukup sebagai
kontribusi dan mungkin enggan terlibat dalam proses pengujian.

30

61

media

UNIVERSITAS
DARMA
PERSADA

Deskripsi kasus uji untuk pemeriksaan dosis

31

62

media

UNIVERSITAS
DARMA
PERSADA

Otomatisasi pengujian

Otomatisasi pengujian berarti bahwa pengujian ditulis sebagai

komponen yang dapat dieksekusi sebelum tugas diimplementasikan
Komponen pengujian ini harus berdiri sendiri, harus mensimulasikan pengiriman

input yang akan diuji dan harus memeriksa apakah hasilnya memenuhi
spesifikasi output. Kerangka kerja pengujian otomatis (misalnya Junit ) adalah
sistem yang memudahkan penulisan pengujian yang dapat dieksekusi dan
mengirimkan serangkaian pengujian untuk dieksekusi.

Karena pengujian dilakukan secara otomatis, selalu ada serangkaian

pengujian yang dapat dilakukan dengan cepat dan mudah
Kapan pun suatu fungsi ditambahkan ke sistem, pengujian dapat dijalankan dan

masalah yang ditimbulkan kode baru dapat segera diketahui.

32

63

media

UNIVERSITAS
DARMA
PERSADA

Kesulitan pengujian XP

Programmer lebih suka pemrograman daripada pengujian dan terkadang

mereka mengambil jalan pintas saat menulis pengujian. Misalnya, mereka
mungkin menulis pengujian yang tidak lengkap yang tidak memeriksa
semua kemungkinan pengecualian yang mungkin terjadi.

Beberapa pengujian bisa sangat sulit untuk ditulis secara bertahap.

Misalnya, dalam antarmuka pengguna yang kompleks, sering kali sulit
untuk menulis pengujian unit untuk kode yang mengimplementasikan
'logika tampilan' dan alur kerja antarlayar.

Sulit untuk menilai kelengkapan serangkaian pengujian. Meskipun Anda

mungkin memiliki banyak pengujian sistem, rangkaian pengujian Anda
mungkin tidak memberikan cakupan yang lengkap.

33

64

media

UNIVERSITAS
DARMA
PERSADA

Pemrograman berpasangan

Dalam XP, programmer bekerja berpasangan, duduk bersama untuk

mengembangkan kode.

Ini membantu mengembangkan kepemilikan kode bersama dan menyebarkan

pengetahuan ke seluruh tim.

Ini berfungsi sebagai proses peninjauan informal karena setiap baris kode dilihat

oleh lebih dari 1 orang.

Ini mendorong refactoring karena seluruh tim dapat memperoleh manfaat darinya.
Pengukuran menunjukkan bahwa produktivitas pengembangan dengan

pemrograman berpasangan serupa dengan dua orang yang bekerja secara mandiri.

34

65

media

UNIVERSITAS
DARMA
PERSADA

Pemrograman berpasangan

Dalam pemrograman berpasangan, programmer duduk bersama di

stasiun kerja yang sama untuk mengembangkan perangkat lunak.

Pasangan dibuat secara dinamis sehingga semua anggota tim bekerja

sama satu sama lain selama proses pengembangan.

Berbagi pengetahuan yang terjadi selama pemrograman berpasangan

sangat penting karena mengurangi risiko keseluruhan terhadap suatu
proyek saat anggota tim meninggalkannya.

Pemrograman berpasangan belum tentu tidak efisien dan terdapat bukti

bahwa pasangan yang bekerja bersama lebih efisien dibandingkan 2
programmer yang bekerja secara terpisah.

35

66

media

UNIVERSITAS
DARMA
PERSADA

Keuntungan dari pemrograman berpasangan

Ini mendukung gagasan kepemilikan dan tanggung jawab kolektif terhadap

sistem.
Individu tidak bertanggung jawab atas masalah yang terjadi pada kode.

Sebaliknya, tim memiliki tanggung jawab kolektif untuk menyelesaikan masalah
tersebut.

Ini bertindak sebagai proses peninjauan informal karena setiap baris kode

dilihat oleh setidaknya dua orang.

Ini membantu mendukung refactoring, yang merupakan proses perbaikan

perangkat lunak.
Bila pemrograman berpasangan dan kepemilikan kolektif digunakan, pihak lain

akan langsung mendapat manfaat dari pemfaktoran ulang tersebut sehingga
mereka cenderung mendukung proses tersebut.

36

67

media

UNIVERSITAS
DARMA
PERSADA

Manajemen proyek tangkas

Tanggung jawab utama manajer proyek perangkat lunak adalah

mengelola proyek sehingga perangkat lunak dikirimkan tepat waktu dan
sesuai anggaran yang direncanakan untuk proyek tersebut.

Pendekatan standar untuk manajemen proyek adalah berdasarkan

rencana. Manajer menyusun rencana untuk proyek yang menunjukkan
apa yang harus disampaikan, kapan harus disampaikan, dan siapa yang
akan bekerja pada pengembangan hasil akhir proyek.

Manajemen proyek Agile memerlukan pendekatan yang berbeda, yang

disesuaikan dengan pengembangan tambahan dan kekuatan khusus
metode Agile.

37

68

media

UNIVERSITAS
DARMA
PERSADA

kerumunan

Pendekatan Scrum merupakan metode agile umum tetapi fokusnya adalah

pada pengelolaan pengembangan berulang dan bukan pada praktik agile
spesifik.

Ada tiga fase dalam Scrum.

Tahap awal adalah tahap perencanaan garis besar di mana Anda menetapkan

tujuan umum proyek dan merancang arsitektur perangkat lunak.

Ini diikuti oleh serangkaian siklus sprint, di mana setiap siklus mengembangkan

peningkatan sistem.

Fase penutupan proyek merangkum proyek, melengkapi dokumentasi yang

diperlukan seperti bingkai bantuan sistem dan manual pengguna, serta menilai
pelajaran yang dipelajari dari proyek.

38

69

media

UNIVERSITAS
DARMA
PERSADA

Proses Scrum

39

70

media

UNIVERSITAS
DARMA
PERSADA

Siklus Sprint

Sprint memiliki durasi yang tetap, biasanya 2–4 minggu. Sprint

berhubungan dengan pengembangan rilis sistem di XP.

Titik awal untuk perencanaan adalah backlog produk, yaitu

daftar pekerjaan yang harus dilakukan pada proyek.

Fase pemilihan melibatkan seluruh tim proyek yang bekerja

dengan pelanggan untuk memilih fitur dan fungsionalitas yang
akan dikembangkan selama sprint.

40

71

media

UNIVERSITAS
DARMA
PERSADA

Siklus Sprint

Setelah disetujui, tim akan mengorganisasikan diri mereka untuk

mengembangkan perangkat lunak. Selama tahap ini, tim dipisahkan dari
pelanggan dan organisasi, dengan semua komunikasi disalurkan melalui
apa yang disebut 'Scrum master'.

Peran Scrum master adalah untuk melindungi tim pengembangan dari

gangguan eksternal.

Di akhir sprint, pekerjaan yang dilakukan ditinjau dan dipresentasikan

kepada para pemangku kepentingan. Siklus sprint berikutnya pun
dimulai.

41

72

media

UNIVERSITAS
DARMA
PERSADA

Kerjasama Tim dalam Scrum

'Scrum master' adalah seorang fasilitator yang mengatur rapat

harian, melacak tumpukan pekerjaan yang harus diselesaikan,
mencatat keputusan, mengukur kemajuan terhadap tumpukan
pekerjaan tersebut dan berkomunikasi dengan pelanggan serta
manajemen di luar tim.

Seluruh tim menghadiri rapat harian singkat di mana semua

anggota tim berbagi informasi, menjelaskan kemajuan mereka
sejak rapat terakhir, masalah yang muncul, dan apa yang
direncanakan untuk hari berikutnya.
Artinya, setiap orang dalam tim tahu apa yang sedang terjadi dan, jika

timbul masalah, dapat merencanakan ulang pekerjaan jangka pendek
untuk mengatasinya.

42

73

media

UNIVERSITAS
DARMA
PERSADA

Manfaat Scrum

Produk dipecah menjadi serangkaian bagian yang dapat dikelola dan

dipahami.

Persyaratan yang tidak stabil tidak menghambat kemajuan.
Seluruh tim memiliki visibilitas terhadap segala hal dan akibatnya

komunikasi tim pun meningkat.

Pelanggan melihat pengiriman peningkatan tepat waktu dan

memperoleh umpan balik tentang cara kerja produk.

Kepercayaan antara pelanggan dan pengembang terjalin dan budaya

positif tercipta di mana setiap orang mengharapkan proyek berhasil.

43

74

media

UNIVERSITAS
DARMA
PERSADA

Skala metode agile

Metode Agile terbukti berhasil untuk proyek berskala kecil dan

menengah yang dapat dikembangkan oleh tim kecil yang bekerja sama.

Kadang-kadang dikatakan bahwa keberhasilan metode ini terjadi karena

peningkatan komunikasi yang mungkin terjadi ketika semua orang
bekerja sama.

Peningkatan metode agile melibatkan perubahan metode tersebut agar

dapat menangani proyek yang lebih besar dan berjangka panjang, yang
melibatkan banyak tim pengembangan, mungkin bekerja di lokasi
berbeda.

44

75

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan sistem besar

Sistem besar biasanya merupakan kumpulan sistem yang terpisah dan saling berkomunikasi,
di mana masing-masing sistem dikembangkan oleh tim yang berbeda. Sering kali, tim-tim ini
bekerja di tempat yang berbeda, terkadang di zona waktu yang berbeda.

Sistem besar adalah ' sistem brownfield ', artinya sistem tersebut mencakup dan
berinteraksi dengan sejumlah sistem yang sudah ada. Banyak persyaratan sistem yang
berkaitan dengan interaksi ini dan karenanya tidak benar-benar memungkinkan fleksibilitas
dan pengembangan bertahap.

Bila beberapa sistem diintegrasikan untuk membuat sebuah sistem, sebagian besar
pengembangannya difokuskan pada konfigurasi sistem, bukan pengembangan kode asli.

45

76

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan sistem besar

Sistem besar dan proses pengembangannya sering kali dibatasi

oleh aturan dan regulasi eksternal yang membatasi cara
pengembangannya.

Sistem yang besar memiliki waktu pengadaan dan pengembangan

yang lama. Sulit untuk mempertahankan tim yang koheren yang
memahami sistem selama periode tersebut karena, mau tidak mau,
orang-orang akan pindah ke pekerjaan dan proyek lain.

Sistem yang besar biasanya memiliki sekumpulan pemangku

kepentingan yang beragam. Hampir mustahil untuk melibatkan
semua pemangku kepentingan yang berbeda ini dalam proses
pengembangan.

46

77

media

UNIVERSITAS
DARMA
PERSADA

Peningkatan dan perluasan skala

'Peningkatan skala' berkaitan dengan penggunaan metode tangkas

untuk mengembangkan sistem perangkat lunak besar yang tidak dapat
dikembangkan oleh tim kecil.

'Scaling out' berkaitan dengan bagaimana metode agile dapat

diperkenalkan di seluruh organisasi besar dengan pengalaman
pengembangan perangkat lunak selama bertahun-tahun.

Saat menskalakan metode agile, penting untuk mempertahankan dasar-

dasar agile
Perencanaan yang fleksibel, rilis sistem yang sering, integrasi berkelanjutan,

pengembangan berbasis pengujian, dan komunikasi tim yang baik.

47

78

media

UNIVERSITAS
DARMA
PERSADA

Peningkatan ke sistem yang besar

Untuk pengembangan sistem yang besar, tidak mungkin untuk hanya fokus pada kode
sistem. Anda perlu melakukan lebih banyak desain awal dan dokumentasi sistem.

Mekanisme komunikasi antar-tim harus dirancang dan digunakan. Hal ini harus melibatkan
konferensi telepon dan video secara berkala antara anggota tim dan rapat elektronik singkat
yang sering dilakukan di mana tim saling memberi informasi tentang kemajuan.

Integrasi berkelanjutan, di mana seluruh sistem dibangun setiap kali pengembang
memeriksa perubahan, secara praktis tidak mungkin dilakukan. Namun, penting untuk
mempertahankan pembangunan sistem yang sering dan rilis sistem secara berkala.

48

79

media

UNIVERSITAS
DARMA
PERSADA

Melakukan scaling ke perusahaan besar

Manajer proyek yang tidak memiliki pengalaman dengan metode
agile mungkin enggan menerima risiko pendekatan baru.

Organisasi besar sering kali memiliki prosedur dan standar mutu yang
diharapkan diikuti oleh semua proyek dan, karena sifat birokrasinya,
prosedur dan standar ini cenderung tidak sesuai dengan metode
tangkas.

Metode Agile tampaknya bekerja paling baik ketika anggota tim
memiliki tingkat keterampilan yang relatif tinggi. Namun, dalam
organisasi besar, kemungkinan besar terdapat berbagai keterampilan
dan kemampuan.

Mungkin ada resistensi budaya terhadap metode tangkas, terutama
di organisasi yang memiliki sejarah panjang dalam menggunakan
proses rekayasa sistem konvensional.

49

80

media

UNIVERSITAS
DARMA
PERSADA

Poin-poin penting

Kekuatan khusus dari pemrograman ekstrem adalah pengembangan

pengujian otomatis sebelum fitur program dibuat. Semua pengujian
harus berhasil dijalankan saat suatu penambahan diintegrasikan ke
dalam suatu sistem.

Metode Scrum adalah metode tangkas yang menyediakan kerangka

kerja manajemen proyek. Metode ini berpusat pada serangkaian sprint,
yang merupakan periode waktu tetap saat peningkatan sistem
dikembangkan.

Penskalaan metode agile untuk sistem besar itu sulit. Sistem besar

memerlukan desain awal dan beberapa dokumentasi.

50

media

UNIVERSITAS
DARMA
PERSADA

Pengembangan Perangkat Lunak Agile

Show answer

Auto Play

Slide 1 / 80

SLIDE