GET 10% OFF ON ALL COURSES -
Get the code
×
Mar 8th, 2022

The Ultimate Guide to DevOps, SAFe® Agile, and the CALMR Approach

Naveen Kumar Singh
Naveen Kumar Singh

Naveen is a professional agile coach and has been working independently for a long time in the Asia... Read more

What is SAFe®Agile?

The word SAFe® is an abbreviation for Scaled Agile Framework, which allows for using lean-agile methods at the enterprise level. It is commonly employed in large-scale organizations to meet the needs of all stakeholders. In addition, it addresses the needs by leading enterprise portfolio and value stream initiatives. SAFe® is known to have the following benefits-

  • Improvement in product quality
  • Lesser delivery time
  • Efficient production
  • Transparent framework
It is crucial to understand Agile software development to understand SAFe® better. It is an empirical software development approach to developing new and innovative products/solutions. Such products usually demand faster delivery to validate assumptions and control associated risks.  The roles and responsibilities of the Agile team within the scaled agile framework are as follows-

  • Scrum Master: A coach for an agile team. Scrum Masters teach Scrum, XP, SAFe®, Lean, etc., to the Agile Team. They ensure that agreed agile practices get followed and work on impediments. If needed, they coach individuals and teams on self-management and facilitate the team's decisions and events. 
  • Agile Team: They are in charge of completing the work as forecasted to meet an iteration goal with agreed quality. A self-managed team to plan, track, and produce increments within timebox events. They pull work from product backlog to iteration backlog, update burndown and do the job as per definition of done. 
  • Product Owner: They are value maximizers who see the end products and solutions as a means of achieving the long-term vision. Someone well aware of customer needs, product market fit, and track the product's progress regarding stakeholders' expectations.
There are other roles beyond agile teams in Scaled Agile Framework such as Release Train Engineer, Product Management, Solution Architect, and Business Owners working at ART (Agile Release Train) level. I will talk about them separately.

What is DevOps?

The term DevOps is a combination of two words- Development and Operations. It combines a variety of cultural concepts, processes, and tools that improve a company's capacity to deliver applications and services effectively.  Organizations can provide better services to their clients and compete in the market with ruinous competition because of the swiftness provided by DevOps. 

DevOps ensures that IT teams can collaborate efficiently and effectively to produce high-quality apps and services quickly. As a result, these products will transform and improve faster. 

All in all, DevOps and SAFe® together can help an organization become faster, more precise, and more productive.

SAFe®'s CALMR Approach

SAFe®'s CALMR philosophy guides ARTs toward continuous value delivery by managing continuous improvements in delivery culture, automation, lean flow, measurement, and recovery.  A successful DevOps depends on a unified team that works towards achieving excellent business outcomes. SAFe®'s CALMR approach is one such approach. This approach is based on the fact that when everyone in a team works and thinks with continuous delivery in mind, the results are:

  • Increased quality and security of product innovation 
  • Decreased deployment risk with faster learning cycles 
  • Decreased solution time-to-market 
  • Improved solution quality 
  • shortened lead time for fixes 
  • Lesser failures and defects
  • Improved Mean Time to Recover (MTTR) from production incidents
The industry has recognized that successful DevOps requires a strong understanding of culture, automation, lean flow, measurement, and sharing (CALMS).  CALMR is made up of five components that act as DevOps pillars. These components guide everyone involved in continuous value delivery in their decisions and activities.  The components are:

  • Culture
  • Automation
  • Lean Flow
  • Measurement
  • Recovery
1. Culture: DevOps in SAFe® uses the culture developed by adopting the framework's Lean-Agile beliefs, principles, and practices. DevOps allows some operational tasks to be moved upstream while development activity is followed downstream into deployment. The solution is operated and monitored in production. This culture requires the following fundamental values-

  • Customer Centricity: Value is determined by an enterprise's ability to sense and respond to customer needs. Therefore, everyone in the value stream must be fully aware of their clients.
  • Collaboration: DevOps depends upon the ability of development, operations, security, and other teams to work together efficiently. These teams should collaborate regularly to ensure that solutions are produced, delivered, and maintained in sync with changing business requirements.
  • Risk Tolerance: DevOps demands a common understanding of the fact that every release is a test until customers validate it. Risk-taking, continual learning, and continuous improvement are rewarded in DevOps cultures.
  • Knowledge Sharing: Sharing ideas, discoveries, practices, tools, and learning across teams, ARTs, and the organization as a whole unifies the organization and allows skills to shift to the left.
Become a DevOps SAFe® Practitioner with the help of SAFe® DevOps Practitioner (SDP) Certification Training 2. Automation: DevOps realize the importance of fast value delivery, high productivity, and safety. Manual processes, on the other hand, are slow and less productive. The manual processes also increase the chances of errors which may cause delays in the final deliverable.


