Software death spiral: “We don’t have automated tests, so we need many...


Software death spiral:
“We don’t have automated tests, so we need many environments with slow, manual checks in each.” 😬

Virtuous cycle:
“We have comprehensive tests, so we deploy straight to prod automatically when the CI build passes. We deploy multiple times a day.”🔥
The lack of automated tests means we have to batch work into releases. Batching work means we need multiple environments, with manual testing in each. And we have to plan releases.

Comprehensive automated tests and daily automated deploys eliminate all this overhead. 👍
This is why “We don’t have time for tests” is a dangerous mindset.

It ignores all the costs of manual validation.

Tests pay for themselves by eliminating the need for:

- manual checks
- batching changes
- many environments (to support batching)
- coordinating releases
This is why trying to save money by hiring only junior devs backfires.

Junior devs are great, but they need some senior devs to help them write effective, fast, reliable automated tests.

This isn’t easy. The skill takes years to build. But it pays off.

View original on X