Feature Driven Development, FDD, is just that. It is a short-iteration
development process that delivers features in logical incremental intervals
.
It consists of five basic activities:
Build by Feature
History
FDD was created by Jeff De Luca to meet the specific needs of a
15 month, 50 person software development project at a large bank in Singapore
in 1997. There was a second project that was 18 months and 250 persons.
He delivered a set of five processes that covered the development of an overall
model and the listing, planning, design and building of features.
The development of an overall model process was heavily influenced by Peter
Coad´s approach to object modeling. Building a feature list process incorporates
Peter Coad's ideas of using a feature list to manage functional requirements
and development tasks.
The other three processes and the blending of the processes into a cohesive whole
is a result of Jeff De Luca's experience. Since its successful use on the
Singapore project there have been several implementations of FDD.
The description of FDD was first introduced in Chapter 6 of the
book Java Modeling in Color with UML by Peter Coad, Eric Lefebvre and Jeff
De Luca in 1999.
The latest FDD processes can be found on Jeff De Luca´s website
under the ´Article´ area. There is also a Community website available at which
people can learn more about FDD, questions can be asked, and experiences and
the processes itself are discussed.
Feature Driven Development
FDD Process
| Acitivity | Tasks | Artifacts |
| Develop Overall Model | High Level walk though of the scope of the project. Detailed domain walk throughs are held for each modeling area | The model |
| Build a Feature List | Identify Feature List. Breakdown Feature List into Business Activities. | Features are now small pieces of client-valued functions expressed in the form [Action], [Result], [Object]. |
| Plan by Feature | Prioritize Features. Assign Features. | Deliver a Development Plan. |
| Design by Feature | An Architect selects a small group of features that are to be developed within two weeks. | Designs for each Feature |
| Build by Feature | Development Teams begin coding Features. Unit Test Developed. | Feature Delivered to Main Build. |
