Is it possible to have multiple backlogs for a single team in Azure Devops? - azure-devops

Sorry if this isn't the right place for this, but all the devops question I see on stack exchange seem to be in stackoverflow.
I've begun working with Azure DevOps, and something I'm noticing is that managing items becomes more cumbersome as I add in more bugs, stories, etc... I'm searching for a way to be able to manage and prioritize these items more easily, and I was wondering if it's possible to have multiple backlogs. Say one for bugs, then one for enhancements, one for support tickets. The issue I'm running into is that we only have one team of developers, so ideally this would all be housed under one team so all these items can be dealt with in a single team's sprint instead of a sprint for each team.
Initially I thought that queries might be a viable option, but when creating them I quickly learned that I cannot reorder items. So that ended that idea.
I also considered just viewing the backlog with a filter to only show what I'm looking for, but that too does not allow me to reorder items easily. It looks like I can drag n drop them, but that doesn't work. I can open the ellipsis menu and choose "move to position", but that's far too clunky of a solution when you have many work items. I also sometimes get conflict errors when trying to move them in that manner.
So I keep coming back to the idea of multiple backlogs for a single team. Is this possible? I don't really see anything in the documentation, and I don't even know if this is considered best practice? Any insights are greatly appreciated.

Sounds like you have tried the out the most obvious ways of filtering and searching for workitems in the backlog and on the boards.
What you can setup is an hierarchy of area paths and (sub)teams to allow for filtered view of the backlog.
Consider the following structure of area paths
ProjectName
- Bugs
- Enhancements
- Tickets
Then you create 4 teams, each corresponding to one node in the Area Path tree (make sure to tick the box include children for all of them). As you now have 4 teams you also get 4 backlogs. The top level team that maps to ProjectName will contain the full backlog (equivalent to what you have now). The other three will only show workitems under their respective area path. You can now use those 3 teams to view filtered versions of the backlog (or boards), but still maintain a single backlog on top level.
As Iterations are defined per project, and are shared across teams, you can continue with one set of iterations and add them to all teams, making them shared.
By this setup any team member can jump between the different subteams to view their preferred filtered version of the backlog (or the complete backlog on the root team)
This feels kinda hackish, setting up new "Teams" just to filter the backlog and whether this is considered best practice or not isn't straightforward to answer. Generally an Agile team should have one backlog and prioritize it as a whole but one could argue that the top level combined backlog fills that purpose and the sub backlogs are used for easier management and for visualizing only parts of the backlog. After all Agile is not about tools it is about being productive.

As danielorn's answer, you can set up multiple iterations. But you don't need to set up multiple teams, you can just use your currently team.
You can try the following steps to see whether this method can fit your requirement.
Step 1. Go to Project Settings -> Boards/Project configuration, create some new child Iterations of your project. In your case, you can leave out the start and end dates of the iteration. Just like this:
Step 2. Go to Boards/Backlogs -> View Options (top right corner) -> Choose "Planning".
Step 3. Click "New Sprint" in the Planning Side Pane, add the Iterations you have created in step1 to the Planning. (Of course, you can skip step 1 and directly create new iterations here, but the iterations you create here must have start and end dates.)
Step 4. Drag the work item to the corresponding Iteration. Then click the iteration, you will see a "new" Backlog that only has work items of this iteration.

Related

Azure DevOps Implications of "include sub-areas"

I am using Area Path in Azure DevOps for categorization rather than breaking into separate Teams. So I can't see all the Work Items underneath the Default Backlog. I go into Settings and choose "Include Sub Areas" and I get the following Warning:
Are you sure you want to include sub-areas?
You have selected the root area path as your team's work area. This
causes two things to happen:
All work items that appear on any team backlog will also appear on
your team's backlog.
All work items under this area path will be updated, which might
impact the performance of your server until the changes are complete.
Are you sure you want to do this? If not, choose Cancel, and the
change will not be made.
#1 is what I want, but what are the implications of #2? What is updated on the Work Item? Will the Assigned To user be emailed of the change?
For #2. The items will be stackranked again to define the backlog order for all work items in the selection. I've seen instances that had millions of work items and the recalculation of the backlog priority field and mapping to your team's custom board columns may take a while in that case.
This field is excluded from the standard email notifications.

Azure DevOps Backlogs: How do you handle sub-features (features within features)?

