Deploying your code every day is one of the best software delivery practices I know.

What are the benefits?

  • It shortens the feedback loop, allows you to learn faster.
  • It lowers the risk of huge failures and difficult rollbacks.
  • It limits WIP (Work In Progress), which is proven to increase the performance.
  • It encourages you to invest in a fast, safe, and repeatable deployment process.
  • It forces you to split your work into smaller pieces and work in small iterations.
  • It allows you to do small, safe, and cheap experiments often.
  • It unblocks your team members faster.
  • It encourages you to use feature flags.
  • It reduces the time spent on code review (making code review easier)
  • It reduces the chances of merge conflicts.
  • You almost never have to deploy someone else’s code (and you never have to deploy any code written by a person currently on vacation) and be surprised that you missed some piece of configuration or data migration.