In my experienced years of development:
- with TDD<p>- implementation first and then tests<p>- just implementation without test,<p>I recently came to the following conclusion:<p>If you perform TDD, your specification that you try to implement are the business requirements / the goals you like to achieve.<p>If you don't perform TDD, your specification becomes the algorithm/thing itself you are developing and a (potentially fuzzy) idea in your head.