23 ms·
IMO fast software iterations, coupled with excellent observability tools - and the ability to better issues close to realtime - killed TDD. TDD became popular
by gregdoesit 6y ago
IMO fast software iterations, coupled with excellent observability tools - and the ability to better issues close to realtime - killed TDD.
TDD became popular at a time where waterfall and slow shipping cycles were common. In this setting, writing well-tested code upfront had a large upside. This process also helped clarify the spec on the go.
However, as teams and companies move to deploying multiple times per day, adopting things like monitoring, alerting, canarying, the value of having code that satisfies a spec upfront is lower, than code that works as expected in the prod environment.
I see almost all tech companies use unit and integration tests extensively, often with high coverage - but sometimes retrofitting them, after validating that the code does what is expected, in a complex environment.
- troynabed 6y agoVisibility (logging, monitoring, etc) trumps testing IMO in terms of coding productivity, especially when you don’t understand the domain fully yet. Testing utility increases when code matures and becomes more stable.