Why do software teams push continuous deployment so strongly? One of the most important and least discussed reasons is engineer morale.
Engineers Want to Build
Engineers want to build.
They’d much rather ship an experiment that proves or disproves a theory than discuss the theory. When you hire engineers who know how to ship, that’s what they want to be doing.
Continuous deployment allows that itch to be scratched by eliminating barriers to building. That makes engineers happy.
It Lowers Real and Perceived Risk
Continuous deployment lowers risk, too— real and perceived.
The “real” risk reduction aligns with a key tenet of Extreme Programming— if something is good, we should be doing it all the time. Teams that combine code quality best practices (static analysis, testing, pairing, code review, etc.) with frequent deployments can ship small, atomic, reversible releases every day. They add business value all the time.
Perceived risk matters, too. Engineers don’t want to bring down business processes. If they think that shipping might create that risk, they’ll hesitate. I’ve often wondered how much business value is left on the table at companies that haven’t mitigated the risk of deploying changes.
Lower risk lets engineers be bold, and that makes engineers happy.
Conclusion
Low-risk, rapid deployment processes foster innovation and make engineers happy.
Note: I shared a version of this idea previously on Linkedin.