The Scaled Agile Framework (SAFe) is a marvelous tool for allowing us to visualize, baseline and improve our agile initiatives as we scale them to the largest development efforts on the planet. As a SAFe consultant, practitioner and team member I’ve noticed a couple of patterns that I’d like to bring forward for discussion and/or maybe a simple “adoption pattern" that others might find useful.
1.The Complexity Container
The SAFe 4.0 (Lean Systems Engineering) brought forward a new level (physically) in the SAFe big picture as well as powerful engineering constructs like Model Based System Engineering and Set Based. It did this through the creation of a new “Value Stream layer”. Since the advent of this layer we’ve seen a lot of excitement as well as some confusion around when and how it should be applied.
For example:
This kind of confusion, as well as hearing the word that “SAFe is a simple Fractal for decomposition”, has made me think there’s an easier way.
Here’s the proposal:
We do away with the Value Stream layer.
Instead we create an analogous layer “Complexity Container” or “CC”. Anytime we have more than one ART we can consider the creation of a CC. The “interface” to the CC is the troika (just like in the VS layer). We, therefore, will have “SAFe CC3” (or similar) and everyone will know what we mean. We simply have the troika repeated everywhere and used to connect the containers. We can have multiple layers when appropriate. For example, something complex like a satellite system, might have a CC4 with a “lopsided implementation” having CC3 layers on one branch and CC2 layers on another.
We move “Solution Intent” and “Solution Context” to the Spanning Palette.
We can have solutions everywhere and at any level. If we’re building an amusement park ride, for example. The Track System can be a solution, as can the Vehicle and, perhaps, the Networked Ride Sharing system. Even in a single art, the solution intent and solution context become valuable constructs. Even in a single ART we demonstrate “the Solution”.
We move all the Portfolio Constructs (including the Enterprise) to the spanning Palette
Need a specific budget for a given ART? Need capacity allocation to a “C3 Container”? Need to have a single portfolio for a series of businesses? No problem. These are just conceptual building blocks that can be applied as needed. It is the core provided by “Essential SAFe” scaling in myriad ways without locking companies in to a prescriptive solution.
We move MBSE and SDB (Model Based Systems Engineering and Set-Based Design) to the practices we support
Right along with TDD, BDD, Pair Work, Refactoring and Collective Ownership. We add, Domain Driven Design, Contract By Design, Design Patterns and more as the requisite practices for scaling agility.
We create a true troika by adding a Quality component at each level.
Like the 3 legs of a stool, or the branches of government, we add a Quality Engineer to the troika at all levels. We extend that level all the way through the team and all the way through the complexity layers, even with portfolio constructs. We recognize the business will determine what needs to be built, development says “how” it will be built and quality determines “how” it will be validated. This, then, becomes another fractal in the system.
2.The Ghost Train
Some concerns are cross-cutting but are too large to be considered a “shared service” and to important to be considered a “community of practice”. Security, User Experience, etc. Enter the Ghost Train. The Ghost Train is a “Virtual Train” that has standards and deep knowledge on it but, to avoid becoming a single constriction, is manifested as people on the regular trains augmented by special alignment/standards/skills, etc. This distributed model would ensure that approaches and standards are adhered to while providing for feedback from the system.
1.The Complexity Container
The SAFe 4.0 (Lean Systems Engineering) brought forward a new level (physically) in the SAFe big picture as well as powerful engineering constructs like Model Based System Engineering and Set Based. It did this through the creation of a new “Value Stream layer”. Since the advent of this layer we’ve seen a lot of excitement as well as some confusion around when and how it should be applied.
For example:
- Some have suggested that the “Value Stream” (VS) layer is “ephemeral” in nature and should not be applied until it is absolutely needed and then folded up and removed when it is no longer needed.
- Some suggest that you don’t need a VS layer if you have a Portfolio and that the coordination or multiple ARTs can be done in myriad ways.
This kind of confusion, as well as hearing the word that “SAFe is a simple Fractal for decomposition”, has made me think there’s an easier way.
Here’s the proposal:
We do away with the Value Stream layer.
Instead we create an analogous layer “Complexity Container” or “CC”. Anytime we have more than one ART we can consider the creation of a CC. The “interface” to the CC is the troika (just like in the VS layer). We, therefore, will have “SAFe CC3” (or similar) and everyone will know what we mean. We simply have the troika repeated everywhere and used to connect the containers. We can have multiple layers when appropriate. For example, something complex like a satellite system, might have a CC4 with a “lopsided implementation” having CC3 layers on one branch and CC2 layers on another.
We move “Solution Intent” and “Solution Context” to the Spanning Palette.
We can have solutions everywhere and at any level. If we’re building an amusement park ride, for example. The Track System can be a solution, as can the Vehicle and, perhaps, the Networked Ride Sharing system. Even in a single art, the solution intent and solution context become valuable constructs. Even in a single ART we demonstrate “the Solution”.
We move all the Portfolio Constructs (including the Enterprise) to the spanning Palette
Need a specific budget for a given ART? Need capacity allocation to a “C3 Container”? Need to have a single portfolio for a series of businesses? No problem. These are just conceptual building blocks that can be applied as needed. It is the core provided by “Essential SAFe” scaling in myriad ways without locking companies in to a prescriptive solution.
We move MBSE and SDB (Model Based Systems Engineering and Set-Based Design) to the practices we support
Right along with TDD, BDD, Pair Work, Refactoring and Collective Ownership. We add, Domain Driven Design, Contract By Design, Design Patterns and more as the requisite practices for scaling agility.
We create a true troika by adding a Quality component at each level.
Like the 3 legs of a stool, or the branches of government, we add a Quality Engineer to the troika at all levels. We extend that level all the way through the team and all the way through the complexity layers, even with portfolio constructs. We recognize the business will determine what needs to be built, development says “how” it will be built and quality determines “how” it will be validated. This, then, becomes another fractal in the system.
2.The Ghost Train
Some concerns are cross-cutting but are too large to be considered a “shared service” and to important to be considered a “community of practice”. Security, User Experience, etc. Enter the Ghost Train. The Ghost Train is a “Virtual Train” that has standards and deep knowledge on it but, to avoid becoming a single constriction, is manifested as people on the regular trains augmented by special alignment/standards/skills, etc. This distributed model would ensure that approaches and standards are adhered to while providing for feedback from the system.