TDD is more important than ever
Lately, I've been reminded of the heady days of my agile (https://en.wikipedia.org/wiki/Agile_software_development) youth by how often I've found myself asking, "how will we test this?"
As I've mentioned frequently on podcasts and recent Q&As about AI, an odd paradox has emerged in the software industry:
1. Developers experienced in agile engineering practices like test-driven development tend to be among the most skeptical of AI code generation, often citing fears that software quality is being thrown out the window
2. Developers experienced in agile engineering practices like test-driven development tend to be among the most successful at building great software with coding agents, often citing creative techniques enabling agents to verify the correctness of their work
In the late 2000s, I always knew I was talking to a solid programmer if their first question upon being handed a complex task was to ask, "how will we test this?" Agile developers learned back then that literally everything hinged on establishing a fast, reliable, automated way to verify your code fulfilled its intended purpose. Without tests, you can't refactor aggressively, deploy frequently, or delete safely. Over the 2010s, many of us learned patterns and heuristics that allowed us to take shortcuts and tone down our testing zeal in the name of pragmatism and efficiency, but the underlying skill of concocting ways to verify our code never stopped being valuable.
Well, here we are again. In 2025, the only thing that matters when it comes to coding agents like Claude Code and Codex CLI is to ensure they are equipped with the tools they need to independently verify the correctness of their work.
justin.searls.co