Vote early – and often
Richard J. Daley, Mayor of Chicago (1955-1976)
Deploying often is one of the best strategies for a productive development team. Not only does it directly solve many issues as a North star for teams, but it indirectly encourages other good behavior.
- Smaller changes are easier to review, debug, and ultimately fix. Deploying often means deploying small change sets.
- The longer the time between when code has been merged and when it is released increases the chance of an oversight.
- Production will break. Then, it’s a matter of how quickly you can push a fix. Deploying often means deploying fast.
- Deploying often means faster feedback. Product metrics, user feedback, and other data can save countless hours in future features that have obvious good (or bad) indications.
- When all else fails, frequent deploys are usually easier to roll back because they are usually smaller.
- Engineers might tolerate a broken release process if it only happens occasionally. Deploying often means tackling release problems head-on and automating the work. Deploying often will also help spot problems in the release pipeline itself.