Test Driven Development, TDD, changed the way we think about developing software. But somewhere in the last 25 years, much of the original message was lost and wasteful practices crept in.
Today, software projects move very quickly, especially with the addition of tools like AI assisted IDE copilots and agentic coding.
Does it still make sense to use TDD? Yes! Even more so today than ever before.
We still want to build quality software. And now more than ever, we need the guard rails of an automated testing suite to keep agents on track.
However, the approach we need to take with our test code is different. We need to trim the waste and focus just on the tests that tell us how the software behaves. We need to rethink TDD. Ironically, the best thing we can do is go back to TDD's original language, focus more on high level tests, and combine acceptance tests with developer tests. But honestly, that's what TDD was about all along.
So whether you're using agents or coding by hand, a single developer or a team, Lean TDD will help you use your automated testing to develop code faster, ship faster, have greater confidence in your releases, and stay agile.