In DevOps, a Continuous Delivery Pipeline is an integrated 'tool chain' that decreases the processing time and feedback cycles. In addition, customer and stakeholder feedback provides data to support a solution if they are not delivering the expected values. A Continuous Delivery Pipeline involves the following tools-

  • Value Stream Management: VSM tools surround the continuous delivery pipeline from beginning to end, offering real-time visibility into the value stream's quality and efficiency.
  • Version Control: These tools store and manage changes to source and configuration files that define the behavior of solutions, systems, and infrastructure.
  • Infrastructure as Code: Infrastructure-as-code treats all systems as highly configurable, expendable commodities.
  • Test Automation: Test automation is a significant source of delivery acceleration. It applies to all forms of the unit, component, integration, regression, performance, acceptance, and usability testing.
  • Vulnerability Detection: Such tools span much of the continuous delivery pipeline and are specifically designed to detect security vulnerabilities in code, networks, and infrastructure.
  • Continuous Integration/Continuous Delivery: These tools are typically invoked automatically upon code commit and orchestrate, build, integration, testing, compliance, and deployment activities.
  • Monitoring and Analytics: These tools collect usage and performance data from all levels of the solution stack and provide critical insights into pipeline flow, solution quality, and delivered value.
3. Lean Flow: Agile teams and trains strive to achieve a state of continuous flow. It can be understood as a general push for smaller batch sizes of software delivery. It limits WIP and provides real-time visibility of software.  It also increases predictability and accelerates feedback along with reduced rework, This eventually leads to an increased release frequency and lower costs.

Lean flow helps speed up delivery time while keeping services running without disruptions. The three key elements here are-

  • Limit Work-in-Progress(WIP): A Program Kanban enables all the stakeholders to see the WIP. The benefit here is that all the teams can see the obstructions. They can then balance the amount of WIP against the available capacity and development.
  • Reducing Batch Sizes: Smaller batch sizes are quicker to go through the system. This leads to speeding up the learning process.
  • Managing Queue Lengths: The queue size is a predictor of the amount of time it will take to complete the work. Fast flow is achieved by closely managing and reducing queue lengths. The shorter the queue, the faster the delivery.
4. Measurement: There is a need for a gauge to track the success of the DevOps transformation to make the necessary corrections. There are some KPIs to track the initiative's progress - Cycle Time, Lead Time, and Quality Metrics. The DevOps metrics help to understand what is working and what is not & assess the situations where improvements need to be made.

How much value is derived from the DevOps initiative in terms of time saved and money earned is also known? Some of the key metrics to consider the success of the DevOps initiative-

  • Pipeline Flow Metrics: A rapid and stable delivery pipeline is essential for a successful DevOps transition. Some of the ways to measure the performance are-
  • Lead Time: It is the average amount of time it takes from the start of development to the delivery of a working product.
  • Deployment Frequency: The number of times a change or a new product version product is deployed to production.
  • Change Volume: The number of changes (new features, bug fixes, etc.) that are released into production.
  • WIP Volume: The number of work items in progress at any given time.
  • Solution Quality Metrics: The solutions developed for customers are as important as the process of creating them. These metrics can help managers track their teams' efficiency and measure customer satisfaction. They also help to identify problems before they become more serious issues that affect business operations or result in financial losses.
  • Change failure rate: It is the most important solution quality metric to watch. It means the number of issues or defects that come from changes made to a solution or component after being released into production. Essentially, the percentage of customer releases resulted in a degraded service and had to be fixed.
  • Solution Value Metrics: There are several solution value metrics used to track the progress of DevOps transformation, including:
  • Return on investment (ROI): The amount of money returned to the company due to investing in a DevOps transformation.
  • Net Present Value (NPV): A project's value is measured in terms of its return on investment.
  • Customer ticket volume: The number of customer tickets (requests for support) opened each month.
  • Customer satisfaction: The percentage of customers satisfied with the solutions you deliver.
  • Time to restore: The average amount of time it takes to restore service after a problem has been identified and the solution is made available.
5. Recovery: To support frequent and sustained value delivery, the continuous delivery pipeline must be designed for low-risk releases and fast recovery from operational failure. The following techniques help fast recovery-

  • Stop-the-line mentality: With a 'stop-the-line' mentality, any issue that compromises solution value causes team members to stop what they are doing and swarm on the problem until it is resolved. Learnings are then turned into permanent fixes to prevent the issue from recurring.
  • Plan for and rehearse failures: Regarding DevOps, failed deployments are not only an option. They are expected from time to time. To minimize the impact of losses and maximize the resiliency of solutions, teams should develop recovery plans. They should also practice them often in production or production-like environments.
  • Fast fix forward and roll back: Since production failures are inevitable, teams need to develop the capability to quickly 'fix forward' and, where necessary, move back to a known stable state.

Conclusion

SAFe® and Agile practices and processes are powerful in the upstream delivery cycle. Upstream means from the inception or discovery of a vision, product, idea, or problem down to product road-mapping, release planning, product backlogs, user stories, and development and QA of the product features.  A DevOps transformation requires a lot of planning and forethought.

Continuous work is required on transformation to ensure maximum value is derived from it. It is not a single tool or a process but a culture change that is adopted to make business more agile and efficient.

Naveen Kumar Singh

Naveen is a professional agile coach and has been working independently for a long time in the Asia Pacific. He works with the software development team and product team to develop awesome products based on empirical processes.

WhatsApp Us

Explore the Perfect
Course for You!
Give Our Course Finder Tool a Try.

Explore Today!

RELATED POST

Agilemania Refer and Earn
Agilemania Whatsapp