

265 - Software Design with Paul Hammond
Sep 7, 2025
In this discussion, Paul Hammond, a passionate software developer and speaker, shares insights on effective testing strategies and the joy of working with well-designed TDD systems. He emphasizes the importance of synchronous collaboration for improving code quality and advocates for technical excellence that enables fearless releases. The conversation also critiques data-driven decision-making in software, promoting direct user interaction for more profound insights. Additionally, they explore integrating diverse stakeholders into development teams to enhance overall alignment.
AI Snips
Chapters
Books
Transcript
Episode notes
Cucumber's Promise vs Reality
- Cucumber's original idea was promising but its real-world use often fails to deliver the intended benefits.
- Paul Hammond argues there are significantly better ways to capture business requirements and write tests.
Define Units By Behavior
- Treat a unit as a unit of behavior, not a block of code, to avoid brittle tests tied to implementation.
- Test only the collaborators needed to validate behavior so tests support refactoring and change.
BBC Pairing Lightbulb Moment
- Paul described pairing at the BBC where TDD felt revelatory: fast tests on one screen and refactoring on the other.
- The immediate feedback made refactoring pleasurable and dramatically improved readability.