"I'm not a great programmer; I'm just a good programmer with great habits."
Everything we did until now is related to techniques that can be applied only by developers for developers. Customers, business representatives, and other parties that are not capable of reading and understanding code were not involved in the process.
TDD can be much more than what we did until now. We can define requirements, discuss them with the client, and get agreement as to what should be developed. We can use those same requirements and make them executable so that they drive and validate our development. We can use ubiquitous language to write acceptance criteria. All this, and more, is accomplished ...