A per-feature activity to produce a completed client-valued function (feature).
| 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). |
||
| 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. |
||
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.