At the MVP Summit I was appalled by the number of people who asked questions about new features for supporting hierarchical tasks! I shared a disgusted look with Peter Provost and we had a quick (and I mean really quick) conversation that resulted in this post. it really comes down to one thing:
You can’t stack rank hierarchical work items?
If you want to continue to be competitive in the world of modern software development you need to be able to effectively order (stack rank) a list of well understood items. This could be at the PBI (or Product Backlog) level or it could be at the Task (or Sprint Backlog) level but I need to be able to do that ordering by moving things about… how do I do that with a tree?
Figure: How do you order a tree?
No really! Lets look at a couple of specific questions:
- What do you expect to happen when you reorder “PBI 3” above?
Figure: If you said they all move then you get a prize
This has to be the expected out come because of that pesky parent / child relationship.
- What would you expect to happen when you drag “PBI 8” to be between “PBI 1” and “PBI 2”?
**Figure: Was that what you expected?
**
If you said that it would move to the right location then you also get a prise, but what do you think happened to the parent relationship with “PBI 3”? Thats right, it was removed as that item can no longer exist as a child or “PBI 3”… Note: You can keep the relationship by creating it as a “related” relationship, or you could add a custom one.
So what is the expected behaviour when you discover a PBI that is too large (for whatever reason) and you want to break it down into two smaller ones. Once you have broken a PBI down into two smaller ones that encompass all of the things we need to make the larger one what purpous does it solve… have we not just replaced it? Well then, lets remove it.
Figure:
Good example, Mark the parent story as removed
This only makes sense as I have all of the relevant information in the two new PBI’s.
Figure: Now I have no “PBI 3”
If I look at the history for that “removed” PBI I can, and I will, be able to see all of the history including that the links to the children still exist. This means that you can still query and see what those relationships were without them interfering with the backlog any more.
Figure: I can still have my tractability
Let me jus say that I am not suggesting that you do not use linking, there are many links that are and should be available. Which of those links are good to use, provide value and make sense for both the team and your product owners:
- **Tasks with a Parent / Child relationship with a PBI
**
You need for your team to be able to keep track of the work that they are doing to achieve a single PBI and this is that. There are other options, but this is the best one.
**Figure:
Good example, You can have Task as a child of
**
Figure:
Bad example, do not use PBI’s as children of other PBI’s
-
Test Cases with a Tests / Tested By relationship with a PBI
You want to be able to trace from code to requirements to bugs all with the relevant tests that make sure that we built the correct thing. [](http://blog.hinshelwood.com/files/2012/03/image8.png)Figure:
Good example, You can show what your PBI is Tested By -
Bugs that have a Tests / Tested By I would expect this to be a no-brainer as you can’t have a bug unless you can prove that it exists. Bugs have “steps to reproduce2 after all and in the post MTM world this is the result of a failing Test Case.
[](http://blog.hinshelwood.com/files/2012/03/image9.png)Figure:
Good example, Bugs have test Cases too
I a using the Visual Studio Scrum 2.0 template (default) so while you can make things more complicated, this is about as complex and the expected common cause use cases go with Work Items. There are other artefacts links to support things like Test Results, Code Reviews, Feedback Results and others, but they are tool bits not really that user configurable.
Figure:
Bad example, nesting Work Items is very unwieldy
I am always interested in finding out what other scenarios there are out there:
Do you agree?
What reasons do you have for using hierarchy’s?
Smart Classifications
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
What to read next
One Team Project to rule them all
Explains how to manage multiple teams and projects in Team Foundation Server using a single Team Project, with tips on Agile planning, …
Create a Portfolio Backlog hierarchy in Team Foundation Server 2013
Learn how to customise Team Foundation Server 2013 to add a multi-level Portfolio Backlog hierarchy by editing work item types, categories, …
TFS 2012 Agile Planning Tools Issue - nested tasks makes the parent task disappear
Explains why nesting tasks in TFS 2012 Agile Planning Tools causes parent tasks to disappear, and recommends using nested Product Backlog …
Avoid the Bug as Task anti-pattern in Azure DevOps
Explains why treating bugs as tasks in Azure DevOps is an anti-pattern, its impact on transparency, quality, and planning, and offers …
Rethinking Backlog Management: Why a Flat Structure Boosts Agility and Value Delivery
Explains how using a flat backlog structure, rather than a hierarchy, improves agility, prioritisation, and value delivery in Scrum and …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …
The Definition of Done is a Commitment to Quality
Defines the Definition of Done in Scrum as a clear, shared standard for quality, ensuring increments are releasable, transparent, and …
Why Your Definition of “Done” Is Holding Back Quality, Agility, and Trust, And How to Raise the Bar
Is your team’s “done” really done? Discover how a clear, objective definition of done boosts quality, agility, and trust in product …
Acceptance Criteria vs Definition of Done: Why Getting This Right Builds Trust and Delivers Quality Faster
Stop confusing acceptance criteria with definition of done, learn the crucial difference to boost quality, speed, and trust in your agile …
How to Evolve Your Definition of Done: Start Small, Grow Smarter, and Build Lasting Momentum
Unlock a smarter Definition of Done, start small, evolve standards, and build team momentum without overwhelm. Discover how progress drives …
Why Most Transformations Fail Without Honest Conversations
Most transformations fail without open, honest conversations that address real issues, making transparency and tough dialogue essential for …
Why Your Definition of Done Is the Secret Weapon for Real Business Impact and Agile Growth
Transform your definition of done into a strategic advantage, deliver real value, reduce risk, and drive business impact with every sprint.