Scaled Agile Framework – The Team Level

By Paul in Agile on November 13, 2013

Image 1112 full 2x

The team level in the Scaled Agile Framework (SAFe) doesn’t look very different from any other Scrum team setup. SAFe advocates the use of a hybrid of Scrum and eXtreme Programming (XP), which isn’t unusual. Most teams that adopt Scrum will adopt practices from XP whether they know where these practices originated or not. User Stories, Test Driven Development, Simple Design, Pair Programming and Continuous Integration have become widely accepted as good software engineering and allow the team to maintain high quality while moving at speed.

Co-ordination of teams with SAFe

The way that SAFe manages co-ordination across teams is where added structure starts to appear. SAFe is used for running Agile projects at scale, 50 -125 people working on one value stream, and because we’re using Scrum and Scrum advocates an optimal team size as 7+ or -2,  we will have multiple teams working on the same value stream.  This will mean, at the very least, that teams will have inter-team dependencies to resolve. SAFe manages this by putting some structure around the Scrum teams in a few ways.

  1. It advocates that the teams operate on the same cadence, i.e. the sprint duration is the same across all teams.
  2. The teams synchronize their sprint start and end dates, this enables better co-ordination between teams.
  3. It suggests that Potentially Shippable Increments (PSI) of a product of this size will only be possible after an arbitrary number of sprints are completed, nominally 4 or 5.
  4. SAFe advocates the use of a final Hardening/Innovation/Planning (HIP) sprint at the tail end of the series of sprints.

The HIP sprint

The HIP sprint is used for the following purposes:

A prerequisite to the planning that takes place during the HIP sprint is the Inspect and Adapt workshop, a meeting that is used by the entire group firstly to assess progress made in the last PSI, secondly to determine what can be done to improve their process in the next. The Inspect and Adapt workshop is akin to the Sprint Review and Retrospective used by the individual teams at the end of each of their sprints.

Other activities in the HIP sprint will include putting aside time for continuous education, infrastructure activities and so on. The HIP sprint is characterised by having no backlog items that provide new value and is purely devoted to the activities described above. Allowing time for these activities during the HIP sprint means that the development cadence can be maintained year around, with no special scheduling adjustments required.

SAFe advocates the above structure to drive alignment between the teams so that they can steer towards a common goal for the PSI without having to think about the dates or timings of the other teams. The pattern, x sprints + 1 HIP sprint, will be familiar to anyone who uses Rolling Wave Planning, a planning technique used specifically to allow for progressive elaboration.

The team backlog

The final piece of the puzzle at the team level is how each team determines what is on their respective Product Backlogs, also known as the Team Backlog in SAFe. As with any implementation of Scrum, each item on the Team Backlog is a work item, these work items are determined by the team in conjunction with their Product Owner. The team is able to add work items as it sees fit, but the Product Owner has overall ownership and it is up to the Product Owner to prioritise the work as they see appropriate.

The main driver for the work items are the team objectives for the PSI, these are determined by each team during a planning session at the start of the PSI. This session is known as the PSI/Release Planning session and is a 2 day session involving all teams, it is one of the key meetings in SAFe and is important enough that we will devote the next blog post to it.

Learn more

Learn more

The Board Agile talk show Episode 8 — Scaled Agile Framework (SAFe)

Technical debt and entropy: what the laws of physics teach us about refactoring code