A nice example of multiple Software Craft tactics :
- Test Driven Development
- Refactoring
- Always Green Refactoring
- Micro commits
- Baby steps
- Intentional commit naming
emilybache added 30 commits 2 years ago
During his Codecamp Romania 2025 Masterclass, J. B. Rainsberger answered some questions about software design.
Here are four lightning talks in which he addresses these topics:
- When not to do TDD and one surprising disadvantage for experienced TDD practitioners.
- How Client-First Design addresses one of the common shortcomings of naively allowing designs to evolve from the ground up.
- Adding safety to refactoring without assuming that adding tests is enough or indeed the best choice.
- Two kinds of refactoring activities and how to communicate the need for each of these to non-programmer members of your project community.
After 25 years with TDD, we are now parting ways. The incremental TDD steps were great for human cognition, but didn't survive the transition to agentic coding.
Test-Driven Development (TDD) has been my default programming mode for 25 years. TDD simply made me a better developer. It’s been invaluable.
However, the time has come to bid farewell to my old companion. Agentic coding is sufficiently different from manual coding, meaning we need to question existing development principles and practices. And TDD didn’t survive my transition into AI-native development: forcing an agent through increments optimized for human cognition negates many of the benefits.
This article reflects on my decades as a TDD practitioner as well as the agentic characteristics that made me abandon the technique. As customary, we’ll start from the beginning.