DevOps and the Scaled Agile Framework (SAFe®)
The relationship between Agile and DevOps has been thoroughly discussed in our two-part series on DevOps (Part 1, Part 2). By now, you know that DevOps means the integration of the entire development lifecycle with the operations approach, to incorporate post-deployment aspects and to maintain customer focus throughout the process. DevOps means that development no longer ends, and IT operations no longer starts at release.
The Definition of Done is transformed by DevOps to mean “deployed to production“, involving aspects that are relevant after deployment & release (security, compliance, but also sales, marketing, and support, for instance). All this needs to be part of the lifecycle, with all stakeholders included in the process. DevOps basically means customer-focused collaborative development. It’s the result of a natural evolutionary process, an extension to Agile based on Agile’s fundamental principles.
The complexity of the task at hand is obvious. It’s not easy to incorporate all those approaches in the development of a product even if you’re managing a small team – but what if a large enterprise attempts to implement DevOps?
As explained above, DevOps can be thought of as practically “Agile Operations”. Implementing Agile in large organizations is difficult enough; that’s what the Scaled Agile Framework (SAFe®) was designed for. So the question arises: how do SAFe® and DevOps relate? Do they work together, or are they overlapping in any way? Furthermore, is there such a thing as a “Scaled DevOps Framework”?
DevOps & SAFe®: the concept
The good news: DevOps can be scaled along with Agile, and SAFe® actually supports the scaled implementation of DevOps through its principle of continuous delivery. The reason to that is simple: the concept of DevOps is actually quite similar to continuous delivery as perceived and implemented by SAFe®.
In short, the organizational backbone of development in SAFe® is the Agile Release Train, a group of self-organized Agile teams. They all work to achieve the continuous delivery of quality products. As a consequence, deployment also needs to be continuous. In order to achieve this, the development and operations teams have to work together; the operations team will have to be part of the release train. In other words, DevOps is actually a section in the process of continuous delivery.
What’s more, to align with one of the basic goals of DevOps (customer focus), SAFe® introduces shortened and amplified feedback loops. Monitoring and feedback throughout the lifecycle leads to the prioritization of the “voice of the customer”. Incorporating feedback as early and often as possible means that rework can be avoided, resulting in lower costs, shorter time to market, higher product quality and increased customer satisfaction.
Scaled DevOps in practice
We have established that through its concept of continuous delivery, a complete and thorough implementation of SAFe® also means the implementation of DevOps, which seeks to integrate operations (deployment) aspects in the development process. The basic principles and best practices of DevOps as described by SAFe® can be summed up as follows:
- Building and testing the product in a production-like environment – propagating all changes to the development environment
- Deploying frequently – first to a staging server that resembles the production environment, then to the actual environment
- Maintaining everything under version control
- Monitoring the operation of the product & gathering feedback
- Automating everything (building environments, deployment) to support continuous delivery
In the above referenced article, SAFe® offer some further tips on creating a deployment pipeline based on these DevOps principles. They also stress the importance of visualizing the pipeline of deployable work to help collaboration. Automatically visualized workflows are actually one of the features codeBeamer offers to support the implementation of DevOps, but it’s certainly not the only one.
SAFe® and Scaled Agile Framework are registered trademarks of Scaled Agile Inc.