The Continuous Delivery Pipeline: the Pipeline that Keeps Giving. Part IV: CALMR — SAFe’s Approach to DevOps

keep-calm-and-stay-safe-130“Be safe, and be calm…be calmer…everything will be just fine” — This is what a servant-leader would say to anxious followers as they go through a transformation…from the familiar to the unfamiliar.

SAFe makers, I think, like wordplay! SAFe and CALMR? yeah…very creative, SAFe makers!

Per SAFe: “DevOps is a mindset, a culture, and a set of technical practices. It provides communication, integration, automation, and close cooperation among all the people needed to plan, develop, test, deploy, release, and maintain a Solution.

DevOps relies and embraces the whole SAFe framework: SAFe core values, SAFe 9 Principles, and SAFe Practices and tools. DevOps enables shifting some operating responsibilities upstream, while following development work downstream into deployment, and operating and monitoring the solution in production.

SAFe’s approach to DevOps, per SAFe is CALMR: Culture of shared responsibility, Automation of the Continuous Delivery Pipeline (CDP), Lean flow accelerates value delivery, Measurement of everything — measure the flow of value, and Recovery enables low risk releases.

DevOps_F01_WPLet’s look at these five elements of CALMR  —  the SAFe approach to DevOps  — at high-level.

Culture of shared responsibility — some key things to keep in mind: 1) Collaboration and organization — the ability of Agile teams and system team to deliver value together in an optimum way and in a sustained and reliable manner; 2) Risk tolerance — risk taking is encourage and failure is tolerated… with fast recovery; 3) Self-service infrastructures — this empowers development and operations to act independently: 4) Knowledge sharing — create that shared and collective consciousness mindset required to act as one organism; 4) Automate everything mindset – DevOps relies heavily on automation to provide speed, consistency, and repeatable processes and environments.

Automate Everything — manual processes is the enemy of fast value delivery, high productivity, repeatable processes and environment and safety. We need tool sets to do this: 1) Application Lifecycle Management (ALM) ; 2) Artifact Management Repository; 3) Build automation tools; 4) Automated testing tools; 5) Continuous integration tools; 5) Continuous deployment tools. A set of ‘tool chain,’ example is shown in Figure 2, which typically contains the aforementioned categories of tools:

autoate Devops_F02_WP

Lean Flow — we strive to have a continuous flow of business Value through the CDP… by embracing and implementing SAFe Principle #6: ‘ Principle #6 – Visualize and limit WIP, reduce batch sizes, and manage queue lengths.’ Use the Kanban board to visualize!

lean flow Devops_F03_WP

Measure the Flow of Value — basing decisions on data, where “the facts are always friendly” rather than intuition, leads to an objective, blameless path toward improvement. Data should be transparent. It should be accessible to everyone, be meaningful, and easily visualized to spot problems and trends. Measure the value that goes through the CDP and also collect data on business, application, infrastructure, and client layers… everything measurable that you can think of… and make sure that you store these in ways that enable analysis.

Recover—Enable Low-Risk Releases. The following came from SAFe — I could not have stated it better myself:

To support the continuous delivery pipeline and the concept of Release on Demand, the system must be designed for low-risk component or service-based deploy-ability, release-ability, and fast recovery from operational failure. Techniques to support fast recovery:

1) Stop-the-line mentality – With a stop-the-production mentality, everyone swarms to fix any problem until it’s resolved. When there’s a problem with the continuous delivery pipeline or a deployed system, the same thinking must apply. Findings are integrated immediately into the process or product as they’re discovered.

2) Plan for and rehearse failures – When it comes to large-scale IT applications, failure is not only an option, it’s guaranteed at some point. A proactive approach to experiencing failures will increase the team’s response practices and also foster built-in resilience into the systems.

3) Build the environment and capability to fix forward or roll back – Since mistakes will be made, and servers will fail, teams need to develop the capability to quickly ‘fix forward’ and, where necessary, roll back to a prior known good state. In the latter case, planning and investment must be made to revert any data changes back to the prior state, and not lose any user transactions that occurred during the process. To achieve these recovery capabilities, the organization will typically need to undertake certain enterprise-level initiatives to enhance architecture, infrastructure, and other nonfunctional considerations to support deployment readiness, release, and production.

Blind Men and the ElephantThere you have it…that is SAFe’s Continuous Delivery Pipeline (CDP) in a nutshell… yes, it is an ‘elephant’… we simply put the various parts together to be understood as a whole in a 4-part series. Of course, there are more to it… go deep dive and you find more information. Word of caution: when you do that deep dive (yes, SAFe, not just CDP, is wide and deep! Hence there are SAFe Program Consultants (SPC) like me who can help you implement SAFe and Coach and Mentor you in your transformation and achieve high performing teams), there is a chance that you eventually “cannot see the forest for the trees”; Cant-see-the-forest-for-the-trees-680x233however, when you find yourself in that situation, lost, please do come back to this 4-part series to “see the forest”  — the big picture — once again.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s