Nimble Industries

How often do you deploy?

H

There is simply no substitute for a well-tested project that deploys early and often. GitHub famously boasted about 175 deployments in one day, and that was 3 years ago. Even Facebook ships new code every single day. There are now entire products dedicated to shipping code and continuous deployment. As a team leader for nearly 15 years, I’ve often found myself striving for more frequent deploys. And not just hoping for it, but measuring it, tracking it, and improving it over time.

So how often do you deploy? If you use Heroku, we can find out easily.

I recently released the Heroku Average Deploy Plugin, a simple little plugin for the Heroku CLI that calculates how many times per day your project is deployed. Using Heroku’s release history, we can caculate the average time between deploys and then the number of deploys per day. Heroku stores the last 50 releases, so we base our calculation on that.

$ heroku plugins:install https://github.com/cbartlett/heroku-average-deploy.git
$ heroku average:deploy -a your-app-name
Average time between deploys:
57643 seconds
aka 960 minutes
aka 16.01 hours
aka 0.67 days
You deploy an average of 1.5 times per day

The plugin is extremely simple, but “Mean Time Between Deploys” is an important metric for teams to track and improve. Consider including it in your weekly team meeting or sprint retrospective. Perhaps CI providers can calculate this and allow it to be queried from an API or displayed in graphs. (Our beloved

Try it out and send me your feedback, issues, and pull requests!

About the author

Colin Bartlett

Colin Bartlett is co-founder of Nimble Industries, creators of StatusGator and Washtub. He has been building web applications, managing software development projects, and leading engineering teams for 20 years.

By Colin Bartlett
Nimble Industries