Last week I had the privilege of visiting the Jenkins User Conference in Santa Clara. After Kohsuke Kawaguchi’s keynote (which you can read here), Gene Kim took the next day’s spot. Gene Kim is the author of The Phoenix Project, a book I’d highly recommend, and has spent 15 years now studying high performing IT organizations and DevOps adoption patterns.
He started his keynote by reviewing some DevOps history, starting with how organizations started noticing the accumulation of technical debt around 2005. As more quick bug fixes were deployed, software was becoming a hopeless, patchwork mess that left IT departments feeling doomed. However, in 2009, John Allspaw and Paul Hammond presented at the Velocity conference that they were deploying 10 times a day at Flickr.
We now know that DevOps is an easier and better way to fix technical debt issues, and 10 deploys a day sounds paltry in a world where Amazon deploys every 11.6 seconds. We also know that plenty of startups and “unicorns” like Netflix and Etsy are leading the way on DevOps adoption.
Gene pointed to the 2015 State of DevOps report, which shows just how vastly high performers outperform the low performers. In addition, high performers are twice as likely to exceed profitability goals, and are 50% more likely to have higher market capitalization growth over 3 years.
Gene followed by covering the principles of DevOps, in the form of the “three ways” described in The Phoenix Project:
- Workflow from dev to ops, with the goal of shortening the amount of time a deployment takes. For those that have also read “The Goal,” “deploys per day” is analogous to “lead time.” Lead time is the best metric for productivity, customer satisfaction, and employee happiness! To accomplish this, you need tools like version control, automated regression testing, and consistent dev, test, and production environments.
- Feedback loops are important. When something goes wrong, it’s important that the team gets feedback quickly. Part of achieving this lies in automated testing and changing company culture. Culture needs to focus on trusting employees and giving them autonomy to do what they think is right, because the more bureaucracy present in an organization, the slower deployments move.
- The third way is to foster high trust, experiment, and learn. This is where the adage “break things early and often” comes into play. Gene pointed to the 2011 AWS outage as a prime example of why constant experimentation and testing kept Netflix up even as every other Amazon customer was down. Another key aspect is to keep learning about your system by devoting 20% of your productivity to reducing technical debt.
Because we know these things to be true, Gene has more and more interested in how bigger, older companies (whom he refers to as “horses”) are following the trends. Wal Mart, Verizon, Target, Capital One, and the US Department of Homeland Security are some of the organizations Gene mentioned that fit this profile. In particular, Gene was impressed by the courage it takes IT practitioners to suggest changes, and implement them, at great professional risk, but that these companies prevail in their transformations because DevOps methods are really the best way to become a high performer when every company is so focused on software.
To learn more about how “horses” are adopting DevOps, there is a DevOps Enterprise Summit coming up in October, which Gene described as being presented "by 'horses' for 'horses'." You can also get his slids by sending an email to email@example.com with the subject line “devops.”