DevOps Maturity Model
DevOps was much a philosophy until businesses started acknowledging that it is a strategic investment to make a sustained and faster delivery of its services. However still there a struggle to understand how to achieve DevOps excellence and how to measure its success.
DevOps Maturity Stages
With our years of consulting experience in the DevOps space, our recommendation for DevOps execution is a 4 stage process — lean, agile, stable and sustained. Given any execution context, this framework would work best. Be it a construction industry, project management, technology.. any thing ! When it comes to DevOps, the framework remains the same. But what we address in each of these stages matters.
1. Lean :
A deep analysis and understanding of the existing processes, tools and culture will give an insight in to what is redundant or irrelevant. This is extremely important as it helps to shred off unwanted elements in order to agile. Say the teams may be making bulky releases every time without much analysing their code branching practices or they make have complex deployment automation in place when the QA is done manually. Thus a deep analysis would forecast and help prioritise the DevOps methodologies against the business drivers.
2. Agile:
The focus here is more on automating the release processes, ie., code to product starting from build automation, QA automation, Continuous Integration (CI) & deployment (CD) making the code to production much faster and with less manual intervention. The team may still want to retain the manual qualification criteria to promote the releases across dev, QA, stage and test, but what is execute in each of these release stage can be automated.
3. Stable:
Having a better control over IT helps in *ability — reliability, availability, predictability, sustainability. In order to achieve that, the teams have to start building a resilient infrastructure and deployment ie., enable continuous monitoring, alerting, auto-scaling/healing, continuous backups etc need to be automated and integrated with the CI/CD. This gives better control and quick identification & remediation of the issues. ie., Mean Time to Detect (MTTD) and Mean Time to Recovery (MTTR). Though stage 2 and 3 seem independent, they are overlaps when it comes to application deployments and CI/CD automation. Thus these 2 stages have to be implemented hand-in-hand.
4. Sustained :
Once the end-to-end DevOps processes and tools are automated, it is extremely important to sustain the culture with the teams. This requires key metrics and insights that help measure the success of DevOps excellence.
Measuring DevOps Success
Measuring the success need key metrics touching across all the 4 stages of DevOps maturity. Here are a set of sample questions that measures the success.
Do you package and deliver software applications on multiple channels ?
What are the various channels to which you deliver software applications ?
Do you version control your software builds ?
Do you have nightly builds ?
How frequently do you make software updates ?
Do you have Continuous Integration to perform code sanity tests for every build ?
Is your source code version controlled ?
How many source control distributions do you use ?
We have mapped the DevOps stages and the metrics to help understand the current maturity stage of your business. The DevOps maturity survey also helps to understand where your business stand with respect to your peers in the industry*. You can take try a free survey from here https://freeonlinesurveys.com/s/ShEZs9AL
This post was originally published as a LinkedIn post here.
Have a nice day ! For more queries you can reach us at info@bluemeric.com