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. 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 diaplikasian pada software development proyek secara efektif.
Macam-macam Agile Modeling :
- Pengembangan perangkat lunak adaptif (Adaptive Software Development [ASD])
- Pengembangan oleh banyak orang atau scrum
- Metode pengembangan sistem dinamik (Dynamic Systems Development Method [DSDM])
- Crystal
- Pengembangan Drive fitur (Feature Drive Development [FDD])
- Pengembangan perangkat lunak yang ringkas (Lean Software Development [LSD])
- Permodelan cepat (Agile Modeling [AM])
- Proses cepat terpadu (Agile Unified Process [AUP])
Adaptive Software Development (ASD) diajukan oleh Jim Highsmith sebagai teknik untuk membangun software dan sistem yang kompleks. Filosofi yang mendasari Adaptive Software Development (ASD) adalah kolaborasi manusia dan tim yang mengatur diri sendiri.
System kerja adaptive software development : Collaboration dan Learning
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)
- 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.
- 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.
Dynamic Systems Development Method (DSDM)
Pada Dynamic System Development Method menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan. Metode ini akan membangun software dengan cepat: 80% dari proyek diserahkan dalam 20% dari waktu total untuk menyerahkan proyek secara utuh. Dynamic System Development Method dapat dikombinasikan dengan Extreme Programmning menghasilkan kombinasi model proses yang mengikuti Dynamic System Development Method dan praktek yang sejalan dengan Extreme Programming.
Dynamic System Development Method memiliki beberapa aaktifitas seperti :
- Feasibility study : siapkan requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM
- Business Study: susun kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi
- Functional model iteration : hasilkan incremental prototype yang perlihatkan fungsi software ke klien untuk dapatkan kebutuhan lebih jelas dan konfirmasi
- Design and Build Iteration : cek ulang prototype yang dibangun untuk pastikan bahwa prototype dibangun dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja
- Implementation: menempatkan software pada lingkungan sebenar sekalipun belum lengkap, atau masih ada perubahan.
Scrum Methodology
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 dan XP adalah menekankan metodologi yang berbeda sepasang ujian dulu 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. XP lebih lanjut tentang pengembang membantu menyelesaikan pekerjaan secepat dan maintainably mungkin
Scrum memiliki prinsip yaitu:
- Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
- Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
- Proses menghasilkan beberapa software increment
- Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
- Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
- Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Scrum memiliki aktifitas yang meliputi :
- Backlog
Backlog adalah daftar kebutuhan yang jadi prioritas klien, dan daftar yang dibuat dapat bertambah - Sprints
Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya 30hari). Selama proses ini berlangsung backlog tidak ada penambahan. - Scrum Meetings
Aktifitas Scrum Meeting merupakan pertemuan yang rutin dilakukan perhari untuk evaluasi apa yang dikerjakan, hambatan yang ada, dan target penyelesaian untuk bahan meeting selanjutnya. - Demo
Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan dievaluasi oleh klien.
Crystal
Crystal diperkenalkan oleh Cockburn dan Highsmith, Development yang tidak pada jalur kritis, dapat menghabikan waktu lebih, mereka yang memperbaiki produk atau membantu oaring yang ada di jalur proyek kritis.
Karakteristik Crystal :
- Secara aktual sebuah model proses keluarga yang memungkinkan manuver berdasar karakteristik permasalahan
- Menyarankan penggunaan workshop refleksi untuk review kebiasaan kerja tim
- Selalu murah dan cepat berkomunikasi secara langsung.
- Proyek berkembang sesuai ukuran team menjadi lebih atau luas dan metologi akan menjadi lebih tinggi.
Feature Driven Development (FDD)
Feature Driven Development merupakan model proses praktis untuk keahlian proses software engineering, Feature merupakan sebuah fungsi yang berharga dimana dapat dilaksanakan.
Keuntungan dari metode feature :
- User dapat menggambarkan dengan mudah bentuk system.
- Dapat di organisasikan atau diatur ke dallamkelompok bisnis yang hirarki.
- Desain dank ode lebih mudah diperiksa secara efektif.
- Merancang proyek, penjadwalan dan jalur diarahkan oleh feature.
Tidak ada komentar:
Posting Komentar