The object-oriented community developed the concept of feature-driven development (FDD). Basically, FDD focuses on short iterations that deliver tangible functionality. These iterations typically occur in two-week intervals.
Feature-driven development is built around five processes. They are:
Model the system.
Develop a system features list.
Plan the project by system feature.
Design the system by feature.
Build the system by feature.
The first three processes are done at the beginning of the project, essentially planning the work, and the last two processes are actually doing the work.
To accomplish the work, there are two types of developers assigned. One type is the class owner and the second is the chief programmer. The chief programmer is the more experienced developer and is responsible for building the features assigned to him. The chief programmer identifies the classes associated with his features and makes up a team of those class owners to develop the assigned features. Basically, the chief programmer is the lead designer and mentor while the class owners do most of the feature coding.