Create teams based on user defined query
Currently, when a new team is created in TFS a user must select the backlog iteration and either the area path or value(s) from the team field that will together define the backlog.
It would be fantastic if the definition of these "teams" was instead "sites". Instead of selecting the specific iteration and team field values, a iser could enter the WIQL search criteria they want to use.
In this way, defining a "team" field would be moot for sites that correspond to delivery teams. The backlog iteration would still be useful, but I could setup my query to ignore the iteration so that anything assigned to my team in any iteration rather than running the risk of having something in hiding.
If I have a field that defines the system affected, I could create a site to serve as a visualization of that backlog regardless of the team doing the work.
If I have a field that defines the requestor, I can create each business area served their own site regardless of the system or team that is ultimately doing the work.
If I have a field that defines an initiative or project (like, say, the Microsoft Project Server Enterprise Project) then I can create a site that shows the project backlog regardless of team, client, system, etc.
This would make the sites tremendously more versatile and powerful, and it would be a huge win for us.
Sylvain Guérin commented
As a freelance scrum master and developer, I can confirm that half of my regular clients need this flexibility and choose other tools (JIRA...).
It would be nice to have the possibility to create a kind of virtual team project in which we could create backlog with item coming from classical team projects.
Enabling this would permit teams to work on different projects using a single backlog and that's nearly a requirement for small teams working on multiple projects at the same time.
Preston Doster commented
There is a similar notion in the on prem version of the product called the "Team Field" (see: https://msdn.microsoft.com/en-us/library/dn144940.aspx). This would be a good start, but I also like the idea of defining an arbitrary query that then determines which work items show up on a given board/backlog for a team.
This could take the form of a query per work item type that executes when the board for that particular work item type is rendered. It could also look like a global filter that is applied to all board/backlog queries for that team, e.g. run the normal query + the iteration/area restrictions + this global filter = the results for that board.
JIRA has a similar concept in quick filters - you get the base query that pulls everything in, but users can then flip between different board filters like "just my work" or other user defined filters to limit the number of items that show up on a given board.
Andre Grassi commented
I would love to see the query results in a kanban board too!
Andrew Pirkola commented
To illustrate this idea a bit more explicitly, imagine that when configuring a team site we don't have an "Areas" or "Team" tab to select the team values or area paths to include. Instead, let's pretend we have a WIQL query but the only logic we can use is "AND". Why only "AND"? Because each of the values in that "AND" act as defaults when we make new work items. That way, the existing behaviors remain intact.
If I want to have a site for tracking all technical debt, then I can do that. I'll simply include work items with the attribute that says they're technical debt. If I create a new item here, it'll be technical debt. Best of all, I can have a custom dashboard about our technical debt. Best of all, those items will also be on my team's backlog page because it will match that criteria as well.
If I'm working on a project, I can go to my team's site OR I can go to the project's site. How is the project defined? Maybe something like all items where the "Enterprise Project" matches the value I set. The project team can then have a dashboard and backlog that is inclusive of everything for the project. My team can see our subset of the work on our site as well.
Let's say an application my team works with has several other teams that also contribute to it. If we properly categorize our work, then we could create an application site that shows the complete backlog for that application regardless of which team is doing it. Again, this does not interfere with my team's own site where we see our work for that and any other application assigned to our team.
Blair Shaw commented
Add the ability to customize the display of items on the kanban board from the results of a query. For example a query is written to just show features under selected area paths. I would be nice to be able to see the results on a corresponding kanban view. Much more granular than current filter board capability.