More than half of the errors in a project originate with the requirements and analysis activities done before product design. The opportunity to eliminate these largest error contributors is ignored in most organizations, and particularly in those industries with rush-to-market livelihoods. In these industries, the tendency is to begin coding, or constructing the product, or building the system as soon as possible and to depend on defining or refining the requirements as the project progresses. This approach may, or may not, produce a product within the available market window. Even if it does result in a product, the cost of error repair far outweighs the cost of up-front planning and analysis. Furthermore, error-prone products are poor-quality products, and poor quality is passed on to the customer—it is as simple as that.
I am not suggesting that all projects have completely definable requirements all the time. Many projects, particularly those involving new or cutting-edge technology, may start with only general ideas about the end product's purpose. In these instances, it is appropriate to develop the system requirements as the project progresses. But even under these circumstances, the requirements definition process has to be disciplined, documented, and scrupulously followed. A more detailed discussion about evolving or adaptive requirements methodologies is contained in Chapter 10. However, first it is important to understand what a requirement is and why it is so crucial to project success.
The customer defines requirements. The customer, whether internal to the organization or external, desires a product or a service to meet some need and then communicates this need to the provider. The problem is that the customer often cannot describe precisely what he wants, or the product may be too cutting-edge for the customer to even understand fully its functional capabilities. Or, the customer may know exactly what she wants but may not be able to communicate the requirements clearly. To make matters worse, the producing organization may not have a process for identifying and analyzing requirements and thus may be incapable of correctly interpreting them even when they are clearly communicated.
This chapter defines requirements and their importance to the project management process, the identification and analysis of requirements, and the process required for translating the requirements into a successful project that satisfies, to the greatest extent possible, the customer's needs.