FDD - romanSan17/py123 GitHub Wiki
Feature-Driven Development (FDD)
History of FDD
Feature-Driven Development (FDD) was first used in 1997 by Jeff De Luca in a large-scale software development project that required a 15-month development period and a 50-member team. This development model was later published in the book "Java Modeling in Color with UML" in 1999.
What is FDD?
Feature-Driven Development (FDD) is an agile methodology based on an iterative and incremental model. Its primary focus is on the continuous improvement of software features and the regular delivery of updated, working software to the client. Reporting and progress tracking are crucial at all levels of FDD.
FDD Lifecycle
-
FDD methodology consists of five main stages:
-
Build Overall Model: Conduct a thorough analysis and create a model of the system.
-
Build Feature List: Describe and organize the system’s features.
-
Plan by Feature: Define the development schedule and set priorities.
-
Design by Feature: Design each feature.
-
Build by Feature: Code and integrate the designed features.
Benefits of FDD
-
Continuous reporting at all levels makes it easy to track progress.
-
Suitable for larger teams and projects, ensuring consistent progress.
-
Reduces risks by dividing the model and design into smaller segments.
-
Provides a more accurate project cost estimation due to the feature-based approach.
Drawbacks of FDD
-
Not suitable for smaller projects.
-
Strong dependence on lead developers, designers, and mentors.
-
Limited documentation may cause problems later in the project.