Kata
Agile berarti bersifat cepat, ringan, bebas bergerak, waspada. Kata ini
digunakan sebagai kata yang mengambarkan konsep model proses yang berbeda dari
konsep model-model proses yang sudah ada. Konsep Agile Software Development
dicetuskan oleh Kent Beck dan 16 rekannya dengan menyatakan bahwa Agile
Software Development adalah cara membangun software dengan melakukannya dan
membantu orang lain membangunnya sekaligus.
Prinsip Agile Software Development
Salah
satu ciri dari Agile Software Development adalah tim yang tanggap terhadap
perubahan. Mengapa?
Karena perubahan adalah hal yang utama dalam pembangunan software: perubahan kebutuhan software, perubahan anggota tim, perubahan teknologi dll. Selain itu Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance. Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
Karena perubahan adalah hal yang utama dalam pembangunan software: perubahan kebutuhan software, perubahan anggota tim, perubahan teknologi dll. Selain itu Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance. Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
1. kepuasan
klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus
2. menerima
perubahan kebutuhan, sekalipun diakhir pengembangan.
3. Penyerahan
hasil/software dalam hitungan waktu dua minggu sampai dua bulan.
4. Bagian
bisnis dan pembangun kerja sama tiap hari selama proyek berlangsung
5. Membangun
proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan
yang mendukun dan yang dipercaya untuk
dapat menyelesaikan proyek.
6. Komunikasi
dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
7. Software
yang berfungsi adalah ukuran utama dari kemajuan proyek
8. dukungan
yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan
yang berkesinambungan
9. perhatian
kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
10. kesederhanaan
penting
11. arsitektur,
kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
12. secara
periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
Agile Process Model
Berikut
ini adalah model-model proses yang termasuk agile process model :
1. XP(Extreme
Programming)
a. dipublikasikan
oleh Kent Beck tahun 1999
b. Menggunakan
pendekatan berorientasi objek
c. Aktifitas
Perencanaan : pengumpulan user stories dari klien yang klien tetapkan prioritasnya.
Setiap story ditetapkan harga dan lama pembangunan, jika terlalu besar, story
dapat dipecah menjadi beberapa story yang lebih kecil. Periksa dan
pertimbangkan resiko
d. Aktifitas
Desain: berprinsip: sederhana.Memanfaatkan kartu CRC (Class Responsibility Collaborator)
untuk identifikasi dan mengatur class-class di konsep OO. Jika temui kesulitan,
prototype dibangun [ini namanya spike solution]. Lakukan refactoring, yaitu mengembangkan
desain dari program setelah ditulis
e. Aktifitas
Pengkodean: siapkan unit test sebelum pengkodean dipakai sebagai focus pemrogram
untuk membuat program. Pair programming dilakukan untuk real time program solving
dan real time quality assurance
f. Aktifitas
Pengujian: menggunakan unit test yang dipersiapkan sebelum pengkodean.
2 . ADAPTIVE
SOFTWARE DEVELOPMENT (ASD)
a. Diajukan
oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks.
b. Filosofi
yang mendasari adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
c. Aktifitas:
Speculation, Collaboration dan Learning
d. Aktifitas
Speculation : Adaptive cycle planning yaitu menggunakan informasi awal seperti misi
dari klien, batasan proyek dan kebutuhan dasar untuk definisikan rangkaian
software increment (produk software yang secara berkala diserahkan)
e. Aktifitas
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.
f. Aktifitas
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.
3. DYNAMIC
SYSTEMS DEVELOPMENT METHOD
a.
menyajikan kerangka kerja (framework)
untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui
penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan.
b. Membangun software dengan cepat: 80%
dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek
secara utuh.
c. Aktifitas: feasibility study : siapkan
requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM
d.
Aktifitas: Business Study: susun
kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan
identifikasi kebutuhan pemeliharaan untuk aplikasi
e. Aktifitas: Functional model iteration :
hasilkan incremental prototype yang perlihatkan fungsi software ke klien untuk
dapatkan kebutuhan lebih jelas dan konfirmasi
f.
Aktifitas: Design and Build Iteration :
cek ulang prototype yang dibangun untuk pastikan bahwa prototype dibangun
dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja
g.
Aktifitas: Implementation: menempatkan
software pada lingkungan sebenar sekalipun belum lengkap, atau masih ada
perubahan.
h.
DSDM dapat dikombinasikan dengan XP
menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang
sejalan dengan XP.
Sumber:
Umi Proboyekti : Bahan Ajar Rekayasa Perangkat Lunak "Agile Software Development"
Tidak ada komentar:
Posting Komentar