- Source: Feature-driven development
Feature-driven development (FDD) adalah proses pengembangan perangkat lunak yang iterative dan incremental. Kerangka kerja ini termasuk metode Agile untuk mengembangkan perangkat lunak. FDD memadukan sejumlah praktik terbaik yang diakui industri menjadi satu kesatuan yang utuh. Praktik-praktik ini didorong dari perspektif fungsionalitas (fitur) yang dihargai klien. Tujuan utamanya adalah untuk memberikan perangkat lunak yang nyata dan berfungsi berulang kali secara tepat waktu sesuai dengan prinsip di balik Agile Manifesto.
Feature-driven Development (FDD) awalnya dirancang oleh Peter Coad dan rekan-rekannya sebagai model proses praktis untuk rekayasa perangkat lunak berorientasi objek. Stephen Palmer dan John Felsing telah memperluas dan meningkatkan pekerjaan Coad, menggambarkan proses yang agile dan adaptif yang dapat diterapkan pada proyek perangkat lunak berukuran sedang dan lebih besar. Seperti pendekatan agile lainnya, FDD mengadopsi filosofi yang (1) menekankan kerja sama di antara orang-orang dalam tim FDD; (2) mengelola masalah dan kompleksitas proyek menggunakan dekomposisi berbasis fitur diikuti oleh integrasi software increment, dan (3) komunikasi detail teknis menggunakan cara verbal, grafis, dan berbasis teks. FDD menekankan kegiatan jaminan kualitas perangkat lunak (software quality assurance) dengan mendorong strategi pengembangan tambahan, penggunaan desain dan inspeksi kode, penerapan audit jaminan kualitas perangkat lunak, pengumpulan metrik, dan penggunaan pola (untuk analisis, desain, dan konstruksi).
Fitur FDD
Dalam konteks FDD, fitur (feature) adalah fungsi bernilai klien (client-valued) yang dapat diimplementasikan dalam dua minggu atau kurang" [Coa99]. Penekanan pada definisi fitur memberikan manfaat berikut:
Karena fitur adalah blok kecil dari fungsionalitas yang dapat disampaikan, pengguna dapat menggambarkannya dengan lebih mudah; memahami bagaimana mereka berhubungan satu sama lain dengan lebih mudah; dan meninjau ambiguitas, kesalahan, atau kelalaian dengan lebih baik.
Fitur dapat diatur ke dalam pengelompokan terkait bisnis hierarkis.
Karena suatu fitur adalah software increment yang dapat dikirimkan oleh FDD, tim mengembangkan fitur operasional setiap dua minggu.
Karena fiturnya kecil, desain dan representasi kodenya lebih mudah untuk diperiksa secara efektif.
Perencanaan (planning), penjadwalan (scheduling), dan pelacakan (tracking) proyek didorong oleh hierarki fitur, dan bukannya kumpulan tugas rekayasa perangkat lunak yang diadopsi secara sewenang-wenang.
Coad dan rekan-rekannya menyarankan templat berikut untuk mendefinisikan fitur:
Kata Kunci Pencarian:
- Feature-driven development
- Pengembangan tangkas
- Manajemen siklus produk
- Tenaga nuklir
- Steam
- Lockheed Martin F-35 Lightning II
- Korea Utara
- Apache Mesos
- Stadion Tottenham Hotspur
- Godzilla Minus One
- Feature-driven development
- Behavior-driven development
- Test-driven development
- Agile software development
- Work breakdown structure
- List of software development philosophies
- Rational unified process
- Domain model
- The Chicken and the Pig
- Buzzword