Copyright: Peshkova / 123RF Stock Photo
Recently, I was asked two questions regarding DevOps.
The first, “How do you get started implementing DevOps in an organization?” I get asked fairly frequently. The second was a bit more challenging to answer, “How do you prepare your organization to implement DevOps?”
“How do you get started implementing DevOps in an organization?” is a question many company leaders ask. The answer varies depending on who you ask, but the process is fairly-well practiced and documented by a few well-known and respected industry pundits. A successful DevOps implementation is a combination of strategic planning and effective execution.
Most commonly, an organization starts with some form of a DevOps maturity assessment. The concept of a DevOps maturity model was introduced in 2011 by Jez Humble and David Farley in their ground-breaking book, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series).
Humble and Farley presented their “Maturity Model for Configuration and Release Management” (page 419), which encompassed much more than just configuration and release management, and was created as a means of evaluating and improving an organization’s DevOps practices.
Although there are several variations, maturity models ordinarily all provide some means of ranking the relative maturity of an organization’s DevOps practices. Less sophisticated models focus primarily on toolings and processes. More holistic models, such as Accenture’s DevOps Maturity Assessment, focus on toolings, processes, people and culture.
The plans set milestones for reaching higher levels of maturity, per the model. Experts will identify key performance indicators, such as release frequency, defect rates, production downtime and mean time to recovery from failures, which are often used to measure DevOps success.
Preparing for the journey
As I said, the second question, “How do you prepare your organization to implement DevOps?” is a bit more challenging.
And, as any good consultant would respond, it depends.
The exact answer depends on many factors. How engaged is management in wanting to transform their organization? How mature is the organization’s current IT practices? Are the other parts of the organization, such as sales, marketing, training, product documentation and customer support, aligned with IT? Is IT aligned with them?
Even the basics matter, such as the organization’s size, both physical and financial, as well as the age of the organization? The industry? Are they in a highly regulated industry? Are they a global organization with distributed IT resources? Have they tried DevOps before and failed? Why did they fail?
As overwhelming as those questions might seem, I managed to break down my answer to the question, “How do you prepare your organization to implement DevOps?” into five key areas. In my experience, each of these is critical for any DevOps transformation to succeed. Before the journey starts, these are five areas an organization needs to consider:
Having an Agile mindset
Breaking down silos
Knowing your business
Taking the long view
In my next blog post, I will discuss each of these areas in greater detail and how all five combined create an ideal formula for success. Stay tuned.