Closely couple the Customer role to the Developer and Architect, not just to QA or marketing
Closely couple the Customer role to the Developer and Architect, not just to QA or marketing. Encourage communication between customers and key development organization roles.
You can't know all the requirements up front, so developers need to keep going back to customers for more information, and customers need to keep coming back to developers with their insights, particularly when developers BuildPrototypes or do a delivery as part of a sequence of EarlyAndRegularDelivery. Typically there are three passes at each ‘requirement’. The first pass gathers information sufficient for scooping and estimation, the requirement is a placeholder for later discussion. At some time prior to starting development, the details of the requirement are captured. As development proceeds and the developer gets a first clear detailed picture of the problem, he will want clarification of some details to enable him to make appropriate choices during detailed design and implementation.
Changes and additions to requirements occur even after design reviews are complete and coding has started. This can be prevented only with the most rigorous of development processes, and if we were to disallow changes, then we would not deliver what the customer wants.