Code-as-text cannot provide us with clear understanding of how the program will behave. We can only know for sure how the program works and what the program does if we execute it. There is an unavoidable lag between the moment when we make a change to the source code and the moment when we learn about the impact of the change we’ve made. This lag is the source of many problems in software engineering.
We are a group of passionate professionals who believe that Test-Driven Development (TDD) offers an excellent practice to reduce such lags, increase feedback, and, essentially, build reliable and quality software. But, to offer quality, we are aware that it cannot be added after the fact, or before the fact.
The only way to ensure quality is to build it during the development process. The only way to build quality during the development process is to keep testing the software along the way. We need to test every step of the way. That’s another reason we embrace TDD and want to extend it further.
We feel that capturing the essence of TDD in the form of this manifesto will make TDD more accessible for software engineers of any background. We hope this helps raise the bar of the software industry by uncovering the ways TDD makes your software development journey a more trouble-free and fulfilling experience.