Capability Pattern: Design by Feature
A per-feature activity to produce the feature design package.
DescriptionWork Breakdown StructureTeam AllocationWork Product Usage
Relationships
Context
Description

A per-feature activity to produce the feature design package.

A number of features are scheduled for development by assigning them to a Chief Programmer. The Chief Programmer selects features for development from his "inbox" of assigned features. He may choose multiple features that happen to use the same classes (hence developers). Operationally, it is often the case that "sets" of features are scheduled for development at a time by the Chief Programmer. Such a set is called a Chief Programmer Work Package. The Chief Programmer then forms a Feature Team by identifying the owners of the classes (developers) likely to be involved in the development of the feature(s) he selects for development. This team then produces the Sequence Diagram(s) for the assigned feature(s). The Chief Programmer then refines the Object Model based on the content of the sequence diagram(s). The developers then write class and method prologues. A Design Inspection is held.

Properties
Event-Driven
Multiple Occurrences
Ongoing
Optional
Planned
Repeatable
Key Considerations

Entry Criteria:

  • The Planning process has completed.

Exit Criteria:

The result of the process is a successfully inspected Design Package. The design package comprises

  • A covering memo, or paper, that integrates and describes the design package such that it stands on its own for reviewers.
  • The referenced requirements (if any) in the form of documents and all related confirmation memos and supporting documentation.
  • The Sequence diagram(s).
  • Design alternatives (if any)
  • The object model with new/updated classes, methods and attributes.
  • The <your tool> generated output for the class and method prologues created or modified by this design.
  • Calendar/To-Do task-list entries for action items on affected classes for each team member.