The previous team skills focused on the processes of analyzing the problem, eliciting user needs, and collecting, documenting, and managing the desired product features. Once the product features have been specified, the next task is to refine the specification to a level of detail suitable to drive the design, coding, and testing processes. We have now arrived at the bottom of the requirements pyramid, as shown in Figure 1.
Figure 1. The requirements pyramid
In Team Skill 5, we examine an organized method for elaborating , organizing, and communicating the software requirements. Later in Team Skill 5, we'll look at one of the more perplexing issues: how to state the requirements in a clear and appropriately precise manner.
Regardless of the method you use to collect the requirements, it is important that you adopt a rule that the collected requirements and only those requirements will drive the project . If they are discovered to be insufficient or just wrong, they must be quickly and officially changed so that the rule remains true. In this way, the entire team has an unambiguous target, and its efforts can focus on discovering and implementing requirements, minimizing the time spent "in the weeds." We will start by taking a closer look at the nature of the requirements themselves .