Mighty Practices

Make the deployment process predictable and fast

Use automation and well-defined approval processes to reduce the overhead and risk of releasing code.

Overview

Release is one of the most exciting moments of the software development process — it's when all your hard work finally reaches users. It can also be a nerve-wracking experience, especially if the release process is manual, complex, or unpredictable.

How to do it

  • Checked item: Rely on automation, never manual steps - the only manual step should be triggering the release.
  • Checked item: Use the exact same process for deploying to all environments.
  • Checked item: Treat your release process like production code - store it in version control, review changes, test it regularly, and fix bugs promptly.
  • Checked item: If approval is necessary, define and document a clear process to follow, including who needs to approve and what criteria must be met.
  • Checked item: Implement automated testing to catch regressions before they reach production.
  • Checked item: Define and document a plan for rolling back releases in case of issues.
  • Checked item: Release early and often.

Help us improve

Your feedback helps us create better resources for teams like yours.

Was this page helpful?

Last updated on