Senin, 23 Maret 2009

AgiLe ProGramminG

Prinsip Agile Software Development

Agile memiliki ciri yang diantaranya sebagai berikut :

  1. Tanggap terhadap perubahan, karena perubahan adalah hal yang utama dalam pembangunan perangkat lunak.
  2. Komunikasi yang terjalin kuat antara anggota tim, antara orang - orang teknis dan businessmen, antara developer dan managernya.
  3. User ( klien ) menjadi bagian dari tim pembangun software.

Cir-ciri diatas didukung 12 prinsip yang ditetapkan oleh Agile Alliance. Ke-12 prinsip itu sebagai berikut :

  1. Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus.
  2. Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
  3. Penyerahan hasil atau software dalam hitungan waktu dua minggu sampai dua bulan.
  4. Bagian bisnis dan pembangun kerja sama tiap hari selama projek berlangsung.
  5. Membangun projek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan projek.
  6. Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien.
  7. Software yang berfungsi adalah ukuran utama dari kemajuan projek
  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.
Kedua belas prinsip tersebut menjadi suatu dasar bagi model-model proses yang punya sifat agile.

Dengan prinsip-prinsip tersebur Agile Process Model berusaha untuk menyiasati 3 asumsi penting tentang projek software pada umumnya:

  1. Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya projek.
  2. Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
  3. Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.
Faktor Manusia pada Agile Process Model

Kunci faktor manusia pada model ini adalah proses didasari pada kebutuhan orang dan tim, bukan dari siapa - siapa. Untuk dapat sukses menerapkan model proses ini, pada faktor manusia ada beberapa kunci penting :
  1. Kompetensi: ketrampilan dalam membangun dan pengetahuan tentang proses membangun.
  2. Fokus: memiliki fokus yang sama sekalipun peran dalam tim berbeda.
  3. Kolaborasi : kerja sama dengan klien, anggota tim dan manajer.
  4. Kemampuan ambil keputusan : tim pembangun memiliki otonomi dalam pengambilan keputusan terkait teknis dan proyek
  5. Kemampuan fuzzy problem-solving: mampu menyelesaikan memilah masalah yang penting untuk dipecahkan segera atau nanti.
  6. Saling percaya dan hormat: kekompakan tim yang didukung oleh rasa percaya dan saling menghargai satu sama lain.
  7. Manajemen diri: tim mengatur diri untuk selesaikan projek, mengatur proses untuk disesuaikan dengan lingkungannya, tim menjadwal dirinya untuk menyerahkan hasil.
Agile Process Model

Berikut ini adalah model - model proses yang termasuk agile process model :
  1. XP(Extreme Programming)
  2. ADAPTIVE SOFTWARE DEVELOPMENT (ASD)
  3. DYNAMIC SYSTEMS DEVELOPMENT METHOD
  4. SCRUM
  5. AGILE MODELING
> Sedikit tentang Agile modeling
  • Banyak situasi pembangun 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.
  • AM adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan sistem software.
  • AM adalah kumpulan nilai-nilai, prinsip dan praktek - praktek untuk memodelkan software agar dapat diaplikasian pada software development proyek secara efektif.
- Prinsip dalam AM :
> Membuat model dengan tujuan: tentukan tujuan sebelum membuat model.
> Mengunakan multiple models: tiap model mewakili aspek yang berbeda dari model lain.
> Travel Light: simpan model-model yang bersifat jangka panjang saja. Isi lebih penting dari pada penampilan: modeling menyajikan informasi kepada audiens yang tepat.
> Memahami model dan alat yang yang digunakan untuk membuat software.
> Adaptasi secara lokal.

Aktifitas yang terjadi di dalam Agile Model Process tetap mengandung aktifitas - aktifitas yang ada pada model proses generasi sebelumnya seperti waterfall, incremental, spiral dan RAD. Selain itu, model model proses di atas tetaplah bukan model proses yang cocok untuk setiap jenis software.

Demikian bahasan tentang “ SOFTWARE PROCESS – AGILE “.

Referensi :
Ambler, Scott W. "An Introducation to Agile Modeling." Agile Modeling Home Page. 2001-2008.
Dikutip dari : http://www.agilemodeling.com/essays/introductionToAM.htm.
2005.

Tidak ada komentar:

Posting Komentar