Professional Documents
Culture Documents
Oleh :
1.
2.
3.
4.
5.
6.
NIM
Nama
1312500380
1312500406
1312500422
1312500661
1312500794
1312501065
SEMESTER GASAL
2015/2016
Definisi
Agile Development Methods adalah sekelompok metodologi pengembangan
perangkat lunak yang didasarkan pada prinsip-prinsip yang sama atau
pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun. Agile development
methods merupakan salah satu dari Metodologi pengembangan perangkat lunak
yang digunakan dalam pengembangan perangkat lunak.
Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada.
Sehingga saat membuat perangkat lunak dengan menggunakan agile development
methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang
dan klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan
dari tim seimbang.
Kelebihan
Beberapa kelebihan dari agile diantaranya:
Kekurangan
Sedangkan kekurangan dari agile antara lain
Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
Kontra :
Cara kerja
Sistem Analis, membuat arsitektur sistem dari perangkat lunak yang akan
dibuat.
Developer, merupakan titik vital dalam tim, tanpa developer perangkat lunak
tidak akan bisa dibuat.
2.
Rincian Methods
1. Acceptance Test Driven Development (ATDD)
Acceptance Test-Driven Development (ATDD) adalah metode pengembangan perangkat
lunak yang membawa orang-orang teknis dan non-teknis bersama-sama untuk
menciptakan produk bernilai tinggi bekerja sama dengan pelanggan. Hal ini terkait dengan
Test-Driven Development (TDD) tapi sementara TDD adalah kode-sentris dan berfokus
pada bagian perangkat lunak (bagaimana kode memecahkan masalah) ATDD dapat
digambarkan sebagai luar-dalam nya dengan fokus pada perilaku perangkat lunak.
Cara kerja
Tes penerimaan driven, atau ATDD, adalah praktek kolaboratif dimana
pengembang aplikasi, pengguna perangkat lunak, dan analis bisnis menentukan
kriteria penerimaan otomatis sangat awal dalam proses pengembangan aplikasi.
Mereka kemudian menggunakan kriteria penerimaan untuk memandu
pembangunan selanjutnya.
Keuntungan
ATDD berfungsi meningkatkan pemahaman tentang persyaratan karena
termasuk prodak dari interaksi langsung antara client dan developers.
Menjelaskan persyaratan dan menjaga developers tetap fokus pada
keinginan client.
menghilangkan keambiguan jika perilaku tertentu menyebabkan terlalu
banyak bug (perilaku melanggar persyaratan atau tes atau keduanya) atau
perubahan permintaan (Perilaku yang dapat diterima dalam lingkup
persyaratan dan penerimaan tes tapi akhirnya tidak diinginkan).
Pengiriman software sekarang tergantung pada semua tes penerimaan
yang dilewati dan itu menyatakan bahwa project itu telah selesai.
Kelemahan
interaksi klien yang dibutuhkan untuk membuktikan kesulitan karena
adanya kendala waktu.
Bekerja lebih untuk pengembangan jika test terotomatis.
Kemajuan proyek mungkin akan lebih lambat karena upaya tambahan
2. Metodologi Extreme Programming (XP)
Secara umum Extreme Programming (XP) dapat dijabarkan sebagai sebuah
pendekatan pengembangan perangkat lunak yang mencoba meningkatkan
efisiensi dan fleksibilitas dari sebuah proyek pengembangan perangkat lunak
dengan mengkombinasikan berbagai ide simpel/sederhana tanpa mengurangi
kualitas software yang akan dibagun. XP dikembangkan oleh Beck, Cunningham,
dan Jeffries dan ini merupakan lightweight discipline pengembangan perangkat
lunak berdasarkan empat core value.
Cara kerja
Planning
Design
XP menggunakan CRC card, untuk mengenali dan mengatur object
oriented class yang sesuai dengan software increment.
Coding
Sebelum membuat code, lebih baik membuat unit test tiap story
untuk dimasukkan dalam software increment. XP menyarankan agar
dua orang bekerja bersama pada satu komputer workstation untuk
membuat code dari satu story (pair programming), untuk
menyediakan real time problem solving dan jaminan real time
quality. Setelah pair programming selesai, code diintegrasikan
dengan kerja laiinnya (continuous integration).
Testing
Unit test yang telah dibuat harus diimplementasikan menggunakan
suatu framework dan diatur ke dalam universal testing suite, integrasi
dan validasi sistem dapat dilakukan setiap hari. Customer test
(acceptance test) dilakukan oleh customer dan fokus pada
Kekurangan
Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan
juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
XP tidak
memiliki
dokumentasi
formal
yang
dibuat
selama
3. Agile Modeling
Agile Model adalah suatu metode konvensional untuk membangun berbagai jenis
perangkat lunak dan berbagai macam tipe proyek pengembangan perangkat lunak,
yang dapat melakukan pengiriman atau penyampaian hasil dari implementasi sistem
melalui perangkat lunak dengan cepat.
Cara Kerja
Perencanaan
Requirements analysis
Design
Coding
Testing
Dokumentasi
Kelebihan
Kelemahan
4. RUP
RUP singkatan dari Rational Unified Process, adalah suatu kerangka kerja proses
pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi
dari IBM sejak 2003. RUP bukanlah suatu proses tunggal dengan aturan yang konkrit,
melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk
disesuaikan oleh organisasi pengembang dan tim proyek perangkat lunak yang
akan memilih elemen proses sesuai dengan kebutuhan mereka.
Cara Kerja
Implementasi (implementation)
Pengujian (testing)
Keuntungan
yang
terjadi
pada
software
selama
proses
pengembangannya.
Kekurangan
5. SCRUM
Pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an, dan
dikembangkan selanjutnya dilakukan oleh Schwaber dan Beedle. Pada dasarnya
Scrum merupakan salah satu komponen dari metodologi pengembangan Agile
mengenai pertemuan harian untuk membahas kemajuan sedangkan XP adalah
menekankan metodologi yang berbeda yaitu ujian, pemrograman dan
pembangunan. Scrum menguraikan proses untuk mengidentifikasi dan
katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja
dengan berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan
yang bekerja menggunakan rilis iterative dan memiliki tujuan utama untuk
mendapatkan perkiraan berapa lama akan pembangunan.
Cara kerja
First meeting
o
Proses scrum diawli dengan pebuatan tujuan yang akan dicapai dan product
backlog.
Product backlog dikuantisasi waktu dengan satuan hari (antara 1-20 hari)
Product backlog merupakan ombinasi antara story-based work (pekerjaan
yang berbasis use case/product feature) dan task-based work misalnya
"Tambahkan
validasi
pada
semua
form"
Product backlog yang berisi list yang diprioritaskan dari fitur-fitur atau
perubahan yang akan ada pada produk.
Menentukan sprint goal yaitu tujuan yang ingin dicapai pada scrum sprint
berikutnya
(30
hari
kedepan).
Membuat sprint backlog yaitu list dari pekerjaan yang akan dilakukan selama
sprint.
Sprint backlog merupakan bagian produck backlog yang didetailkan.
Sprint backlog dikuantisasi waktu berdasarkan jam (bukan hari yaitu antara 116).
Sprint backlog harus tranparan untuk semua orang dalam tim
Meeting
yang
tidak
lebih
dari
jam
saja.
Dengan 4 jam pertama adalah waktu yang digunakan untuk Product Owner
menjelaskan atau presentasi tentang prioritas dari product backlog.
Kemudian tanya jawab dari tim tetang isi, maksud, tujuan dari item yang ada
di product backlog.
o
Yang boleh bicara dalam tim ini adalah scrum master dan anggota tim (pigs)
Orang lain yang bekepentingan (chickens) dapat ikut dalam tim tetapi tidak
boleh berkomunikasi (berbicara)
Apa yang akan dikerjakan pada esok hari (24 jam mendatang)?
Kelebihan
Kelemahan
mengembangkan
perangkat
lunak
kohesif
lebih
cepat.
Kelebihan
kelemahan
7. Crystal Clear
Crystal clear merupakan methodology agile atau lightweight. Crystal
Clear diaplikasikan pada team dengan kapasitas 6-8 developer yang berkerja
pada SUATU system. Crystal Clear berfokus pada manusia bukan pada proses
atau arfifak. Crystal Clear merupakan anggota dari keluarga Kristal metodologi
seperti yang dijelaskan oleh Alistair Cockburn dan dianggap contoh dari
metodologi tangkas atau ringan. Crystal Clear dapat diterapkan untuk tim
hingga 6 atau 8 pengembang sistem yang sedang tidak kritis.
Cara kerja
Metodologi Crystal Clear berfokus pada efisiensi dan kelayak
hunian sebagai komponen keselamatan proyek atau berfokus pada
orang, bukan proses atau artefak.
Kelebihan
memungkinkan
manuver
berdasar
karakteristik
permasalahan.
Kekurangan
yang
mana
anggota
tim
dan
Chief
Architect
Plan by Features
Plan by feature mencakup perencanaan pada level yang lebih
tinggi, dimana feature set diatur sedemikian rupa sesuai dengan prioritas
dan hubungannya. Prioritas ditentukan sesuai dengan kebutuhan
customer yang disetujui oleh Chief Programmer. [6] Dalam fase ini,
Project Manager, Development Manager dan Chief Programmer
merencanakan urutan feature-feature yang akan dikerjakan dengan
demikian class owenership telah dilengkapi. Merencanakan mulai
pembuatan fitur fitur secara sequential menurut prioritasnya dan
ketergantungannya kepada fitur fitur lain.
ada
Proses
proses
build by
fitur ini dibuat. Setelah sebuah fitur telah selesai dibuat, maka fitur
Kelebihan
Metode FDD memiliki proses dengan tingkat hirarkis yang tinggi sehingga
setiap proses merupakan rangkaian tugas yang baku dan klien hanya
berperan dalam sebagian proses saja tidak dalam keseluruhan proses.
Kekurangan
Masalah class ownership dari feature dalam FDD. Dalam FDD dikenal
dengan class ownership, dimana tiap feature akan ditangani oleh tiap
Class owners. Masalah yang bisa terjadi adalah misal, apabila seorang
Class owners melakukan perubahan pada feature yang ditanganinya,
anggap sebagai A. Dan ternyata perubahan tersebut berpengaruh pada
feature B, yang dikerjakan oleh Class owners lainnya. Hal ini akan
berdampak buruk apabila ternyata feature B memerlukan feature A. Dan
pada akhirnya pengerjaan feature B harus menunggu kepastian feature
A terselesaikan. Jelas ini akan berdampak pada mundurnya jadual kerja
dari project.
Karena jumlah jam kerja dari FDD yang tidak terikat, maka kemungkinan
pada saat di tengah - tengah jadual, para developer bekerja tidak
optimal dan di akhir jadual akan bekerja extra keras.
9. Kanban
Kanban adalah sebuah sistem komunikasi yang mengontrol aliran aktifitas di area
produksi, dan berfungsi untuk menselaraskan level produksi agar sesuai dengan
permintaan pelanggan. Kanban hadir dalam bentuk sistem visual yang memungkinkan
semua orang melihat aliran aktifitas dan menyesuaikan level aktifitas tersebut sesuai
kebutuhan.
Cara Kerja
Penerapan 5S
5S adalah dasar dari Lean Thinking. Jadi, tidak bisa ditawar lagi, 5S harus
dilakukan sebelum Lean Thinking diterapkan. Tanpa penerapan 5S, Lean
Thinking tak dapat dilakukan dengan baik.
Kelebihan
Kualitas meningkat
Salah satu prinsip Kanban adalah tidak boleh membiarkan lini
produksi memproses sesuatu yang kualitasnya rendah. Prinsip ini, bila
digabungkan dengan rendahnya WIP, akan meminimalisir terciptanya
produk yang cacat atau yang berkualitas buruk. Makin baik kualitas
output, makin rendah biaya yang harus dikeluarkan untuk rework
atau pembuangan.
Penghematan
Tingkat inventori yang rendah akan memangkas biaya penanganan
inventori.
Keteraturan
Ketika kita dapat mengatur area produksi sesuai dengan kebutuhan,
kita juga dapat merencanakan tata letak area tersebut untuk
memaksimalkan produktifitas dan membuat segalanya lebih teratur.
Lebih dari itu, sistem Kanban juga dapat digunakan sebagai sarana
untuk mengungkapkan berbagai masalah yang terselubung di
lapangan. Dengan kata lain, Kanban adalah alat untuk mengungkapkan
potensi improvement.
Kelemahan
10. ASD
Adaptive software development (ASD) diajukan oleh Jim Highsmith sebagai
teknik untuk membangun software dan sistem yang kompleks. Filosofi yang
mendasari adaptive software development adalah kolaborasi manusia dan tim yang
mengatur diri sendiri.
Cara Kerja
Pada tahap Speculation, proyek dimulai dan adaptive cycle planning diselenggarakan.
Pada tahapan ini, didefinisikan visi dan misi pengguna terhadap sistem yang akan
dibuat, selanjutnya mendefinisikan project constraints, misalnya: waktu deliver. dan
selanjutnya mendefinisikan satu set dari requirements yang akan dikerjakan dalam
suatu cycle.
Pada tahap Collaboration, pada tahap ini diorganisasikan tim kerja untuk membangun
sistem. Direkomendasikan menggunakan model Joint Application Development
(JAD). Collaboration : orang-orang yang bermotivasi tinggi bekerja sama: saling
melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan komunikasikan
masalah untuk hasilkan penyelesaian yang efektif.
Pada tahap Learning, terdapat tiga aktifitas yaitu: pelanggan atau end-user
menyediakan feedback terhadap hasil incremental delivery, tim ASD melakukan
review terhadap komponen perangkat lunak untuk memperbaiki dan meningkatkan
kualitas perangkat lunak yang sedang dibuat. Learning: tim pembangun sering merasa
sudah tahu semua hal tentang proyek,
padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih
tentang proyek melalui 3 cara:
Focus group: klien dan pengguna memberi masukan terhadap software
Formal Technique Reviews: Tim ASD lengkap melakukan review
Postmortems: Tim ASD lakukan instrospeksi pada kinerja dan proses
Kelebihan
Kelemahan
tidak terukur,
perlu
untuk
pemantauan
proyek
intensif
dan
pengendalian
untuk
mempertahankan antara tim dalam dan tim luar untuk collaboartion selama
pengembangan komponen
Cara Kerja
o Feasibility study
o Business study prioritized requirements
o Functional model iteration
Risk analysis
Time-box plan
Kelemahan
dramatis
menyederhanakan
pengembangan.
Pendekatan
ini
Red, mengindikasikan test yang gagal, karena memang pada TDD tes akan
di setup ke gagal, untuk mengindikasikan bahwa kita baru membuat
sebuah skema testing dan belum membuat implementasi dari testingya
Kelebihan
Kekurangan
untuk scope software yang lebih besar, akan memerlukan lebih banyak
waktu
ika terjadi perubahan business logic, maka test case yang saling
berhubungan harus dimaintenance atau di pastikan sesuai dengan
business logic yang baru
Pengiriman Sering
Perbaikan reflektif
Keselamatan pribadi
Fokus
cepat,
belajar
cepat.
Kekuatan tim membantu dalam membuat keputusan antara tim dan memotivasi tim
Proyek sangat bergantung pada tim yang saling bekerjasama dan berkomitmen pada
proyek
Customer harus mengetahui apa yang mereka butuhkan dan tidak bisa mengubah
setelah mereka membuat sebuah keputusan
Kekurangan
Banyak perusahaan software development memakai agile development lifecycles dan
menggunakan prinsip lean
Xerox
Rally software
Patient keeper
Helphire
Corbis
16. Scrum-ban
Scrum ban adalah sebuah metodologi manajemen proyek tangkas. Juga disebut
sebagai scrumban atau scrum-larangan itu adalah campuran dari manajemen
proyek Scrum dan Kanban dengan aspek kedua metodologi disatukan. Scrum ban
dimaksudkan untuk lingkungan kerja yang tak terduga, di mana rencana dan
persyaratan mengubah sering. Menawarkan manajemen proyek yang fleksibel
bagi perusahaan yang
mendukung
dan
manufaktur produk
terfokus.
Metodology
Dalam scrum ban, kerja sama tim yang terorganisir dalam iterasi kecil dan
dimonitor dengan bantuan papan visual, mirip dengan scrum dan papan kanban.
Daftar Pustaka
1.
2.
http://johenry72gar.blogspot.com/2013/12/feature-driven-developmentfdd.html (FDD)
3.
https://agusarimbawa.files.wordpress.com/2013/02/fdd-agile-disadvantages.pdf.
(FDD)
4.
http://www.christianozora.com/2014/02/continuous-integration-ci.html (CI)
5.
www.slideshare.net/fahmihamdani148/agile-modeling-26526835(Agile
Modelling)
6.
7.
8.
https://keinatralala.wordpress.com/2013/12/13/metodologi-extremeprogramming/ (XP)
9.
https://ardhibeniyanto.wordpress.com/tag/scrum/ (Scrum)
10.
11.
http://www.kaizenconsulting.co.id/production-control-with-kanban.html
(KANBAN)
12.
http://shiftindonesia.com/kanban-hindarkan-penumpukan-inventoriciptakan-keteraturan-di-lini-produksi/ (KANBAN)
13.
14.
15.
http://dwixuty.blogspot.com/2013/10/kelebihan-dan-kekuranganmetode.html (DSDM)
16.
http://www.academia.edu/6786913/TestDriven_Development_TDD_dengan
_PHPUnit (TDD)
17.