Category Archives: Scaled Agile

SAFe Configurations

Estimated Reading Time: 5 minutes

I just shared my perspective that SAFe isn’t a hard-coded methodology and while it gives you a comprehensive and to some even overwhelming set of practices, there are still a lot of choices.

My old friend Sutap suggested: Would be great if you can share examples around how SAFe is not a one size fits all framework. Examples/ case studies will really help. From experience, enterprises typically have very different projects: from large programs running for years with say once in a quarter releases (say customer A) to enhancement requests released very frequently (but unsteady pipeline: say customer B) to fixed scope fixed timeline regulatory projects (customer C). Would love to hear how SAFe will handle such (and maybe many more) scenarios.

(Sutap and I worked on a scaled agile transformation in one very big enterprise where we saw all of those and more …)

So here are a couple of examples/case studies, some real and some semi-real. I’m not trying to explain every concept I mention here as the goal is to portray the optionality, not teach you SAFe. (If learning SAFe is your goal, come to an Implementing SAFe class or go read SAFe distilled…). without further ado – here goes:

When an enterprise like this implements SAFe they would probably have different Agile Release Trains (ARTs) for each one of those programs. All those ARTs would work on a Program Increment (PI) cadence like all Scrum teams work on a sprint cadence. But each of those ARTs might have a different style of PI.

The ART serving Customer A might naturally have a quarterly PI. The ART serving Customer B might have a quarterly PI or maybe a shorter 8-week PI or maybe even shorter (yes – despite the fact that SAFe says 8-12 weeks! herecy!).

The ART serving Customer C might have a quarterly PI. A would release every quarter. B might release every iteration, C might release to production only every 2-3 PIs.

The Program Kanban for each of them might look different to reflect the different budgeting/analysis/governance mechanism each customer uses and the different “road to production” downstream from development. For one customer a 3rd party SI might have developers/testers on the feature teams with the enterprise. For another customer it might be hard to integrate the SI’s people into the agile teams so a combination of internal Feature teams and a few Component teams with people from the SI might be the right approach at least initially. In other cases the SI might not even be willing/structured to collaborate at this level and would be considered a “Supplier” at the Value Stream level.

The infrastructure the enterprise has for customer A might be advanced enough that Continuous Integration (CI) exists and there’s no need for a System Team. For Customer C it might be too early and the System team is needed both for performing the integration as well as starting to figure out how to achieve CI. Maybe in Customer C the System Team is just focusing on improving the CI and is also working on achieving Continuous Deployment capabilities (CD). In Customer B it might be the case that there’s both a System Team and a DevOps enablement team each focusing on different stages in the delivery pipeline.

PI Planning itself might look different. The level of predictability needed in A is high and the backlog and ART  are stable enough to enable it so PI planning is pretty classic. In B it is not THAT important and actually much harder to achieve so PI Planning focuses more on main dependencies and projects saving significant capacity for emerging enhancements throughout execution while using PI Objectives to make sure the business and the ART are aligned on which enhancements to focus on as they emerge. In C due to the fixed scope fixed timeline the backlog SHOULD be even more stable than A and we would probably spend more time on estimating the features in the Program Backlog and building a roadmap to see whether we have a converging plan or need to invest more resources. Even earlier in this type of project, when doing the portfolio-level business case for this sort of epic we would need to do more analysis and estimation than for epics for customer A. And the features for customer B might actually not have any Program/Portfolio Epic above them.

For customer C it might make sense to have one roadmap for the 3 ARTs working on the project. For customer A it might make sense to have separate roadmaps since each ART is working with a separate business “tower”.

Here are a few other examples from other contexts:

  • How to deal with multiple small value streams – sometimes it makes sense to aggregate them into one Agile Release Train (ART) – especially when you want to be able to have one Program Backlog in which you prioritize those two value streams against each other and allow the ART to focus on a specific value stream/product for a while. Sometimes it makes sense to actually have a few smaller ARTs even if they are really small to the point of being mini-ARTs – in case the investment/funding for each value stream is quite stable/separate and the teams working on the different products are separate as well.
  • Should a critical core technology group that is common to multiple products be considered a separate ART? Should the different products and this core technology group be on the same Value Stream (VS) level to allow coordination in Pre/Post PI Planning? Should the products be in different VSs because that’s the only connection? Should this group be split into teams that each join a different ART? Sounds like the right “Agile” move but on the other hand what if prioritizing what this core technology group works on across the different products is a key portfolio-level decision? if so, having a team per ART actually decentralizes control of this key resource TOO much.
  • For some ARTs pair-working would make sense 20% of the time. For other ARTs that are currently scaling up their capacity by bringing in more people (Think the program working for customer C which just found out they need to add 3 more teams over the next PI to deliver the fixed scope project on time) they might go into pair-working 80% of the time initially to accelerate knowledge sharing and then go back to 20%.
  • In some cases the Scrum Master will be a technical lead inside each Agile Team. In other cases they will be one of the Managers working with the ART each covering 2 teams.

