Does TDD mean someone is a better developer?

Does TDD mean someone is a better developer? Does TDD automatically lead to amazing design?

Does TDD turn development into a mindless factory? After all there’s less cognitive load compared to TLD, does it mean we stop thinking?

TDD is a discipline which helps developers focus on the WHAT first, and the HOW second. The WHAT is the executable form of requirements, and the HOW is the code needed to satisfy the requirements. We can say that TDD makes developers more goal-focused. The TDD discipline itself forces the developer to make testable designs, whereas in TLD it depends on the developer whether or not the design will be testable.

We can say that a developer who practices TDD becomes mentally trained in testable design, though it is possible to achieve testable design without TDD (based on own mental effort). We can say that a developer who practices TDD will be able to have an automated feedback mechanism right at the start regarding whether the requirement is testable, whether the API is consumer-friendly (because they see the design in front of their eyes whilst writing the test), whereas the TLD developer would have to perform mental gymnastics (higher cognitive load) to get the same feedback earlier.

Does TDD mean our designs are amazing? No. TDD by discipline ensures our designs are testable, but all other aspects of design quality (testability is not the only one) are left up to the developer.

Does TDD mean we make less mistakes? No, humans make mistakes. BUT the difference is how long it takes to discover the mistake – in TDD, we have shorter feedback loops. In TLD we have longer feedback loops. So the difference is how quickly we can react to mistakes we make.

The essence of TDD is – we start off with requirements (which represent a solution to some business needs), we translate the requirements from human language into code language (“executable” specifications) and then we implement the software solution to satisfy the requirements. Simple.

Optivem Group LLC 30 North Gould Street Sheridan, WY 82801 United States

Optivem DOO, MB 21609722, PIB 112111924, Heroja Maričića 93, Kraljevo 36000, Serbia

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.