DevOps Frameworks

April 20, 2021

As we covered in a previous article, DevOps is about culture and philosophy. Like every decent movement there are various frameworks: Three Ways – Calms and Accelerate are the best known.

Three Ways

This approach has been popularized by the Phoenix Project and the DevOps Handbook. The “Three Ways” principles are rooted in the idea that DevOps processes and practices come from three founding principles: The three ways.

1st  principle

This principle focuses on the overall optimization of the work flow, using a holistic approach to processes from the initial stages to deployment and customer feedback. This principle addresses processes in a global way as opposed to the traditional silos.

 

2nd Principle

The key factor here is the emphasis on feedback to enable the detection and prompt fixing of any problems or bugs before they are delivered to the end user. This principle supports the creation of shared goals and the acknowledgement of mutual challenges between Devs and Ops, but also the setup of an appropriate telemetry on the entire value chain.

 

3rd principle

Probably the most important principle since it involves building a culture of collaboration and experimentation. The core idea behind DevOps is “Continuous Learning”. Repetition and practice are encouraged, including with tools like “Chaos Monkey” used to test the resilience of infrastructures. This is not a hero culture, but one of continuous improvement, allowing everyone to admit their mistakes or concerns. This error acceptance creates a psychological safety that encourages experimentation and improvement.

Keep Calms

The CALMS model is mainly used to assess whether your organization is mature enough to adopt the DevOps culture or to evaluate the progress of the current initiative. CALMS is the acronym representing the five pillars of this model: Culture – Automation – Lean – Measurement – Sharing.

 

Culture

Culture is the most important component of this model and for DevOps in general. It is therefore about establishing a culture of communication and collaboration but also of continuous learning. The goal is to foster a hypothesis-driven and scientific mindset, replacing a culture of fear with a culture of sharing in which problems are not hidden under the rug, but identified and the solution found collegially.

Automation

This pillar is the most obvious since it’ s almost always associated with the term DevOps. DevOps is frequently reduced to automation, but as Christopher Little put it so well, “DevOps is not limited to automation, just as astronomy is not limited to telescopes. “. But automation is still critical, any manual system represents a major threat to business. That’s why “Continuous Integration” and “Continuous Deployment” are widely adopted to make deployments smoother and more efficient. Netflix is well known for its efficient deployment process (no less than a hundred per day).
The implementation of “As-a-Service” such as Infrastructure as a Service also allows the creation of on-demand environments.

Lean

DevOps is also built on many Lean principles that seek to create value for the end customer through “system thinking”. The Lean philosophy provides for the elimination of waste and the control of the value chain through tools such as the Value Stream Map (VSM)

 

Measure

DevOps is a scientific approach and as such needs to be evaluated through data collection and solid metrics (SLA-SLO-SLI) allowing improvement decisions to be made on informed insights. Before starting a total revamp of an organization’s metrics, first consider the existing metrics to do an inventory and check their compatibility with the DevOps approach. Only then should new metrics be put in place in line with the new tools and processes implemented.

Sharing

This last principle is inherently tied to the DevOps culture, which is based on collaboration and sharing. This principle reflects the statement “Knowledge is the currency of the new economy”. DevOps focuses on transparency and cross-silo knowledge sharing, overcoming the wall of confusion (the misunderstanding and non-communication between dev and ops teams). DevOps teams focus on common goals, eliminating friction, and thus sharing responsibilities.

“In previous years, we found that test automation had a significant impact on continuous delivery. This year, we built upon prior years’ research and found that continuous testing positively impacts continuous delivery.”
— Dr. Nicole Forsgren, Gene Kim, and Jez Humble at DORA | 2018 Accelerate: State of DevOps Report

Accelerate

This model is described in the book “Accelerate: Building and Scaling High Performing Technology Organization” by Nicole Forsgreen, Jez Humble and Gene Kim.

Key points: Technology Transformation initiatives within organizations are at different stages, but more importantly, although DevOps is accelerating the technology transition, which is very frequently underestimated, especially by executives. The key to validate the efficiency of the implemented changes is to measure and understand the critical components by focusing on capabilities and not on the maturity of the companies, through 4 factors.

 

Maturity model and capability model: the battle

1st factors : Goals

Maturity Model: The goal is to help organizations to “reach” a maturity stage and once that stage is reached… well, mission accomplished. The problem is that this vision is at odds with the DevOps purpose which focuses on a continuous improvement paradigm.

Capability model: Recognizes the ever-changing technology and business opportunities. This model assumes that evolution never stops.

 

2nd factors : dimension

Maturity Model : This model is built in a linear pattern, providing a uniform set of technologies, tools and resources across teams and companies. Of course, the problem is that all companies are not equal.

Capability Model : Built in a dynamic and multi-dimensional way, this model provides an opportunity for organizations to have a customized approach for improvement by focusing on the resources that organizations deem most beneficial in their current contexts.

 

3rd Factor : measure

Maturity Model : The performance metrics in this model merely measure technical performance without connecting it to any outcomes. So, it’ s more like Vanity metrics since it doesn’t provide any information about business impact.

Capability Model : Metrics focus on high-level objectives and how capabilities and resources are improving business results.

 

4rth factor : Agility

Maturity Model : Defines a static level of capabilities to be achieved at the resource, process and organizational levels.

Capability Model : This model is more flexible and adaptable to ever-changing environments and offers organizations the opportunity to focus on skills development to remain competitive.

Whatever model is used, there is some dispute about what capabilities should be assessed. Accelerate proposes a suite of 24 key factors that contribute significantly to improving software development performance and delivery. These capabilities are divided into five categories: Continuous Delivery, Architecture, Products and Processes, Lean Management and Monitoring, and Culture.

 

To sum up

Analyzing the various models presented in this article, several themes emerge as recurrent: Culture – Collaboration and Continuous Improvement. These three high-level concepts encompass many of the principles presented in these models.

TAGS:

You may also like

Brooks Law

Brooks Law

One of the touchiest topics in project management is how to deal with a late project. A few years ago, when meeting a developer...

DevOps KPI

DevOps KPI

to ensure the efficiency of DevOps, it is better to know which metrics to evaluate. Let’s have a look at the DevOps Key Performance indicators

DevOps origins

DevOps origins

DevOps was created to reconcile these two opposing camps. To fully understand it, we must deconstruct this tragedy in 3 acts, leading to the Dev/Ops rupture.

DevOps & the Lean waste

DevOps & the Lean waste

DevOps adopts the same goal as Lean, which is to reduce or eliminate waste, and in IT waste comes in many forms.   Rework...

DeVops Practices & tools

DeVops Practices & tools

DevOps is a set of practices that standardize software development (Devs) and infrastructure management (Ops) processes to...