Example: Team delivery gaps
A team maps why it cannot deliver reliably, and decomposes one action / intervention into a role definition.
Context
One product team in a software organization could not deliver reliably. About 55% of the bugs it fixed were new regressions. The team had skill gaps and lacked technical leadership, talent was hard to retain, and the team was perceived as incompetent.
Goal
Understand why the team could not deliver reliably, and what would have to be true for that to change.
The outcomes the group wrote down say how it would know: fewer regressions, environments that match each other, and a team lead other leads hear from.
How the tree was built
The tree was built on a digital board, in sticky notes of 3 colors.
- The board was pre-seeded with what was already known. That included a measurement, the share of fixed bugs that were new regressions, and the organizational context around the team. See Prepare.
- The tree uses only the default relationship, influences. It has no artifact / deliverable nodes.
- At least one action got a deep dive. "Assign a tech lead with a proven track record" was decomposed in its own area of the board.
The board also held frames that were not part of the tree, where the group planned who would be on which team. That planning stayed beside the tree, not on its nodes.
The tree
Diagram as text: Excerpt of the team delivery gaps tree
Nodes:
- Root / Problem: "Hard to retain talent"
- Root / Problem: "Skill gaps on the team"
- Root / Problem: "Lack of technical leadership"
- Root / Problem: "About 55% of fixed bugs are new regressions"
- Root / Problem: "The team is perceived as incompetent"
- Action / Intervention: "Consider hiring remote talent"
- Action / Intervention: "Hire a software developer in test"
- Action / Intervention: "Automate deployment steps"
- Action / Intervention: "Assign a tech lead with a proven track record"
- Desired State / Outcome: "Dev equals QA equals UAT equals PROD"
- Desired State / Outcome: "50% less regression per release"
- Desired State / Outcome: "Under 20% of fixed bugs are new"
- Desired State / Outcome: "Other leads tell us the new lead has been talking to them"
Arrows:
- "Lack of technical leadership" influences "The team is perceived as incompetent"
- "Lack of technical leadership" influences "About 55% of fixed bugs are new regressions"
- "Skill gaps on the team" influences "About 55% of fixed bugs are new regressions"
- "About 55% of fixed bugs are new regressions" influences "The team is perceived as incompetent"
- "The team is perceived as incompetent" influences "Assign a tech lead with a proven track record"
- "About 55% of fixed bugs are new regressions" influences "Hire a software developer in test"
- "About 55% of fixed bugs are new regressions" influences "Automate deployment steps"
- "Hard to retain talent" influences "Consider hiring remote talent"
- "Consider hiring remote talent" influences "Hire a software developer in test"
- "Assign a tech lead with a proven track record" influences "Other leads tell us the new lead has been talking to them"
- "Assign a tech lead with a proven track record" influences "Under 20% of fixed bugs are new"
- "Hire a software developer in test" influences "Under 20% of fixed bugs are new"
- "Hire a software developer in test" influences "50% less regression per release"
- "Automate deployment steps" influences "50% less regression per release"
- "Automate deployment steps" influences "Dev equals QA equals UAT equals PROD"
The real tree has more nodes than this excerpt, among them an action named "Establish a second team" and an outcome described as "The team uses AI tools frequently."
The deep dive
The action with the most at stake was assigning a tech lead. Who that person should be was a decision too complex for one node, so the group gave it a deep-dive sub-tree.
The deep dive was organized around the role, in 4 areas.
Diagram as text: The areas of the deep dive on assigning a tech lead
Nodes:
- Action / Intervention: "Assign a tech lead with a proven track record" (node from the full tree)
No arrows yet.
It does not look like the full tree, and it does not have to. A deep dive takes whatever structure the question needs.
What it revealed
- Measurement anchored the tree. "About 55% of fixed bugs are new regressions" is a statistic, and it is a problem: arrows leave it toward the actions. "Under 20% of fixed bugs are new," is an outcome. The group could see both the current state and the target on one board.
- An outcome can be something you would notice."Other leads tell us the new lead has been talking to them" is not a number. It is one sign the group agreed to watch for.
- Assigning a tech lead meant choosing a person, and a node could not hold that. The group used the deep dive to make a hiring decision.
Lessons
- Pre-seed with data. A measurement on the board before the session starts gives participants a fact to react to, and it keeps the conversation concrete.
- A node's type comes from its role, not its wording. A statistic can be a problem, and an overheard remark can be an outcome. See the core principles.
- Use the group's vocabulary, and write it in the legend. The legend says what they mean, so the tree reads without help.
- Deep-dive on the nodes that carry decisions.
- Keep planning beside the tree, not in it. The hiring decision and the team composition used the tree as input. Neither became a node. See what it is and is not.