CALMS is a popular framework for assessing an organization’s implementation of DevOps-based working practices. The model was first published within The Devops Handbook.
Applying the CALMS mindset to your work helps to set you up for DevOps success. You can use it to assess performance, identity improvement opportunities, and establish benchmarks against neighboring teams and the broader industry. In this article you’ll learn what the CALMS principles are and how they can elevate your DevOps strategy.
What Is CALMS?
CALMS sets out five focus areas that high-achieving DevOps teams excel in:
- Culture – DevOps should be deeply ingrained in your organization with strong support at all levels, from individual developers to business executives. Non-tech teams need to recognize the benefits of rapid iteration and continuous delivery before engineers can establish optimal workflows.
- Automation – Manual processes are labor-intensive, costly, and error-prone. Using automation to manage infrastructure and create deployments frees up teams to make more meaningful improvements to your products.
- Lean – DevOps and Lean methodologies go well together. Eliminating bottlenecks, embracing rapid failures, and relying on iteration instead of prescriptive release schedules increases throughput while preserving quality.
- Measurement – Improvements aren’t pulled from thin air. The best teams continually measure and analyze data to check what’s working and identify new opportunities. Adopting the DevOps philosophy inside existing teams often takes several attempts to get right. Regular performance reviews allow ineffective practices to be terminated before they sap resources.
- Sharing – DevOps encourages collaboration between teams and disciplines. Engineers and operators should share insights from their activities, including successes such as new automation tools and failures like moving too fast and breaking an environment. Proactive sharing lessens the risks of group think, siloed information, and perpetuated inefficiencies.
These five principles foster strong DevOps practices within your team. They guide you towards embracing the DevOps methodology by singling out specific attributes that are characteristic of good implementations.
CALMS provides a useful mnemonic of areas to target for DevOps improvements. If your process isn’t quite right, “keep calm” and start automating, iterating, and measuring.
CALMing Your Processes
To CALM your processes, first address any blockers that prevent people from embracing the DevOps culture. Next identify opportunities to upgrade inefficient workflows by removing them altogether, breaking steps into lean iterations, or incorporating automated tools that perform repetitive tasks for you.
After you’ve applied your improvements, measure their effects to understand whether they’re working. Use the insights from your data to make further adjustments that target specific problems. Continue iterating in adjust-measure-improve cycles until your data confirms the intended effect has materialized.
Share what you’ve learned with those around you as your process develops. This could be during a retrospective but it’s often more useful to disseminate information as it’s accumulated. This keeps everyone informed of what’s happening, where you’re headed, and the reasons why particular approaches are being favored.
What Should You Measure?
Making the right measurements is a vital part of DevOps success. Without data you don’t know how well you’re performing. You might have a sense that you’re succeeding or falling behind but this could be exaggerated or a complete reversal of what’s actually happening.
The four DORA metrics are a good starting point for DevOps performance measurement. These track Deployment Frequency, Change Lead Time, Change Failure Rate, and the Time to Restore Service after an incident. Combining DORA analysis with the CALMS framework gives you tangible data and a framework for improving your results.
You might notice your deployment frequency trending downwards over time, for example. This is a bad sign – it’s taking longer for code to reach customers, but you might not know why. The CALMS framework provides suggestions for resolving the problem. It could be that there’s too many steps to release new changes, something that’s resolvable through automation. Alternatively, revisions might be getting blocked as they move between teams, indicating a loosening of lean principles and a degrading DevOps culture. This might demand more cross-discipline discussion to fix.
How CALMS Enables DevOps Success
CALMS isn’t another empty buzzword. It helps solidify and consolidate DevOps best practices, making the occasionally vague concept more approachable. There’s more than one way to do DevOps but the best implementations will be built on the five CALMS principles.
You can use CALMS to spot both problems and opportunities. There might be principles that you’re missing or ones which are being underutilized. It’s common for organizations to automate parts of processes but lack a cohesive DevOps culture, for example. Other firms might enthusiastically advocate the DevOps mindset but lack the data points to measure their success. Referring to CALMS reveals the missing pillar in each case.
CALMS showcases how good DevOps hybridizes efficient engineering with the mindset and team culture that supports it. You need to implement practical steps – principally automation and analysis – while adopting a work ethic that favors iterative collaboration. Regularly appraising the extent of each CALM principle, then making small changes to improve, will gradually progress your DevOps maturity and let you attain the overarching aim of shipping quality code more quickly.
DevOps is more than tools and technology. The CALMS model acknowledges this by also emphasizing collaboration and culture. These can be seen as DevOps’ human side. Evaluating your organization’s adoption of the CALMS principles indicates whether culture and technology are optimally balanced to produce DevOps success.
While CALMS is a useful framework for detecting your strengths and weaknesses, it doesn’t guarantee you’ll become a DevOps high-performer. DevOps is inherently subjective and customizable: the CALMS principles are applicable to most teams, but you can tweak them to align with your environment. Adhering to the framework shouldn’t overtake your sense of the ideal DevOps implementation for your situation.
Some large organizations might find it impractical to rollout one set of DevOps practices across all their cohorts, for example. Small inter-team workflow variances aren’t necessarily a problem, especially when supported by sharing mechanisms – the “s” in CALMS – that allow teams to learn from each other and gradually unify their methods.