Customer Obsessed Engineering

Customer Obsessed Engineering

Share this post

Customer Obsessed Engineering
Customer Obsessed Engineering
The balancing power of TDD: finding the sweet spot between design and testing

The balancing power of TDD: finding the sweet spot between design and testing

Test-driven development embodies the scientific method in software: thoughtful experimentation leads to proven success. Here's how to balance design vision with practical validation.

Zac Beckman
May 20, 2025
∙ Paid
3

Share this post

Customer Obsessed Engineering
Customer Obsessed Engineering
The balancing power of TDD: finding the sweet spot between design and testing
1
2
Share
Photo by Florida Memory on Unsplash

Why test?

In a recent article, Kent Beck (once again) clarifies what Test Driven Development truly represents. It caught my attention because he opens with this provocative quote from John Ousterhout:1

"Yeah, I'm not a fan of TDD because I think it works against design."

This statement was jarring because I'm familiar with John Ousterhout's work as a Stanford professor and author of A Philosophy of Software Design. He elaborates:2

"But we want the development process to be focused on design. I think that the center of everything we do in development should be organized towards getting the best possible design. And I think TDD works against that because it encourages you to do a little tiny increment of design."

Kent's response is thoughtful and thorough, making a compelling case in his rebuttal. You should read it.

That said, both John and Kent represent two ends of a spectrum. Most of us operate somewhere in the middle, where practical reality demands a bal…

Keep reading with a 7-day free trial

Subscribe to Customer Obsessed Engineering to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Boss Logic LLC
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share