Real Customer Needs
What are real customer needs? I distinguish between real customer requirements and needs and the stated requirements and needs. There is a huge difference between the two, and this difference accounts for many of our requirements-related problems. Historically, clients have not been able to articulate their real customer requirements and needs. There is no reason to believe this will change. Accordingly, an effective requirements process must provide for the time, resources, mechanisms, methods, techniques, tools, and trained requirements engineers familiar with the application domain to define the real customer requirements and needs.
This problem is not limited to large systems. Small projects also experience the failure to identify the real requirements. My experience is that the practices presented in this book are applicable to projects of all sizes. The differences are in the tailoring made of the implementation approach.
Industry consultant Karl Wiegers expresses the problem this way: "Requirements exist in the minds of users, visionaries, and developers, from which they must be gently extracted and massaged into a useable form. They need to be discovered with guidance from a talented requirements engineer, who helps users understand what they really need to meet their business needs and help developers satisfy those needs. Few project roles are more difficult than that of the requirements engineer. Few are more critical.
Obviously, if we're not using a base of the real requirements to perform our system development work, huge amounts of resources are being misspent. These recommendations will help you to redirect these resources in ways that will produce better results.
Using the joint team mechanism, customer and contractor technical representatives elicit, stimulate, analyze, and communicate customer needs, expectations, and measures of effectiveness (MOE) to obtain a better understanding of what will satisfy the real customer needs. As we have described, the real requirements are not those initially provided by our customer(s), nor are they the requirements that we, the development team, understand. Rather, the real requirements emerge from concerted efforts by trained requirements engineers, engaged in meaningful communications with customers and users, to discover the real customer needs and expectations. The agreed upon needs, expectations, and MOEs form the basis for agreements between the customer and the contractor's engineering effort.