Is SAFe the next big thing?
I'm hearing about more and more companies that are applying the principles so thought it probably about time that I wrote a brief dummies guide to it :-)
The dictionary definition reads... The Scaled Agile Framework SAFe™ is an interactive knowledge base system for implementing agile practices at enterprise scale. Does that clear it up?
One of the problems I've often seen is how do you scale up agile? Scrum and Kanban works great in teams of up to about 8 people (give or take) or the two pizza rule... If you can't feel the team with 2 pizza's it's too big.... Or you have a greedy team.
However many large organisations may have teams of 50+ developers working on products and this is where the SAFe framework really comes in.
Put simply SAFe is a framework template designed to allow for agile practices to be scaled and importantly it's a framework that covers the entire organisation - Its roughly operates on three levels.....
1. Portfolio Management
The individuals working with Program Portfolio Management are responsible for Governance, Program Management and Strategy and investment funding.
They are responsible for delivering the strategic themes and are stewards for the portfolio vision - determining value streams and allocating budgets to release trains,
A group of multiple agile teams - 50+ people working to deliver functionality together... This is also known as the Agile Release Train (More on that later).... They deliver PI (Program Increments) - usually across 5 Iterations (by default but as ever this can be changed)
A PI will start with the entire train hearing the Vision - Each team then goes away to plan how they will deliver their section in individual teams.
The release train engineer (see below) and Scrum Master meet twice weekly to discuss progress with stakeholders.
As per conventional Scrum/Kanban/Scrumban delivering code via cross functional teams in iterations - coached and supported by the Scrum master
One of the big selling points about SAFe that isn't really mentioned much is that that SAFe finally talks about the role of management in Agile.. Something which in my view has been lacking until now.... Why does that matter? Well from an agile adoption perspective I've often observed that management feels a little left out with the Agile process.... It alienates them!... True hardcore agile has no place for management! And for some reasons this doesn't fit well with management (turkeys don't vote for Christmas)
So where traditionally the agile process has been led my a bunch of agile evangelists (such as myself) SAFe acknowledges that for the process to be successful within an enterprise scale organisation the management, leaders and executives need to be trained and be the advocates!
The Agile Release Train or ART
Well it wouldn't be agile with out some new cool terms would it!
The 'Train' Leaves and arrives at stations to a time-table.... which is fixed and reliable.... Meaning that Software packages/releases are delivered to a given timetable and the depart frequently!!!
The 'Train' will hold all 'Cargo' - Code, documentation, etc
Everyone who's needed to be on the train... is dedicated to the train! (Multiple agile teams each working to deliver their section of the Programme increment)
Perhaps some of the most important concepts are that dates are fixed (The train timetable is you like)... but as in conventional agile the scope is variable. Time tables might be drawn up a year ahead.
Why train? Well if your going somewhere by plane you need to look up flight times, book tickets in advance and if you miss your plane.. Well your in trouble! Trains on the other-hand are frequent... if you miss one train you catch the next one! This make it's 'easier' to explain to stakeholders that missing a release isn't the end of world.... as another train will be along soon!
The Architectural Runway
No more big bang implementation of epics! Instead the enterprise commits to features delivered in the main code-line via release trains.
It may be the case that epics need to be delivered piecemeal on over many release trains,.... Or the functionality delivered but hidden until complete - allowing for incremental code changes and testing to take place behind the scenes until the functionality is exposed.
The Architectural runway is very much the concern of the 2nd tier in the framework and is such a big subject I'll write a blog article purely on this subject.
We have some new cool roles
- The Release Train engineer - Chief Scrum Master for the train a bit like a programme manager
- Release Management - Plans the scope of the release and has governance authority
- DevOps - This is another big concept (Read the blog): Integrated with the train and development teams - they facilitate the set of releases.
- Business Owners - Have ultimate responsibility for outcomes