Deploy Early, Deploy Often

Oct 29, 2022

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.