Investment Allocation: tell it which tags mean what
Investment Allocation shows where your finished work actually went: features, bugs, maintenance and, once you switch it on, exploration. Investment tags are how you teach it your vocabulary. Maintenance tags come pre-filled and work with no setup, so read this when the split does not match how your teams really label their work.
What this view answers
- How much of the work you finished was new features, how much was bug fixing, and how much was maintenance.
- How much was exploration: spikes, research and discovery. This bucket appears once you configure exploration tags, and not before.
- How much of the finished work also arrived inside the same window, shown as the unplanned share.
- What could not be classified. Those items are listed with their work item types named, so nothing disappears from the totals.
- All of it per team, plus an all-teams row for the whole project.
The view counts work completed inside a trailing window of 14, 30 or 90 days, which you choose on the view itself. What counts as completed is decided by your Workflow Mapping, so if the totals look wrong before you touch a single tag, check that mapping first.
How work is classified
Every completed item is tested against these rules in order, from the top. The first one that matches decides the bucket, and the item is counted once.
- 1Maintenance
The item carries one of your maintenance tags, whatever its work item type.
- 2Exploration
Otherwise, the item carries one of your exploration tags. This rule only exists once you have added an exploration tag.
- 3Bugs
Otherwise, the work item type is Bug or Defect.
- 4Maintenance
Otherwise, the work item type is Task.
- 5Features
Otherwise, the work item type is one your process uses for requirements: User Story, Product Backlog Item, Requirement, Feature or Epic.
- 6Unclassified
Anything else. The view names the types it could not place rather than dropping the items.
How a tag is matched
- Every item lands in exactly one bucket. The first rule that matches wins, which is why a tag always beats a work item type.
- Matching is whole-tag and case-insensitive. A tag written Debt on the work item matches the tag debt in your list.
- Matching is never a substring match. The tag debt does not match a tag called debtor.
- A tag belongs to the maintenance list or the exploration list, never both. The editor refuses the second one and tells you why.
The panel refuses it and says, word for word: “That tag is already in the other list. A tag can only mean one thing, so remove it there first.”
The two lists
Both lists live in one panel, at Configuration → Item Types → Investment tags.
Maintenance tags
On screen this list reads: “Work carrying one of these tags counts as maintenance, whatever its type. These are the built-in defaults — edit them to match how your teams actually tag.”
- tech-debt
- techdebt
- maintenance
- refactor
- refactoring
- chore
- debt
Exploration tags
On screen this list reads: “Work carrying one of these tags counts as exploration — spikes, research, discovery. Adding the first tag turns on the Exploration bucket in Investment Allocation.”
Until you add one, the panel says “No exploration tags yet — the Exploration bucket stays off until you add one.” and Investment Allocation shows the four buckets it has always shown.
One pair of lists is kept for the project rather than one per team. The panel puts it this way: “These lists apply to the whole project, for every team — the team selector above changes item types only.” Investment Allocation reads those project lists for every team row. For one case where a team does not yet pick them up, see what tags do not change yet, below.
Set up your investment tags
The panel is called Investment tags and it sits at Configuration → Item Types → Investment tags. Editing it takes an Azure DevOps organisation administrator. Everyone else sees the same lists, read-only.
- 1Open the panel
In the extension, go to Configuration, open the Item Types tab, and scroll to Investment tags.
- 2Check that you can edit
Only an Azure DevOps organisation administrator can change the lists. Everyone else can read them, and the add, remove, save and reset controls stay disabled. If yours are disabled, ask an administrator to make the change.
- 3Review the maintenance list
It arrives pre-filled with the seven built-in tags above, so the view already works. If your teams tag maintenance work with one of those words, there is nothing to change.
- 4Add the tags your teams really use
Type a tag into the box under Maintenance tags, then press Enter or a comma, or select Add. Remove a tag you do not use with the × beside it. Clearing the list entirely is honoured: no work will then be reclassified as maintenance by tag.
- 5Turn on Exploration if you want it
The exploration list starts empty and the bucket stays off until you add the first tag. Add the words your teams already use for discovery work, such as spike or research.
- 6Check the scope before you save
The two lists are stored once for the project, not per team. The team selector further up the tab changes work item types only, so changing it does not narrow the tag lists.
- 7Save
Select Save investment tags. If you want to start over, Reset tags to defaults restores the seven built-in maintenance tags and empties the exploration list.
Checking it worked
- Open Investment Allocation and set the window to 90 days, so there is enough completed work for the shape to be readable.
- The Maintenance share should move once you add a tag your teams genuinely use. If it does not move, check the spelling against a real work item: matching is whole-tag, so a near miss matches nothing.
- After your first exploration tag, an Exploration bucket appears in the bar and the legend. Before that it is not there at all, which is the intended behaviour rather than a missing feature.
- Read the Unclassified list. It names the work item types the rules could not place, and it is the quickest way to find a type or a tag you have not accounted for.
- If a team row looks emptier than you expect, check the area path. Team rows are filtered by area path, and completed work outside every team area path shows only in the all-teams row.
What tags do not change yet
Investment tags reach some of the product and not all of it. These are the places where two views can honestly disagree, so you can recognise the difference instead of chasing it.
In this release the lists reach Investment Allocation and Sprint Summary. Cycle Time buckets, Sprint Burndown and Next Sprint Planning still group work by work item type only, so an exploration figure in Investment Allocation can differ from what those views show. That difference is expected, not a fault.
If a team has its own Item Types settings, Sprint Summary does not yet pick up the project exploration tags for that team, so its Exploration row can read low. Investment Allocation is not affected and shows the right split for every team. A fix is on the way.
An exploration tag moves an item into the exploration row there. A maintenance tag has nothing to move an item to, so the item keeps the row its work item type gives it.
Tags change which bucket an item lands in. They cannot pull in an item that was not being counted. In Sprint Summary, an item whose work item type your item type mapping leaves out stays out of the breakdown however it is tagged.
If you have turned on Exclude Tasks in Investment Allocation, a Task is left out of the view even when it carries a maintenance tag. That setting means your Tasks are breakdown units, and it removes them before anything is classified.
Each team row counts the completed work inside that team area path. Completed work that sits outside every team area path appears only in the all-teams row, so a team total and the project total can legitimately differ.
FAQ
No. The maintenance list arrives pre-filled with seven built-in tags and the view works from them straight away. Configure the lists only if your teams tag maintenance work with different words, or if you want an Exploration bucket.
Add your own tag names to the maintenance list and remove any built-in tags you do not use. The list is fully editable, including clearing it completely, and a cleared list is honoured rather than reset back to our defaults.
Because none of the rules matched it: it carries none of your tags, and its work item type is not Bug, Defect or Task, and it is not one of the requirement types. The view names the types it could not place, so you can decide whether to tag that work or leave it as it is.
No. A tag can only mean one thing, otherwise an item could belong to two buckets at once. Add a tag that is already in the other list and the panel refuses it and says which list to remove it from first.
An Azure DevOps organisation administrator. Everyone else sees the same two lists read-only, with the add, remove, save and reset controls disabled.
It changes how finished work is grouped, not the work itself. The buckets are worked out each time the view loads, so a tag change regroups everything inside the current window immediately, including work that was finished before you made the change. Nothing is written back to Azure DevOps.
Need help?
Our support team is available Monday through Friday, 9 AM to 5 PM Pacific Time.