Some time ago I had the opportunity to work with a team helping them in a large-scale DevOps transformation, very exciting project 🙂
The first thing that we discussed was that leading a large-scale DevOps transformation is not about adopting a new set of tools, attitudes, processes, and behaviours at the team level, it’s about helping your company or organisation deliver faster to market, and developing the ability to respond to a rapidly changing competitive landscape. First and foremost, it’s about achieving business agility. However, business agility comes from people having clarity of purpose, a willingness to be held accountable, and the ability to achieve measurable outcomes.
Unfortunately, almost everything in modern organisations gets in the way of teams acting with any sort of autonomy. In most companies (especially in a huge telecom), achieving business agility requires significant organisational change.
DevOps and its resulting technical, architectural, and cultural practices represent a convergence of many philosophical and management movement. While many companies have developed these principals independently,
The Transformation Process
First, start by defining what’s DevOps… to be honest, there isn’t a single definition for DevOps on the market (yet), but this is a definition that I think it defines DevOps best:
DevOps is a collaboration between development, Operations and Other teams with the recognition that we are tasked with achieving common business goals.
2. DevOps Principles(The goals of DevOps)
Secondly, define some principles for a successful DevOps adoption, I, personally, follow “The Three Ways” by Gene Kim:
The Three Ways
The First Way – System Thinking
The First Way is all about fast left-to-right flow of work from Development to Operations to the customer. Think about the system as a whole, globally, we always want to do global optimisation of the system.
In order to maximise flow, we need to:
- Make work visible
- Reduce our batch sizes and intervals of work
- Build in quality by preventing defects from being passed to downstream work centres
- Constantly optimise for the global goals
By speeding up flow through the technology value stream, we reduce the lead time required to fulfil internal or customer requests, especially the time required to deploy code into the production environment. By doing this, we increase the quality of work as well as our throughput and boost our ability to out-experiment the competition.
The resulting practices include:
- Continuous build, integration, test, and deployment processes
- Creating environments on demand
- Limiting work in process (WIP)
- Building systems and organisations that are safe to change
The Second Way – Feedback Loop
The Second Way is all about the fast and constant flow of feedback from right to left at all stages of our value stream. It requires that we amplify feedback to prevent problems from happening again, or enable faster detection and recovery. By doing this, we create quality at the source and generate or embed knowledge where it is needed – this allows us to create ever-safer systems of work where problems are found and fixed long before a catastrophic failure occurs.
By seeing problems as they occur and swarming them until effective countermeasures are in place, we continually shorten and amplify our feedback loops, a core tenet of virtually all modern process improvement methodologies. This maximises the opportunities for our organisation to learn and improve.
The Third Way – Culture of Experimentation
The Third Way is all about the creation of a generative, high-trust culture that supports a dynamic, disciplined, and scientific approach to experimentation and risk-taking, facilitating the creation of organisational learning, both from our successes and failures. Furthermore, by continually shortening and amplifying our feedback loops, we create ever-safer systems of work and are better able to take risks and perform experiments that help us learn faster than our competition and win in the marketplace.
As part of the Third Way, we also design our system of work so that we can multiply the effects of new knowledge, transforming local discoveries into global improvements. Regardless of where someone performs work, they do so with the cumulative and collective experience of everyone in the organisation.
The next part goes into detail on DevOps Principles (The goals of DevOps) → The DevOps Transformation – Part 2
 Gene Kim. The DevOps Handbook. IT Revolution Press.
 The Phoenix Project, 5th Anniversary Edition
 Jez Humble, David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
 DevOps culture
 DevOps dictionary CAMS
 DevOps Agile