Enough questions, configurations, and options? I think so…

It would be great to have “one size fits all” for all of those. And maybe you can find some SAFe consultants that would tell you that’s the case. The good ones will at least make sure you understand there are open questions and multiple options. The best ones would be able to share from their experience what worked where, the upsides and downsides, and be able to help you figure out what configuration to try as well as guide you in inspecting and adapting on your way to figuring out the SAFe configuration that’s best for you.

 

Musings about “Hard-coded” Frameworks

Estimated Reading Time: 2 minutes

A recent discussion on the Scrum Alliance Linkedin group was around Mike Beedle’s claim that “Hard-coded Frameworks are neither Agile or Frameworks” which is clearly aimed primarily at SAFe.  

I admit to thinking something similar before really getting to know SAFe in depth. Over time I realized SAFe isn’t one size fits all. Far from it. 

It has many configurations and options. Do we need the Value Stream level? a System Team? at which level? How many ARTs? Component teams or Feature teams? Which metrics? Which ART to start with? Even if you don’t follow my Invitation-based SAFe implementation approach that is now a formal SAFe guidance article, you still have a lot of options at all levels and it is hardly a hard-coded methodology. Yes, not all practitioners understand this. But that’s a familiar problem from the Scrum space isn’t it. “Though shall do tasks”. “Though shall estimate in story points using planning poker”. “Though shall stand up in the Daily Scrum”.

Scrum was and is a powerful tool. SAFe, Enterprise Scrum, Nexus, LeSS, Kanban and others are powerful tools as well. A powerful tool is typically also dangerous at the wrong hands or the unexperienced hands without good guidance.

Besides – it IS funny to hear about the danger of force-fitting a hard-coded framework from leaders in the scrum community that have been telling us about SHU and following practices and the danger of scrum-but all along. And rightly so! Sometimes you do need to insist on a practice/change even if it feels hard! Agile IS about challenging your comfort zone.

Can we all agree that the real art/expertise is to figure out the right set of practices that is the goldilock between too much force-fitting and too-easy “common sense that is somehow too close to the status quo”?

(Updated) Oh – and also can we also agree there’s a huge difference between force- fitting practices to challenge your comfort zone (which is healthy change management done right) and forcing people to do something vs inviting them to consider trying it? 
 

Are your Product-Owners cross-functional enough?

Estimated Reading Time: 2 minutes
Improving teams/organizational flexibility/versatility is a topic that comes up often in my engagements. This includes discussion of T-shaped people/teams, Collective Ownership, Code Stewardship, Full-stack-developers and the like. I typically refer to Henrik’s classic (and recently my “scaled” version ).
So let’s assume you improve the agile team flexibility which means you can “swarm” a couple of teams to areas in high demand. How do you deal with their product ownership/management in those cases?
1544063

Continue reading

Scaled Agile Marketing

Estimated Reading Time: 2 minutes

It’s Agile Marketing Time

One of my interesting engagements these days is with a corporate marketing group in one of the top global enterprise technology companies. They have a very serious agile initiative in product development and their CMO basically said “I think I need Corporate Marketing to become agile as well”. Continue reading

Is your SAFe Agile Release Train flexible enough?

Estimated Reading Time: 6 minutes

So you decided that you need some sort of scaled agile approach. (If you’re not sure yet maybe this can help).

Maybe you chose to implement the Scaled Agile Framework. Maybe Large Scale Scrum (LeSS). In any case you have a new construct of a “Team of Agile Teams”.

You also actually listened in training and understood that there’s a strong preference to Feature Teams over Component Teams in SAFe and that in LeSS Component Teams are not even allowed in the door. So out of the 8 teams on your “Team of Agile Teams”/“Program”/“Agile Release Train” 7 are actually almost-feature-teams while the last team is a component team they often depend on.

But now something is troubling you…

Should all those Feature Teams be able to take on every Feature? Or does each team need to have some deeper specialisation/focus on the train? Is it even possible/realistic to expect full flexibility? Is it a good idea from a “Respect People” perspective? Continue reading