

metode Agile
Presentation
•
Other
•
University
•
Hard
Mira Febriana Sesunan
FREE Resource
50 Slides • 30 Questions
1
UNIVERSITAS
DARMA
PERSADA
Pengembangan Perangkat Lunak Agile
2
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
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
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
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
TRUE
FALSE
7
Multiple Choice
Apa yang dimaksud dengan metode agile dalam pengembangan perangkat lunak?
Metode pengembangan perangkat lunak yang menggunakan siklus pengembangan yang singkat
Metode pengembangan perangkat lunak yang menggunakan waterfall
Metode pengembangan perangkat lunak yang menggunakan scrum
Metode pengembangan perangkat lunak yang menggunakan iterative
8
Multiple Choice
Prinsip Agile menekankan pentingnya dokumentasi lengkap
TRUE
FALSE
9
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
TRUE
FALSE
11
Multiple Choice
Agile lebih fleksibel dari pada metode tradisional
TRUE
FALSE
12
Multiple Choice
Apa yang dimaksud dengan backlog dalam metode scrum?
Daftar pekerjaan yang perlu dilakukan dalam sebuah proyek atau pengembangan produk
Iterasi atau fase kerja yang diperlukan untuk menyelesaikan list pada backlog
Meeting rutin yang dilakukan setiap hari untuk mengevaluasi pekerjaan yang sedang dikerjakan
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?
Rencana proyek yang sudah selesai
Daftar semua kebutuhan sistem yang diperlukan untuk mencapai produk akhir
Daftar semua tugas yang telah diselesaikan dalam proyek
Laporan evaluasi pengembangan sistem
14
Multiple Choice
Apa yang dimaksud dengan "Sprint" dalam Metode Scrum?
Iterasi atau fase kerja untuk menyelesaikan pekerjaan dalam backlog
Pertemuan rutin setiap hari untuk evaluasi
Subset pekerjaan dalam backlog
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?
Scrum Team
Scrum Master
Product Owner (PO)
Increment
16
Multiple Choice
Apa tujuan dari Pertemuan fase Sprint dalam Scrum?
Untuk mengembangkan sistem melalui sprint
Untuk merencanakan sprint dan membahas produk inkremental
untuk membahas incremental produk yang digunakan selama sprint.
Untuk merefleksikan kinerja tim dan merencanakan tindakan perbaikan
17
Multiple Choice
Berapa lama satu sprint biasanya direncanakan dalam fase pengembangan (Fase Game) Metode Scrum?
15 menit
Satu hari
Satu minggu hingga satu bulan
Tidak ada waktu yang ditentukan
18
Multiple Choice
Apa yang dimaksud dengan adaptabilitas dan fleksibilitas dalam Scrum?
Kemampuan tim untuk menghadapi perubahan kebutuhan atau prioritas dengan cepat
Kemampuan tim untuk melakukan pekerjaan dengan cepat
Kemampuan tim untuk menyelesaikan semua pekerjaan dalam satu sprint
Kemampuan tim untuk mengikuti rencana tanpa perubahan
19
Multiple Choice
Bisnis digital tidak memerlukan pendekatan Agile
TRUE
FALSE
20
Multiple Choice
Kapan metode Scrum paling sesuai digunakan?
Untuk proyek dengan persyarahan yang sudah diketahui secara jelas dan tidak berubah
Untuk proyek dengan tingkat ketidakpastian yang tinggi atau ketika perubahan kebutuhan sering terjadi
Hanya untuk proyek IT
Hanya untuk proyek besar.
21
Multiple Choice
Apa yang dilakukan tim selama Retrospective Sprint ?
Mengevaluasi proses kerja dan mencari cara untuk meningkatkan efisiensi dan kualitas
Menampilkan hasil inkremen produk kepada pemangku kepentingan
Memilih item-item dari Product Backlog
Melakukan diskusi harian dalam Daily Scrum Meeting
22
Multiple Choice
Agile menekankan pentingnya individu dan interaksi
TRUE
FALSE
23
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
TRUE
FALSE
25
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
TRUE
FALSE
27
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
TRUE
FALSE
29
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
TRUE
FALSE
31
UNIVERSITAS
DARMA
PERSADA
Spesifikasi yang digerakkan oleh rencana dan
tangkas
11
32
Multiple Choice
Agile adalah pendekatan manajemen proyek yang kaku dan tidak fleksibel.
TRUE
FALSE
33
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.
TRUE
FALSE
35
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.
TRUE
FALSE
37
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.
TRUE
FALSE
39
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.
TRUE
FALSE
41
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.
TRUE
FALSE
43
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.
TRUE
FALSE
45
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.
TRUE
FALSE
47
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.
TRUE
FALSE
49
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.
TRUE
FALSE
51
UNIVERSITAS
DARMA
PERSADA
Sebuah cerita 'meresepkan obat'
21
52
UNIVERSITAS
DARMA
PERSADA
Contoh kartu tugas untuk meresepkan obat
22
53
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
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
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
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
UNIVERSITAS
DARMA
PERSADA
MFS
27
58
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
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
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
UNIVERSITAS
DARMA
PERSADA
Deskripsi kasus uji untuk pemeriksaan dosis
31
62
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
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
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
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
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
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
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
UNIVERSITAS
DARMA
PERSADA
Proses Scrum
39
70
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
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
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
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
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
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
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
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
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
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
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
UNIVERSITAS
DARMA
PERSADA
Pengembangan Perangkat Lunak Agile
Show answer
Auto Play
Slide 1 / 80
SLIDE
Similar Resources on Wayground
69 questions
Mengenal Pendekatan Deep Learning dalam Pembelajaran
Presentation
•
Professional Development
76 questions
untitled
Presentation
•
KG - University
72 questions
NUMERASI
Presentation
•
Professional Development
73 questions
CSA4113 TOPIK 2
Presentation
•
KG - University
75 questions
PRESENTASI INDUKSI ELEKTROMAGNETIK
Presentation
•
12th Grade
70 questions
Simulasi Bencana
Presentation
•
Professional Development
70 questions
Hukum Perbankan
Presentation
•
University
80 questions
Module 2: Leadership Skills in Project Management
Presentation
•
Professional Development
Popular Resources on Wayground
20 questions
"What is the question asking??" Grades 3-5
Quiz
•
1st - 5th Grade
20 questions
“What is the question asking??” Grades 6-8
Quiz
•
6th - 8th Grade
10 questions
Fire Safety Quiz
Quiz
•
12th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
34 questions
STAAR Review 6th - 8th grade Reading Part 1
Quiz
•
6th - 8th Grade
20 questions
“What is the question asking??” English I-II
Quiz
•
9th - 12th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
47 questions
8th Grade Reading STAAR Ultimate Review!
Quiz
•
8th Grade
Discover more resources for Other
15 questions
LGBTQ Trivia
Quiz
•
University
36 questions
8th Grade US History STAAR Review
Quiz
•
KG - University
25 questions
5th Grade Science STAAR Review
Quiz
•
KG - University
16 questions
Parallel, Perpendicular, and Intersecting Lines
Quiz
•
KG - Professional Dev...
20 questions
5_Review_TEACHER
Quiz
•
University
10 questions
Applications of Quadratic Functions
Quiz
•
10th Grade - University
10 questions
Add & Subtract Mixed Numbers with Like Denominators
Quiz
•
KG - University
20 questions
Block Buster Movies
Quiz
•
10th Grade - Professi...