SAFe – Are We Doing It Right?

Eugene LaiWed, 12/19/2018 - 10:30

After successfully deploying several Agile teams, you have decided that the Scaled Agile Framework (SAFe)® is the next “big thing” for your organization. You sent your staff to training, and have begun to follow the implementation roadmap. However, you aren’t sure how things are progressing. Are you seeing the results that you had promised to your leadership team? How do you know if things are going well, or if your teams still need more time to adapt to the new practices?

According to Scaled Agile, there are 10 practices that are considered to be “essential” to SAFe, meaning that if you are not “doing SAFe” unless you comply with all of these. In my experience, most Agile teams need several months, and possibly years, depending on the size of the program team (i.e. quantity of the teams and Agile Release Trains) to meet all of the 10 essential practices. However, this does not mean you can’t achieve incremental benefits in the short term as your teams work towards “full adoption”.

Below is a quick recap of the 10 essential practices. One of the key steps within the SAFe implementation roadmap is “Coach ART Execution”.  This is where the bulk of the team activities for the key practices occur.

  1. SAFe Lean-Agile Principles
  2. Real Agile Teams and Trains
  3. Cadence and Synchronization
  4. PI Planning
  5. DevOps and Releasability
  6. System Demo
  7. Inspect & Adapt
  8. IP Iteration
  9. Architectural Runway
  10. Lean-Agile Leadership

Let’s take a closer look at some of these essential practices and see how we might benefit from applying an iterative approach to adoption. I have created a notional “phase” designation, which I understand is atypical for an Agile approach. Hopefully this can offer some guidance to teams that wish to take an incremental approach.

Phase 1 – Foundational Practices

Assuming that your Agile teams have already acquired a strong command of core lean/Agile practices, you should be ready to apply the following without significant effort.

1.1 SAFe Lean-Agile principles, Lean-Agile leadership – If you have been practicing Agile for a while, and achieving success, chances are that you already have solid sponsorship from leaders of your organization. Hence, these two practices should come relatively easily.

1.2 Cadence and Synchronization – Aligning the cadence across multiple Agile teams can be tricky, but it should be achievable in the short term with some coordination.

1.3 PI Planning – One of the cornerstones of SAFe is PI Planning, which requires significant planning to execute effectively. However, if you have trained your teams on SAFe, your Agile teams should be able to adopt this fairly quickly.

1.4 Real Agile Teams and Trains – Merging your current teams into an Agile Release Train will also require some coordination and facilitation, but is also achievable in the short-term.

1.5 Inspect & Adapt – Executing I&A at the Train level, while slightly different from team-level retrospective, is an important routine to get into in order to empower the team to learn from experience and make adjustments.

Phase 2 – Intermediate Practices

Once you have configured your teams and schedules, and initiated the Train, you can start working on some of the more involved practices.

2.1 DevOps and Releasability – Most Agile teams need help setting up the necessary tools and infrastructure for automation prior to being able to gain the returns of DevOps culture.

2.2 System Demo – Coordinating multiple teams to execute an integrated demo requires your teams to be able merge their work together during the sprint/PI, which may take a few sprints to accomplish.

Phase 3 – Advanced Practices

3.1 IP Iteration – Having a buffer between releases is a practice that most teams aren’t used to, so it may make sense to introduce this later on, once your teams have achieve some level of comfort with the other practices.

3.2 Architectural Runway – It is arguable when might be the best time to introduce this technique. Some may argue that if you do not deploy this earlier, it may cause problems down the road. In my opinion, if you are building a new product from the ground up, it may make more sense to implement this sooner. However, if you are building a solution that has a robust foundation in place already, the impact of establishing the architecture may not be as big.

To wrap up this article, regarding adoption of SAFe, there is no absolute “right” or “wrong”, but degrees of maturity, which will vary greatly depending on a number of actors such as the maturity of your current Agile practices, and size of the Train, the nature of the business value streams, etc. The key thing to consider is that an iterative approach may result in a longer adoption curve, but could enhance the effectiveness of the change that is being deployed, which likely needs to be handled delicately for most teams. So make a plan, execute, inspect and adapt the plan, and eventually you will get where you need to go.