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!