So if itâs not about testing, whatâs it about?
Itâs about figuring out what you are trying to do before you run off half-cocked to try to do it. You write a specification that nails down a small aspect of behaviour in a concise, unambiguous, and executable form. Itâs that simple. Does that mean you write tests? No. It means you write specifications of what your code will have to do. It means you specify the behaviour of your code ahead of time. But not far ahead of time. In fact, just before you write the code is best because thatâs when you have as much information at hand as you will up to that point. Like well done TDD, you work in tiny increments⦠specifying one small aspect of behaviour at a time, then implementing it.