One of the touchiest topics in project management is how to deal with a late project. A few years ago, when meeting a developer...
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.
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.
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.
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.
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.
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 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.
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.
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)
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.
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
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.
You may also like
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 adopts the same goal as Lean, which is to reduce or eliminate waste, and in IT waste comes in many forms. Rework...
DevOps is a set of practices that standardize software development (Devs) and infrastructure management (Ops) processes to...