TDD Is A Simple Thing
I’m always baffled by those who argue that TDD shouldn’t be applied “religiously,” “completely,” or who imagine some kind of “pure TDD” in contrast to a more pragmatic version.
It’s as if they’re trying to make up for a lack of understanding by practicing a watered-down version of TDD, dismissing anything more rigorous as impractical purism.
They go on complaining about the lack of resources for applying TDD to large projects, as if some special recipe exists for that.
These are often the same people who claim that TDD is fine, just as long as deadlines aren’t breathing down our necks. That argument dangerously flirts with the idea of “test only if time permits.” Utter nonsense.
TDD is a small, simple practice that can be applied quietly, enabling the development of large systems through small, straightforward, linear steps. It’s iterative and incremental development at a fine-grained level.
And there’s nothing to cut off TDD to make Cinderella’s sister’s foot fit the shoe. The practice works as it is, or not at all.
Red-green-refactor-commit-repeat. That rhythm works everywhere: for small, medium, and large projects alike.
Originally posted on LinkedIn.