Just watched the presentation DevOps Culture And Practices To Create Flow that Jez Humble gave at QCon New York 2014. The sound in this video is quite bad for about 14 minutes and a video with better sound can be found here and that is basically the same presentation thatJez gave at ChefConf 2014.
In the presentation Jez clarifies that DevOps is really about how to create value to our customers as fast as possible, i.e. Lean Thinking. In another presentation called Stop Hiring DevOps Experts Jez clarifies this further with the statement that DevOps is about changing the culture in your company to get people from development and operations to work together.
The first company to think different about how to deliver value to their customers was Toyota and their Toyota production system is the basis of Lean thinking. The heart of the Toyota production system is jidoka which means: automation + people = autonomation. Automation is good for repetitive tasks and people are good for solving problems, and it’s only when you combine these that you can effectivly deliver value.
Jez mentions the podcast This American Life and the episode about NUMMI that is about the transformation of a GM and Toyota factory in Fremont that went from being one of the worst in the US to be the most successfull ones by implementing the Toyota production system.
The difference however between software development and the Toyota production system (or Lean thinking) is that there is no real production line in software development.There are many different views on what can represent the production line in software development. The paper The Deployment Production Line from 2006 by Jez Humble, Chris Read and Dan North suggests that the production line is based on check-in and the process from check-in to deployment in production. The commit in version control creates a build and the build progresses in various stages on the way to production. An important part of this metaphore is the practice of continuous integration.
A central part of continuous integration is the deployment pipeline that helps you break up your build into different stages which in turn gives you faster feedback on your check-ins. The blogpost Crazy fast build times by Dan Bodar covers the topic on how to achieve really fast builds. The book A Practical Approach to Large-Scale Agile Development describes how HP worked with their deployment pipeline to increase their performance.
The data that was presented in the 2014 State of DevOps report shows that DevOps increases IT performance which in turn improves business performance.
At the end of the presentation Jez talks about how to measure culture in an organization and he mentions a model by Ron Westrum that is described in the paper “A Typology of Organizational Cultures”. The model was developed to describe organizations in health care but the model applies to it organizations and has a strong correlation to it performance. The model has three categories for organizations: Pathologial, Bureaucratic and Generative and the category of your organization will strongly predict your it performance. Jez also mentions the paper How to Change a Culture: Lessons from NUMMI that desceibes how to change the culture in your organization.
Book The Corporate Culture Survival Guide. Old thinking: Change thinking to change behavior, New Thinking: Change behavior to change thinking.
Book Toyota Kata by Mike Rother. Taking a best practice from one complex system and applying it to another complex system is not guaranteed to work. The way to find a best practice for an organization is through continuous expirementation and trying things out. Leaders decide outcome – with short horizon and the people doing the work discover how to achieve outcomes.