Introduction

TDD taught us that the most important thing is not writing code, but writing the right code—the one that satisfies a desired behavior, fully validated by automated tests. This discipline forces us to understand the problem, think in terms of observable behavior, and maintain clean, decoupled code.

Will AI.TDD take that same philosophy one step further?

We no longer write code—we write behavior. The cycle transforms, and so do we.

What changes with AI.TDD?

  • We describe the desired behavior: User stories, acceptance criteria, test scenarios.
  • We define expected quality attributes: Performance, security, accessibility, maintainability.
  • AI generates the necessary code: It makes each test pass and proposes refactors.
  • We evaluate, validate, and iterate: We focus on defining and validating behavior, and providing feedback.

The focus shifts from how things are implemented to what the system should achieve. Which has always been the real goal. A more functional and declarative paradigm, where the essence is expressing intent, not writing instructions.

From TDD to AI.TDD

  • Red: We write failing tests (because there's no implementation yet).
  • Green: AI makes them pass.
  • Refactor: AI improves the code.
  • Testing Cloud: It deploys and gives us an environment to validate.
  • Feedback: We validate it and iterate again.

A new version of a great truth

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." — Martin Fowler, 2008

I'd love to ask Martin Fowler if this incredibly true quote might change soon. Just as we no longer look at machine code or bytecode because we work at a higher level of abstraction, the phrase might now become:

AI.TDD version, 2025 (unofficial—but maybe inevitable):

"Any fool can write user stories, acceptance criteria, and tests that a computer can understand. Good programmers write them in a way that other humans can understand."

Conclusion

AI.TDD doesn't replace our intelligence—it amplifies it. It frees us from mechanical coding so we can focus on what really matters:

  • Understanding problems.
  • Designing behaviors.
  • Specifying what we want to happen.

Yes, the clarity of code as a human art form may lose some spotlight. But it doesn't disappear: it shifts to other layers of the process—the clarity of tests, of stories, of behavior. And above all, the clarity of purpose.

How do you see the future of coding evolving with AI? Let me know your perspective.