Models in Agile Methodology
Agile memiliki arti “able to move quickly and easily” yaitu bisa bergerak dengan mudah dan cepat. Poin penting dari Agile, dapat memberikan ruang besar untuk tim anda untuk mampu mengambil keputusan dengan cepat, berkualitas dan prediksi yang baik serta meningkatkan potensi dalam mengani setiap perubahan dengan baik.
Agile tidak hanya memiliki satu model, namun ada sekitar 8 model dalam metode Agile yang bisa perusahaan gunakan. Berikut ini jenis Agile untuk pengembangan perangkat lunak, yaitu:
- Extreme Programming (XP)
Proyek Pemrograman Extreme pertama dimulai pada tanggal 6 Maret 1996. Extreme Programming merupakan salah satu dari beberapa proses Agile yang popular, dikarenakan sudah terbukti sangat sukses di banyak perusahaan dari berbagai industri di seluruh dunia. Extreme Pemrograman menekankan Kerjasama tim. Pengelola, pelanggan dan pengembang semua mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif.
Extreme Pemrograman dapat meningkatkan proyek perangkat lunak dengan 5 cara penting, yaitu: Komunikasi (communication), Kesederhanaan (simplicity), Umpan Balik (feedback), Rasa Hormat (respect) dan Keberanian (courage).
- Adaptive Software Development (ASD)
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive Software Development (ASD) dengan kolaborasi manusia dan tim yang mengatur diri sendiri. Sistem kerja adaptive software development adalah Collaboration dan Learning.
- Collaboration: orang-orang yang bermotivasi tinggi dalam bekerja sama dengan saling melengkapi, rela membantu, kerja keras, trampil di bidangnya, dan komunikasikan masalah untuk menghasilkan penyelesaian yang efektif.
- Learning: pada proses ini membuat orang belajar lebih tentang proyek melalui 3 cara, yaitu: Klien dan pengguna memberi masukan terhadap software (focus group), Tim ASD lengkap melakukan review (formal technique reviews), Tim ASD lakukan instrospeksi pada kinerja dan proses (postmortems).
- Dynamic Systems Development Methods (DSDM)
Dynamic System Development Method menyajikan kerangka kerja (framework) untuk membangun serta memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan membangun software dengan cepat: 80% dariproyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh. Dynamic System Development Method dapat dikombinasikan dengan Extreme Programmning model proses yang mengikuti Dynamic System Development Method dan praktek yang sejalan dengan Extreme Programmning.
- Scrum Methodology
Scrum pertama kali diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990an selanjutnya dikembangkan oleh Schwaber dan Beedle. Scrum adalah metode agile yang berfokus pada pengembangan software kompleks. Pengerjaan software pada Scrum dibagi menjadi beberapa proses kecil yang disebut dengan sprints. Dalam satu sprint, biasanya Anda akan berfokus menyelesaikan satu fitur tertentu. Cara kerja scrum fokus dalam pengembangan aspek tertentu, alih-alih membebankan tim tersebut dengan beberapa tugas sekaligus. Scrum membuat satu tim fokus pada pekerjaan utama.
- Crystal
Crystal diperkenalkan oleh Cockburn dan Highsmith. Crystal Methodology adalah metode Agile yang lebih berfokus ke kondisi tim yang mengerjakan, alih-alih ke proses atau tools-nya. Mulai dari interaksi tim, komunikasi, feedback, dokumentasi, dan sebagainya. Dengan Crystal Methodology, pengembangan software akan lebih optimal karena disesuaikan dengan kondisi tim Anda.
- Feature Driven Development (FDD)
Feature Driven Development adalah metode Agile yang berfokus untuk menyelesaikan satu fitur. Setiap iterasi pada FDD biasanya hanya berlangsung selama 2 sampai 10 hari. Sedangkan iterasi pada Scrum umumnya dua sampai empat minggu lamanya. Maka dari itu, fitur pada FDD memiliki skala yang kecil dan lebih spesifik agar bisa diselesaikan tepat waktu.
- Agile Modeling (AM)
Agile Modeling adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan system software. Agile Modeling adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan software agar dapat di aplikasikan pada software development proyek secara efektif. Dalam situasi pembangunan software harus membangun sistem bisnis yang besar dan penting. Jangkauan dan kompleksitas sistem harus dimodelkan sehingga dapat dimengerti, masalah dapat dibagi menjadi lebih kecil dan kualitas dapat dijaga pada tiap langkah pembangunan software.
- Rational Unified Process
Rational Unified Process, adalah suatu kerangka kerja proses pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk menerapkan metode iterative (analisis, disain, implementasi dan pengujian) pada setiap komponen. Dengan menggunakan model ini, Rational Unified Process membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase, yaitu: Inception, Elabortion, Construction, dan Transition.
Referensi:
https://www.academia.edu/6836058/Agile_Methodology
https://www.e-zest.com/agile_software_development