Doing a great job and not meeting the customer’s objectives is as useless as doing a poor job within the customer’s objectives.
If the goal of product development is to create a product the customer will use, it stands to reason that customer participation is an integral part of the process. Although customer participation is listed as the fifth practice, its importance should not be underestimated. The concepts of prioritized requirements and course corrections based on customer feedback both require active customer participation.
Customers are the best source of information about the problem domain. They know the tasks that have to be done, they know the conditions in which the solution must perform, and they know the goals they are trying to achieve with the solution. They seldom know much about the technologies used to implement the solution.
Developers, on the other hand, do know the technologies. They know the features of the latest languages and development environments, they understand the tradeoffs between different technologies, and they know the most efficient ways to model problems and solutions. What they don’t know are the intricacies of the domain—the business knowledge the solution must incorporate.
Combining the business knowledge of the customer with the technical savvy of the development team creates a team ...