What is Devops? Why do we talk about 5 CALMS in DevOps?
DevOps is a methodology that combines practices capable of structuring collaboration between Development and Operations teams within an organisation. The term ‘DevOps’ itself is a combination of Development and Operations, understood as a collaborative or shared approach to the activities carried out by these teams.
CALMS is a framework that assesses a company’s ability to adopt DevOps processes and a way to measure success during a DevOps transformation. The acronym was created by Jez Humble, co-author of ‘The DevOps Handbook‘, and stands for Culture, Automation, Lean, Measurement and Sharing.
How are the 5 CALMS linked to Devops?
DevOps is a methodology aimed at improving work during the software development life cycle. It is possible to imagine a DevOps process as an infinite cycle, comprising the following phases: plan, code, build, test, release, deploy, operate and monitor.
The CALMS framework covers all stakeholders within DevOps, including business, IT operations, QA (Quality Assessment), InfoSec (Information Security) and development teams. The framework looks at how they collectively deliver, deploy and integrate automated processes that make sense for the business.
The CALMS model provides a good framework for comparing the maturity of a DevOps team and is valuable for assessing the state of teams in view of the transformational change that follows. CALMS is a conceptual framework for the integration of development and operational (DevOps) teams, functions and systems within an organisation. The CALMS framework is often used as a maturity model to help managers assess whether their organisation is ready for DevOps and, if not, what needs to change.
What are the 5 CALMS in DevOps?
John Willis and Damon Edwards came up with the acronym CAMS in 2010, later expanded to CALMS by Jez Humble.
CALMS stands for:
Each piece of the puzzle contributes to the success of a truly DevOps-oriented cultural change. Let us look at the main aspects of the 5 CALMS together.
C stands for Culture as cultural change can be considered the core of any DevOps transformation. The change must be embraced by top management and put into practice with consistent leadership that sets a good example.
DevOps is not simply a process or a different approach to development, but a real cultural change. A fundamental part of the DevOps culture is collaboration. Any tool or automation is useless if development and IT/Ops professionals do not work together: DevOps does not solve problems related to tools but solves problems related to professionals, to the human aspect of a job.
Because DevOps does not solve tool-related problems. It solves human problems.
Sharing a common goal and a plan to achieve it together are two key factors in fostering collaboration within and between teams; the very goal of the DevOps methodology. The most successful companies are in favour of applying the DevOps culture in all departments and at all levels of the company, because DevOps is not the work of one team, but is the result of the collaboration of all the teams involved.
In addition to increasing speed and quality of delivery, automation is the most important part of DevOps: it allows value to be delivered faster and with higher quality, which is the main goal of the methodology.
Automation is fundamental and should be exploited as much as possible for several reasons:
- It helps to eliminate manual and repetitive tasks and to create reliable systems for performing them: computers, in fact, perform more rigorous and reliable tests than people, allowing them to detect bugs and security issues faster
- Automation allows simpler jobs to be done automatically, leaving time for higher value work for which human input is indispensable
When we talk about Lean we are referring to two very different aspects: culture and automation.
While on the one hand there is the abstract aspect of DevOps, the philosophy behind it, on the other hand we have its more practical aspect, that of automation.
A DevOps mindset recognises opportunities for continual improvement everywhere.
Some are obvious, such as holding regular retrospectives to improve team processes, while others are more subtle, such as A/B testing of different onboarding approaches for new product users.
Team members are able to visualise work in progress (WIP), limit batch sizes and manage queue lengths.
Measuring data is generally a key aspect of making choices, and as far as DevOps is concerned, the focus is exclusively on certain metrics.
Rapid iteration only works if you know where you are going, and it is therefore necessary to be data-aware: measuring and keeping track of what is being done in the software development process is a non-negotiable prerequisite for making fact-based decisions.
For this reason, disciplined and well-organised organisations collect data on everything.
Having a large amount of data will help your team make decisions, but this data will prove even more useful if it is also shared externally with other teams in the organisation to create clear roadmaps and receive support from all the teams involved in the process and, if necessary, from all stakeholders in general.
Finally, we find the S of sharing:
Knowledge sharing and best practices acquired during the entire process, is a key aspect in order to successfully conclude a project because it enables collaborative work.
Collaboration between the various parties leads to an overall increase in the company’s performance.
A culture that supports constant sharing fosters continuous learning.
From this system of CALMS comes a new concept of collaboration between programmer and systems engineer in a company. Working together throughout the production cycle of an application creates an environment in which production can be self-organised.
The widespread concept of working by departments may suit some, but not all.
In summary, DevOps is about transforming the culture of the organisation, so that you can:
- Move faster
- Be more efficient
- Collaborate more effectively
It is reflected in the five principles (culture, automation, lean, measurement, sharing).
A developer’s work is based on constant learning, given the many challenges that a collaborative environment facilitates in reducing the time between production and final delivery. If one decides to use the five CALMS DevOps pillars, collaboration throughout the production cycle will inevitably lead to tangible better results.
Also read our interview ITIL vs DevOps, with expert trainer Xavier Heusdens’s on his experience with both methodologies.
Would you like to learn more? QRP International offers the PeopleCert DevOps Certification. Don’t hesitate to contact us for more information.