article

How does DevOps relate to SAFe?

By Jesper Gunnarson

DevOps kulturen är här för att stanna och så är även olika sätt att skala upp agil systemutveckling där ramverket SAFe just nu är ledande. SAFe tar sig an DevOps via något som förkortas CALMR. I denna artikel tittar vi närmare på detta vad denna förkortning avser.


C - Culture of Shared Responsibility



DevOps is a culture and a collection of concepts in software development where the goal is to be able to deliver value to stakeholders more often and at the same time ensure a stable and secure operating environment. The responsibility for this is divided between Development and Operations. Historically, these functions are often different parts of an organization or completely different organizations.

DevOps has a tolerance for errors and works towards quick resoutions. This differs from traditional work where you usually prepare for a long time Before the Go live with both braces and belt to avoid all types of errors.

The DevOps culture as well as the agile culture is about sharing information, working methods, tools and learning, as well as avoiding working in silos.



A - Automation



Within DevOps, it is considered that manual processes are an obstacle to being able to deliver value at a fast pace in a controlled manner. Therefore, we strive to automate as much as possible of the process. This means, among other things, being able to handle and work with several different environments (development, testing, staging and production) that must be as similar as possible. In addition, it is crucial that the so-called staging environment is more or less identical to the production environment.

In addition, both function and performance tests are automated as much as possible to avoid manual regression tests.



L - Lean Flow



In order to optimize the flow of value (functioning software), bottlenecks need to be identified and the relationship between development and management needs to be balanced.

Some common ways to increase the flow and increase the flow of value are to limit the ongoing work (Work In Progress) in the process, divide into smaller work packages and to try to avoid that work accumulates in long queues at certain work steps.

M - Measure everything



This is about measuring as much as possible. This includes, among other things, performing continuous monitoring, storing logs and information from deployments. Clear monitoring of both environments and deployments is important.



R - Recovery



Since the goal is to be able to make deployments often and automatically, mechanisms are needed to be able to restore faults in a simple and fast way. Therefore, environments are needed where both roll-back and fix forward can be done.

Tools and methods such as "Feature Toogles", "Dark Launches", "Chaos Monkey" and "Canary Releases" are common in this context. In this way, the risks are reduced.

With CALMR as a guiding star, it is possible to scale up DevOps to work in a SAFe implementation.