Tolong jelaskan mengenai 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).