An initial project-wide activity to produce the development plan.

An initial project-wide activity to produce the development plan.

The Project Manager, Development Manager, and Chief Programmers plan the order that the features are to be implemented, based on feature dependencies, load across the development team, and the complexity of the features to be implemented. The main tasks in this process are not a strict sequence. Like many planning activi-ties, they are considered together, with refinements made from one or more tasks, then considering the others again. A typical scenario is to consider the development sequence, then consider the assignment of feature sets to Chief Programmers and, in doing so, consider which of the key classes (only) are assigned to which developers (remembering that a Chief Programmer is also a developer). When this balance is achieved and the development sequence and assignment of business activities to Chief Programmers is essentially completed, the class ownership is completed (beyond the key classes that were already considered for ownership).

Entry Criteria

Tasks

Form the Planning Team Project Manager Required
The planning team consists of the Project Manager, Development Manager, and Chief Programmers

Determine the Development Sequence Planning Team Required
The planning team assigns a date (month and year only) for completion of each feature set. The identification of the feature set and the completion date (and, thus, the development sequence) is based on:
  • Dependencies between features in terms of classes involved
  • Balancing of load across Class Owners
  • Complexity of the features to be implemented
  • Bringing forward of high-risk or complex feature sets
  • Consideration of any external (visible) milestones, such as betas, previews, feedback checkpoints, and the "whole products" that satisfy such milestones
Assign Feature Sets to Chief Programmers Planning Team Required
The planning team assigns Chief Programmers as owners of feature sets. The assignment is based on:
  • Development sequence
  • Dependencies between features in terms of classes involved
  • Balancing of load across class owners (remembering that chief programmers are also Class Owners)
  • Complexity of the features to be implemented
Assign Classes to Developers Planning Team Required
The planning team assigns developers as Class Owners. Developers own multiple classes. The assignment of classes to developers is based on:
  • Balancing of load across developers
  • Complexity of the classes
  • Expected usage (e.g., high use) of the classes
  • Development sequence

Verification

 Self-Assessment Features List Team, Business Required
The planning is a team activity, so self-assessment is achieved by the active participation of the Project Manager and Development Manager with the Chief Programmers, who use the knowledge they gained from process 1 to help make better informed decisions.

Exit Criteria

To exit the process, the planning team must produce the development plan to the satisfaction of the Project Manager and Development Manager. The development plan consists of:
  • Feature sets with completion dates (month and year) 
  • Major feature sets with completion dates (month and year) derived from the last completion date of their respective feature sets 
  • Chief Programmers assigned to feature sets 
  • The list of classes and the developers that own them (the Class Owner list) 

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...