Agile Software Development Methods
Ada beberapa Agile Software Development Methods yang tersedia. Setiap metode itu
memiliki pendekatan yang unik, mereka berbagi nilai dan visi yang dijelaskan oleh agile
manifesto. Mereka semua melibatkan komunikasi permanen, perencanaa, percobaan dan
integrase. Mereka membantu mengembangkan software yang baik, tapi yang mendefinisikan
agile methods adalah bahwa mereka mendorong kolaborasi dan membuat keputusan umum
yang baik dan cepat.
Beberapa contoh Agile Software Development Methods yaitu:
1. Adaptive Software Development (ASD)
2. Feature Driven Developmen (FDD)
3. Crystal Clear
4. Dynamic Software Development Method (DSDM)
5. Rapid Application Development (RAD)
6. Scrum
7. Extreme Programming (XP)
8. Rational Unity Process (RUP)
Contoh agile methods yang didasarkan pada nilai-nilai dan prinsip-prinsip yang
muncul:
1. Extreme Programming (XP)
2. Scrum
3. Agile Unified Process (AUP)
4. Agile Modeling
5. Essential Unified Process (EssUP)
6. Open Unified Process (OpenUP)
7. Dynamic System Development Method (DSDM)
8. Feature Driven Development (FDD)
9. Crystal
Metode utama agile development :
1. Crystal Methodologies : sebuah keluarga metode untuk tim dengan berbagai
ukuran: Clear, yellow, orange, red,blue. Paling digunakan dalam agile methods
adalah Crystal clear, berkonsentrasi dalam komunikasi diantara tim kecil yang
mengembangkan perangkat lunak non-kritik. Development ini memiliki tujuh
karaktersitik: seberapa sering pengiriman (frequent delivery), perbaikan reflektif
(reflextive improvement), komunikasi yang bersifat osmotic (osmotic
communicaition), keamanan perseorangan (personal safety), konsentrasi
(concentration), kemudahan akses untuk user handal dan persyaratan untuk teknis
lingkungan (easy access to expert users and requirements for technical
environment) .
2. Dynamic Software Development Method (DSDM) : dalam tahap ini proyek dibagi
dalam 3 tahap ; 1. Pra-project ; 2. Project life cycle; 3. Post-project. DSDM
didasarkan pada 9 prinsip :
1. Keterlibatan user (users involvement)
2. Memberdayakan tim proyek (emporwering the project team)
3. Seberapa sering pengiriman (frequent delivery)
4. Mendekati kebutuhan bisnis (approaching current needs of the business)
5. Pembangunan berulang dan tambahan (iterative and incremental
development)
6. Mengizinkan membalikkan perubahan (allows reversing the changes)
7. Membuat tujuan tinggi sebelum proyek dimulai (high end goal is
established before project starts)
8. Percobaan selama proses alur hidup (testing during the life cycle)
9. Komunikasi yang efisien (efficien communication)
3. Feature-driven Development : menggabungkan model driven development dengan
agile development,menekanan model objek awal, pembagian divisi kerja menjadi
fitur dan desain berulang setiap fitur. Dikatakan, bagus digunakan untuk critical
system development.
4. Scrum adalah metode pengulangan dan tambahan yang bertujuan untuk membantu
pengembangan tim untuk berkonstentrasi pada mencapai tujuan dan
meminimalisasi kerja yang kurang penting. Tujuan scrum adalah untuk menjaga
kesederhanaan di dalam bisnis yang rumit.
5. Extreme programming(XP) adalah model development modern, terinspirasi dari
RUP. Pengembangan program tidak berarti hirarki tetapi kolaborasi dengan tim.
XP mempertimbangkan pengembangan program berarti pertama-tama menulis
semua program. XP ini cocok untuk proyek-proyek dengan syarat dinamis atau
untuk proyek yang tidak bisa menjelaskan dengan baik dari awal. Disini harus ada
chemisty antara klient dan programmers.
XP menjelaskan empat aktifitas pokok:
1. Coding : aktivitas utama
2. Testing : setiap model harus diuji
3. Listening : programmer harus berkomunikasi dengan klient untuk
memahami apa kebutuhan klient
4. Design : membangun arsitektur yang benar tentang system akan
memberi keefisienan system dan mengurangi ketergantungan yang tidak perlu
Metode diatas didasarkan pada 12 prinsip yang disebut Agile Manifesto:
1. Kepuasan klien, melalui pengiriman cepat dari software yang dapat
digunakan.
2. Memenuhi spesifikasi, meskipun jika itu terjadi diakhir dalam pengembangan.
3. Frekuensi pengiriman software yang dapat digunakan (mingguan).
4. Software yang dapat digunakan adalah ukuran utama kemajua progress.
5. Pembangunan berkelanjutan, mampu menjaga ritme yang stabil
6. Kerja sama antara developer dan klient
7. Kerja sama face-to-face adalah cara terbaik untuk berkomunikasi
8. Projek dibangun oleh orang-orang bermotivasi dan kredibel
9. Kesederhanaan
10. Tim yang terorganisir secara individual
11. Adaptasi dengan perubahan keadaan
12. Perhatian permanen untuk teknik yang unggul dan design yang baik