It sounds like the retrospective for this sprint will be interesting! These are some of the things that I might try and encourage the team to focus on in the retrospective:
- Your velocity is unfortunately 0 because no stories are Done. I would encourage the team to consider:
- What went wrong with the unfinished stories? What stopped them getting to Done?
- Were the stories too large or complex? If so, how could they have been broken down? Beware splitting the stories into "layers" - stories should be split into vertical slices so each story still delivers an increment of user value.
- Did the team start too much and not focus on finishing what had already been started (too much work in progress)?
- You might need to remind them that the team as a whole succeeds or fails - if one part of the team struggled it was up to the rest of the team to support them and come up with a solution.
- As discussed above, stories should be vertical slices of functionality, not horizontal ones. This is tricky because software engineers often think in "layers". How can you overcome this with the "tiered" team? In particular, how can you avoid hand-offs between the three groups (hand-offs are expensive and cause delays). Some thoughts:
- Could the Data team have provided a stub (e.g. an interface that returns hard-coded dummy data) to allow the UI and Services teams to proceed while the data layer is being completed?
- Could a cross-functional group have swarmed on each story (so all three "tiers" are forced to work together on completion of a story)?
- How can the tiers cross-train so they can take on work outside their specialist areas (this is the concept of "generalising specialists" or "specialising generalists"). This will allow them to support each other when the going gets sticky.
- Is the scrum team too large (probably)?
- A "two pizza" team of 5-9 members is ideal
- Would it be possible to split the team into two scrums with people from all three tiers in each scrum?
- Each scrum can work independently on an epic
Outside the retrospective, the scrum master and product owner might want to think about a couple of things:
- Backlog management is really important (and really hard to get right) - it sounds like you have done lots of work on this, but it is vital to keep it up. A poorly groomed backlog will stall the team.
- If you have silos (e.g. between the "tiers"), you need to work to break them down. Silos reduce the team's flexibility and create hand-offs which are expensive.
Finally, "Succeeding with Agile" by Mike Cohn is a really great book which covers the practical side of making scrum work in the real world. I found it extremely useful.