5.6 Feature-Driven Development – Business model

Created by Jeff De Luca in 1997

  • Focuses on design and build phases

  • Key roles are defined, roles can be shared

  • The feature is an FDD deliverable

    • a small block of functionality

    • that users can describe easily

    • provides a possibility to avoid ambiguity, errors of omissions

    • can be tested effectively

    • Can be grouped to a business hierarchy

    • operational features are delivered by the team every 2 weeks

  • FDD has five processes


Figure 5.5: Five processes of FDD


Develop an Overall Model: domain experts are aware of the scope; use cases are given

  • Domain experts presents a walk through for team members


Build a Feature List: previous activity is a good basis for creating a comprehensive feature list

  • The development team present features bringing value to the customer

  • Feature sets are divided to smaller portions of sets (domain areas)

  • Sponsors validates


Plan by Feature: create a project plan on the sequence of feature development

  • Programmers get assigned to features


Design by Feature: subsets of features are assigned to developer teams

  • Teams (can parallel) design, inspect the feature subsets


Build by Feature:

  • Teams (can parallel) code, test, integrate the feature subsets

  • Subsets are committed to the main build on success