Any ideas about the capabilities of an organization might develop to meet a customer need, are just speculative until the organization knows what it will truly take to satisfy the customer. These conditions of satisfaction are called “Acceptance Tests.” Development that includes defining these from the beginning is called “Acceptance Test-Driven Development” (ATDD).
ATDD requires working much more closely with the customer. The acceptance tests are co-developed with the customer. The tests represent specific details of the capabilities that will be delivered. Confidence is much higher that the customer will accept the developed product with far fewer changes, and less-significant ones, than under non-ATDD development.
Resources in this topic
Acceptance Test-Driven Development (Article)