What is SAFe Agile?
The word SAFe is an abbreviation for Scaled Agile Framework, which allows for the use of 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 quickly produce high-quality apps and services. 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 approach is a philosophy that guides ARTs toward continuous value delivery by managing continuous improvements in delivery culture, automation, lean flow, measurement, and recovery.
A successful DevOps is dependent 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:
- Lean Flow
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 the clients they serve.
- Collaboration: DevOps depends upon the ability of development, operations, security, and other teams to work together efficiently. These teams should collaboratively work 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, the feedback from the customers and the stakeholders provide 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 are tools that 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 in speeding up delivery time while keeping services run without any 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 size of the queue is a predictor of the amount of time it will take to complete the work. Fast flow is achieved by closely managing, 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 progress of the initiative – 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 out of 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 to develop them. These metrics can help managers track how efficient their teams are, 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, it is the percentage of customer releases that 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 as a result of 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 are delivering.
- 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 support 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 issue until it is resolved. Learnings are then turned into permanent fixes to prevent the issue from recurring.
- Plan for and rehearse failures: When it comes to DevOps, failed deployments are not only an option. They are expected from time to time. To minimize the impact of failures 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, roll back to a known stable state.
SAFe and Agile practices and processes are very 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, to 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 that maximum value is derived out of 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 is a Lean-Agile Coach, Professional Scrum Trainer (PST) and Internationally acclaimed Speaker in many Conferences and Agile events. He has over 22 years of experience in multiple domains and he is a Certified LeSS Practitioner (Large-Scale Scrum) and one of the early adopters of DevOps practices and teaches DevOps culture around the Globe.