MASIGNCLEAN101

Methods Agile Development | Metode Pengembangan Agile

Agile Development Methods
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 lunakyang 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.
Beberapa model dari agile development methods yaitu :
Model proses agile


·         Acceptance Test Driven Development (ATDD)

·         Agile Modeling
·         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 adalah kolaborasi manusia dan tim yang mengatur diri sendiri. Sistem kerja adaptive software development : collaboration dan learning. '
1.      Collaboration : orang-orang yang bermotivasi tinggi bekerja sama, saling melengkapi, rela membantu, kerja keras, terampil di bidangnya, dan komunikasikan masalah untuk menyelesikan masalah secara efektif.
2.      Learning: tim developer sering merasa sudah tahu semua hal tentang proyek, padahal tidak selamanya begitu. Karena itu proses ini membuat mereka belajar lebih tentang proyek melalui tiga cara:
3.      Fokus grup, klien dan pengguna memberi masukan terhadap perangkat lunak.
4.      Formal Technique Reviews, tim ASD lengkap melakukan review.
5.      Postmortems, tim ASD melakukan instrospeksi pada kinerja dan proses.
·        Agile Unified Process (AUP)
·        Continuous integration (CI)
·        Crystal Clear
·        Crystal Methods
·        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 prototip yang incremental dalam lingkungan yang terkondisikan. Metode ini bisa membuat pengerjaan software lebih cepat 80%.Hal -hal yang perlu diperhatikan jika menggunakan dynamic system development method:
1.      Feasibility study, siapkan requirement, dan batasan, lalu uji apakah sesuai gunakan proses DSDM.
2.      Business Study, susun kebutuhan fungsional dan informasi, tentukan arsitektur aplikasi dan identifikasi kebutuhan pemeliharaan untuk aplikasi.
3.      Functional model iteration, perlihatkan fungsi perangkat lunak ke klien untuk mendapatkan feedback
4.      Design and Build Iteration, cek ulang prototip yang dibangun dan pastikan bahwa prototip dibangun dengan cara yang memungkinkan fungsi tersebut benar-benar bekerja.
5.      Implementation: buat perangkat lunak sesuai protoip yang ada dan terus tambah fungsionalitasnya.
·         Extreme Programming (XP)
·         Feature Driven Development (FDD)
Feature driven development merupakan sebuah model pengembangan perangkat lunak yang berdasarkan pada fitur yang akan dibuat. Keuntungan dari metode feature driven development :
1.      User dapat menggambarkan dengan mudah bentuk sistem yang akan dibuat.
2.      Dapat diorganisasikan atau diatur ke dalam kelompok bisnis sesuai hirarki yang ada.
3.      Desain dan kode lebih mudah diperiksa secara efektif.
4.      Perancangan proyek, biaya pembuatan dan jadwal rilis ditentukan oleh fiturnya.
·         Graphical System Design (GSD)
·         Kanban
·         Lean software development
·         Rational Unified Process (RUP)
Rational unified process, adalah suatu kerangka pengembangan perangkat lunak iteratif yang dibuat oleh Rational Software, suatu divisi dari IBM sejak 2003. Rational unified processbukanlah suatu proses dengan aturan yang konkrit, melainkan suatu kerangka proses yang dapat diadaptasi dan dimaksudkan untuk disesuaikan oleh tim pengembang perangkat lunak yang akan memilih elemen proses disesuaikan dengan kebutuhan mereka.Model ini membagi suatu sistem aplikasi menjadi beberapa komponen sistem dan memungkinkan para developer aplikasi untuk menerapkan metoda iterative (analisis, disain, implementasi dan pengujian) pada tiap komponen. Dengan menggunakan model ini, Rational unified process membagi tahapan pengembangan perangkat lunaknya ke dalam 4 fase sebagai berikut.
1.      Inception, merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem, perumusan target dari sistem yang dibuat, identifikasi kebutuhan, perumusan kebutuhan pengujian, pemodelan diagram UML, dan pembuatan dokumentasi.
2.      Elaboration, merupakan tahap untuk melakukan disain secara lengkap berdasarkan hasil analisis di tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan disain arsitektur subsistem, disain komponen sistem, disain format data disain database, disain antarmuka/tampilan, disain peta tampilan, penentuan design pattern yang digunakan, pemodelan diagram UML, dan pembuatan dokumentasi.
3.      Construction, merupakan tahap untuk mengimplementasikan hasil disain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan disain, terutama disain pada diagram sequence,class, component, dan deployment. Apabila disain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrograman tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan disain (misal menggunakan class responsibility collaborator untuk kasus pemrograman berorientasi obyek), pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan / perbaikan lebih lanjut, dan pembuatan dokumentasi.
4.      Transition, merupakan tahap untuk menyerahkan sistem aplikasi ke konsumen (roll-out), yang umumnya mencakup pelaksanaan pelatihan kepada pengguna dan testing beta aplikasi terhadap ekspetasi pengguna.
·         Scrum
·         Scrum-ban
·         Story-driven modeling
·         Test-driven development (TDD)
·         Velocity tracking
·         Software Development Rhythms 
  




sumber : http://id.wikipedia.org/wiki/Agile_Development_Methods


Share This :
Apradiz Renfaan

Penikmat Kopi dan Teh