Within our software, we want to implement a grid-style "Editor" for filling in information for various components. This Editor is itself a feature, and is expected to do several things out-of-the box. Most of these of these behaviors are simple and work well as Work Items.
However, one feature of the Editor that we want to implement is an auto-fill button for a particular column. This auto-fill feature is fairly involved and will really require multiple work items of its own. So it's essentially a feature within a feature.
However, from what I can tell, DevOps doesn't play very nice with features within features. You can do it, by creating a Work Item under a feature and then converting it to a feature. But then you can't drag to re-order those sub-features like you can sub-Work Items.
So, what's the "proper", best-practice, officially-supported way to handle "features of other features"? Just create the sub-features at the same level as the main feature? This seems very unorganized... but I don't know of a better fully-supported way...
EDIT: To clarify, one of the reasons we'd like to have "sub-Features" at the same level as "sub-Work Items" (in addition to just grouping everything relating to the parent feature together) is so that we can re-order and prioritize sub-Features amid the rest of the sub-Work Items for the parent feature.
Agree with Daniel,creating a new backlog level between Epics and Features is a solution.
To do it , first,your project needs to use a inherited process . You can create inherited process in the Process of Boards in Organization Setting.
Then in the inherited process, you can create a new work item type as a backlog level between Epics and Feature.

Creation of a custom board

I want to create a custom kanban board based on a new query for my team.
The ones you get by default seem to be an all or nothing thing, we would like to break down our work outside of sprint planning in to "feature boards" that contain items that may span multiple sprints but are towards a common sub goal of our project.
Is this possible?
That's not the common scenario which TFS/Azure-Devops designed for.
Based on your requirement, you can try creating multiple teams and areas. Area paths allow you to group work items by team, product, or feature area. Then set team default to select the areas the specific team owns below. The selected area paths will determine what shows up on your team's backlog/board and what work items your team is responsible for.
Please see below articles for more information:
Kanban basics
Set team defaults
About area and iteration paths (aka sprints)
Besides, you can also try this extension: Kanban Board Tools, it provides a set of tools to enhance Kanban board usage within TFS and VSTS.
You might want to take a look at this free extension: https://marketplace.visualstudio.com/items?itemName=realdolmen.querybasedboards, that allows you to display a query result into columns, based on work item states configuration.

VSTS backlog items - adding tasks without a project and cross project views

Still new to VSTS. Sometimes work or requests come in and our team needs a way of sorting these into areas that will become projects, but not immediately. Can I create a task without first creating a new team project?
Also, is there a way to see different projects at a higher level than the tasks in one view on a kanban board? Ive seen some delp docs on dashboards etc, but everything including tasks are all scoped to a team project. While this makes sense to have these things for a project, but what about higher level views? At any one time, there might be 4-5 different projects being worked on as well as 2-3 different things that are not part of a project yet. Maybe VSTS isnt the place for these more general items, but a generic kanban board?
The term "team project" is kind of an antiquated name that doesn't do a great job of accurately describing its purpose. Think of a "team project" as a portfolio of related applications rather than something for a single team, or a single project.
The most common way to address is this to keep everything in a single team project. There are a lot of things that don't cross team project boundaries, and trying to force that behavior is a recipe for frustration.
Within a team project, you can create Teams. Each team can have its own backlog, its own iteration schedule, etc. Teams are assigned an area path that they own. If a work item is under their area, it's assigned to that Team.
If you have Team A's area path set to FooProject/Team A, then it belongs to that team. A work item under FooProject/Team A shows up on that Team's backlog.
From there, you can adjust security permissions and such so that if a person isn't a member of a given Team, they don't have access to see or manipulate other teams' work items.

Unable to view all backlog items at one place while picking them for a sprint

I still didn't get it.
Where do complete backlog stays if we have to plan for new sprint and pick items from backlog. Like I can see stories/features but what about all bugs/issues, where they can be seen?
I don't want to search for all items in queries/work items. How can I bring all work items in backlog?
Sounds like you're using the Agile template, which doesn't put everything on the product backlog by default. You can edit the backlog settings to put the bug workitem on the backlog. You can find this setting in the Backlog customization screen, as long as Bug is configured to show up as a requirement, it should show up on the product backlog:
Since issues follow a completely different workflow, they cannot be placed on the product backlog. I would guess that they're being used as something else than what they were meant for. But you'd have to help me with additional information. The Issue work item type is the scrum equivalent of an Impediment. Anything that is blocking the team from progressing effectively. These aren't part of the work that goes into the product and are not managed on the same list.
If you're using the Issue work item as a different kind of Bug/Defect then I recommend either creating a custom field on bug to signal the bug type or create a new work item type that is a copy of bug to start with, that way it starts out with all the fields required for it to show up on the backlog.