DevOps and Agile transformations continue to be challenging for organizations due to the complexity of the problem. It seems that most people agree on what good looks like but struggle to find their way there. Successful organizations like Netflix or Spotify provide examples, but their journey cannot be simply copied—and organizations that try encounter a lot of challenges as their context organizationally and technologically is different. The transformation is different for every organization, but some patterns are common—so what can one do?
In my book “DevOps for the Modern Enterprise” I tried to write down my experience from working with many large organizations. While there is no one solution, successful organizations display patterns of success and more importantly a certain way of thinking has been common for organizations who made progress. And, of course, I have been part of many things that did not work out and can share those experiences to help others avoid costly mistakes. No need to pay for those lessons yourself.
Three themes run throughout the book:
The transition from managing IT work like manufacturing work, toward managing it like a process enabled by knowledge workers
Dan Pink’s three ways to motivate knowledge workers: Autonomy, Mastery & Purpose
The power of small batches, why it is important to work in small batches and how to enable them
These three themes run like threads throughout all parts of the book. I was motivated by the fact that as a developer myself, I found it very frustrating how for a period of time over-industrialization created a view of IT work as just a production process that should be optimized for cost and productivity. Something that simply is not appropriate in this day and age.
There are three dimensions of change which need to be addressed for a transformation to be successful:
The ecosystem of the organizations, including vendors and software partners
The people dimension and the organizational structure
The technology architecture of practices and technologies to enable engineering
And, in the center of it all, is a rigorous continuous improvement process that leverages the scientific method to plan and evaluate the experiments that make up the transformation over time.
Let me give a little summary of each section:
Creating the right ecosystem
The ecosystem is the environment in which the transformation needs to take hold to make real change—setting up the transformation for success and identifying the right applications in a legacy environment that should be tackled first. Selecting the right technology vendor and systems integrator can help during the transformation.
The People and Organizational Dimension
Nothing happens without people in technology, so how can we structure our processes and our organization in a way that maximizes Autonomy, Purpose and Mastery for our knowledge workers? Agile helps provide all three things to our people, along with some organizational structures—all have shown to be good stepping stones for success and how the organization has to move from testing to quality engineering.
Technology and Architecture Aspects
Continuous Delivery and more advanced delivery patterns are two practices needed to be successful along with the DevOps tool chain. Architecture evolution towards microservices and leveraging the cloud successfully are critical components.
Organizations who consider all three dimensions are stacking their chances for success.