Elaboration Phase

Elaboration adalah fase kedua dalam siklus pengembangan software. Target fase ini adalah menentukan arsitektur basis sistem yang menjadi landasan disain dan implementasi di fase construction. Target global ini terbagi ke dalam empat tujuan, masing-masing menangani sebuah resiko utama. Kita mengatasi resiko dengan requirement yang relevan (apakah kita membangun aplikasi yang benar?) dan resiko yang berkaitan dengan arsitektur (apakah kita membangun solusi yang tepat?). Kita juga mengatasi resiko dengan biaya dan jadwal (apakah kita di jalur yang tepat?), dan akhirnya kita perlu menangani resiko berkaitan dengan lingkungan proses dan piranti pendukung (apakah kita memiliki proses yang tepat dan tools yang tepat untuk menjalankan tugas?). Penanganan resiko-resiko tersebut mengantar kita ke beraliha ke fase construction dengan resko dan issue yang minimum.

  1. Pemahaman kebutuhan yang lebih detail. Selama elaborasi, kita mengupayakan pemahaman yang lebih baik kebutuhan utama, karena kebanyakan baru diuraikan secara singkat dalam inception. Ini memungkinkan kita membuat rencana yang lebih detail.
  2. Desain, implementasi, validasi dan tentukan arsitektur dasar. Kita perlu untuk mendisain, mengimplementasi, dan menguji struktur kerangka dari sistem. Fungsionalitas di tingkat aplikasi belum akan lengkap, tapi sejalan dengan pengembangan sebagian besar interface antara building block selama fase elaborasi, kita dapat mengkompilasi dan menguji arsitektur sistem. Ini disebut dengan "executable architecture" dimana kita bisa melakukan pengujian awal beban dan kinerja sistem. Di sini kita melakukan keputusan critical mencakup pemilihan teknologi, komponen-komponen utama dan interface-nya.
  3. Menurunkan resiko utama dan menghasilkan estimasi jadwal dan ongkos lebih akurat. Selama elaborasi, kita mengatasi resiko utama. Dalam prakteknya, resiko ini turun dengan dihasilkannya requirement yang lebih detail disertai disain, implementasi dan pengujian arsitektur. Kita juga memperhalus dan memperdetail rencana kasar proyek.
  4. Memperhalus pengembangan dan menentukan lingkungan pengembangan. Kita perlu memperhalus proses yang dijalankan dalam inception untuk menggambarkan lesson learned. Kita juga melanjutkan implementasi tools pengembangan software yang dipelrukan untuk proyek.