A per-feature activity to produce a completed client-valued function (feature).

A per-feature activity to produce a completed client-valued function (feature).

Working from the design package produced during the Design by Feature process, the Class Owners implement the items necessary for their classes to support the design for the feature(s) in the work package. The code developed is then unit-tested and code-inspected, the order of which is determined by the Chief Programmer. After a successful code inspection, the code is promoted to the build.

Entry Criteria

  • The feature team has successfully completed FDD process 4, Design by Feature, for the selected feature(s). That is, the design package from process 4 has been successfully inspected.

Tasks

Implement Classes and Methods Feature Team Required
The Class Owners implement the items necessary to satisfy the requirements on their classes for the feature(s) in the work package. This includes the development of any unit-testing code needed.

Conduct a Code Inspection  Feature Team Optional
The feature team conducts a code inspection, either before or after the unit test task. The Chief Programmer decides whether to inspect within the feature team or with other project team members. The decision to inspect before or after unit test is also that of the Chief Programmer.

Unit Test Feature Team Optional
Each Class Owner tests their code to ensure that all requirements on their classes for the feature(s) in the work package are satisfied. The Chief Programmer determines what, if any, feature team-level unit testing is required - in other words, what testing across the classes developed for the feature(s) is required

Promote to the Build Chief Programmer, Feature Team Required
Classes can be promoted to the build only after a successful code inspection and unit test. The Chief Programmer is the integration point for the entire feature(s) and responsible for tracking the promotion of the classes involved (either by promoting them personally or through feedback from the developers in the feature team).

Verification

Internal and External Assessment Modeling Team, Business Required
A successful code inspection plus the successful completion of unit test is the verification of the output of this process. The code inspection and unit test tasks are described above.

Exit Criteria

To exit the process, the feature team must complete the development of one or more whole features (client-valued functions). To do this, it must have promoted to the build the set of new and enhanced classes that support those features, and those classes must have been successfully code-inspected and unit-tested.


This version of FDD Process #1 is taken from the book, Palmer, Felsing, 'A Practical Guide to Feature-Driven Development' ,  Prentice Hall, 2002.
Follow me on Twitter...