Task tracking in DevOps - azure-devops

I do quite a lot of security reviews on 365 tenants, which I have made an template. This is all written in a WIKI in DevOps. To that I have an Microsoft Planner this is everything taken out in headlines. This I usually go though with IT.
After that I do an report based on this planner.
But would LOVE to automate this process as the report task is so time consuming and a lot of it is copy paste.
I was thinking of changing my Planner and WIKI out with Work Items in DevOps. This way I could document directly in Work Items what IT is reporting and export the Work Items.
It does however (to my knowledge) not scale that good. It seems to me that I would have to create a DevOps site for every IT department/tenant.
Would love to hear from anybody who have experience with this or related to this.
I have tried with Work Items, but could not make it scalable for more than one IT department.

Related

How to determine which task is open for work in an Azure DevOps sprint?

Our team is having difficulties identifying tasks in a sprint that are open for work. We use Azure DevOps and assign our stories and tasks to a sprint iteration. Our team workflow is modeled after the DevOps Scrum template. All tasks are child work items of stories. Additionally, we set Successor and Predecessor relationships between tasks. We also set Successor and Predecessor relationships between stories. We typically break stories down into tasks small enough so we can swarm a story and get it done quicker. Identifying concurrent work is crucial for our team.
Typical Azure DevOps Sprint Taskboard
The sprint taskboard looks like a complete mess. Each story is a blob of tasks. Developers and testers have difficulty going to the sprint taskboard to find the next open task, because they need to view each task under each story to ensure the predecessors for a task are closed. I'm not sure how to interpret the taskboard view to get this same information.
Typical Work Item Relationships
Azure DevOps allows you to visualize a work item to show its immediate work item relationships. This does not provide enough context when stories have numerous tasks and the relationships between tasks are deep. Each task work item is a child of a story in addition to the predecessor/successor relationships between tasks. On top of that, we order tasks under stories as well.
To be honest, I frequently resort to creating flowcharts just like the one above. It gives a clear visual representation of an entire story from start to finish. You can clearly see areas in the workflow where we can assign work to multiple developers or testers. I just can't shake the feeling I'm missing something in DevOps...
Question:
Is there an automatic order to tasks in the Azure DevOps taskboard view that communicates the predecessor/successor relationships between tasks under a story, beyond the explicit ordering of tasks in the sprint?
Epilogue: I understand that this question will receive comments that we should break stories into smaller pieces, or that one developer should work on a story and we should plan stories that we can work on concurrently. I tried this approach with our team for years, and this is the most efficient way for us to complete work. I fought this hard for a long time, but the fact is the team does extremely well with this breakdown of work — except with identifying the next thing to work on.
The answer to your question is simply "No". You can however write a query and sort the tasks by Priority.

Azure DevOps Report for User Story Status History

We are using Azure DevOps to track our development work. I can open an individual story and see the history of changes and the chart of the status history. This is useful for an individual story, but doesn't allow me to identify trends and possibly highlight issues in our processes.
I would like to have a chart, or an export that shows the historical changes for all stories (within a date range, or some other filter) so I can discover:
How long does a story stay in each status, on average? (Q: Which statuses take the most time)
How many times is a story set to a status, on average? (Q: When and how often are we moving backward in the flow)
How many times does a story move backward for each team member? (Q: Where should we focus our training efforts)
I have searched within the dashboard, reports, and online for some way to get this information and either haven't used the right keywords, it doesn't exist, or I totally missed it.
Does anyone know if this type of information is available and how I can access it?
There isn't an easy way to accomplish this, unfortunately. Your best bet is going to be composing a Power BI report or Excel, whichever you're most familiar with. Even then, you're going to run into problems with #2 and #3. Microsoft doesn't have an easily accessible way to query the history of each status among all work items.
However, #1 is possible within PowerBI and Excel. Here are a few guides to get you started:
Excel
To import Queries into excel, you have to install a few things follow this guide to get started:
https://learn.microsoft.com/en-us/azure/devops/boards/backlogs/office/track-work?view=azure-devops&tabs=open-excel
Power BI
To get started consuming Analytics views within Power BI, follow this guide:
https://learn.microsoft.com/en-us/azure/devops/report/powerbi/create-quick-report?view=azure-devops
Whether you're using PowerBI or Excel, the fields you'll want to include within your query or Analytics View will look like "[STATUS] Date", "Closed Date" for example. That will make them accessible within PowerBI, or Excel, depending on which you go with.
Once you have your data, you'll want to create reports that compare the status dates to determine how long a story stays within a status.
Azure DevOps Report for User Story Status History
Azure devops is not intended to be a time tracking tool. You could query the work item history with the TFS API and check the timestamps on when the state transitions occurred if you really wanted to.
So, Azure devops doesn't track the time spent on a per day basis. It keeps track of the total time spent. If you want a per person per day value, you'll have to go through the iterations/workitem history and calculate the running difference.
If you really looking for a TimeReporting for the work items of per person, I suggest that you take a look at a third party yool like Timetracker:
Timetracker
New to version 5.0.! Individual, team, and custom reports powered by
version 3 of the REST-based reporting API. 7+ customizable widget
types that let you see data that you need, how you need it. In
addition to the six default reports in Reporting, users can create
custom reports for individuals or teams.
On the other hand, we could develop our scripts via REST API Revisions - List to get the System.State change and System.ChangedDate, then compare the date to get the time in each status.

Regarding non-availability of Project Management Chart

Our company has recently introduced Azure DevOps to streamline project management process. Currently, 140 projects are created under our organization in Azure DevOps. As and when requirement comes from client for any specific project, we create tasks/bugs for different developers under that project. Currently we use only two Work Item type - Bug and Task.
Now the issue is Management of the company wants to see Project-wise number of "New/Open", "Active" and "Closed" Tasks and Bugs in a SINGLE chart. That means, that single chart must fit consolidated data of 140 projects. If a person views that single chart they must get idea, for example that - Project 1 has 2 new/open work items, 2 active work items and 2 closed Work items , Project 2 has 1 new/open work items, 10 active work items and 3 closed Work items and so on.. This is done so that management in a glance can understand which project is lagging behind for customer delivery. So that they can work accordingly build more manpower for those Projects.
I have tried to create various such charts and widgets with different queries in Azure DevOps. I used widget burn up and burn out charts but it gives data for tasks of single Project only. Also when we add multiple projects to it, it shows summation of completed/remaining tasks for those Projects & NOT Project name-wise completed/remaining tasks bifurcation.
I also tried "Charts for work item" widget but it also fetches count as per- Assignee, State and Work Item type and not project name wise count is fetched.
I don't want to navigate through 140 projects pages to see it's open, active and closed tasks. So please help me out in suggesting the ideas on How can I build a single chart from where we can get all this data? I will be forever grateful for your answers.
Thank you!
You could create a query across projects, select Team Project column in Column option, ad save the query as shared query. Check the screenshots below:
Then add a chart widget to a dashboard, select Pivot table, and set Team Projects, State as Rows and Columns. Check the screenshot below:
You could expand the view to see more details:
https://learn.microsoft.com/en-us/azure/devops/report/dashboards/charts?view=azure-devops#add-a-chart-widget-to-a-dashboard
I'd be slightly careful based on what you've put down because I don't think your management team quite understand what they need, and DevOps can only do so much. I'd be challenging them around the setup of your DevOps process personally because I don't think it's advisable to not have user stories as part of your setup. Although it simplifies some aspects of DevOps, our experience has been that people have been able to group things together better with user stories as well as tasks.
Appreciate it's a good idea to be able to see what's going on across all projects, but I think there are probably further criteria to think about. E.g. do you want to see estimates instead of/as well as the count of the items since that will have a better reflection of the effort required. In terms of completed items and in fact, probably all that you're displaying, again it's more on your project process, but are management genuinely interested in everything? For example, do they need to know that something was closed 6 months ago, or are they just interested in the last month?
I suppose what I'm getting at is you probably need a bit more information from management about what they want to use the report for so you can give them what they need rather than they want. There's a temptation to say you want everything because you don't understand the capabilities of the solution or what you're going to use it for, and my recommendation would be to challenge them on this so you can better present things (giving them what they need rather than what they want).
In terms of what you're looking to do, I'll openly admit I'm not clued up on everything DevOps related but I doubt you'll be able to report at a project level within DevOps. I think what you'd need to do is set up your query, which would look across all projects in your organisation, and then export the results to Excel. From there I'd create a pivot table (or perhaps more than 1) with the data that you need. Have Project names down the left side (row headers), and bring in whatever else you need as columns. I think that's probably a good quick win to get something in front of your management team, and then you could challenge from there - almost picking holes in it so that they realise that the business decisions that they'd make from this may not be fully informed, and suggesting some changes. From experience, it's probably better to consider it almost as a prototype and not get bogged down with a solution at this stage because you may be asked for changes when they can visualise what they've originally asked for. Once management is happy you could look at other solutions to provide the report, but Excel is typically a good starting point I've found in the past when working on something new like this.

Sort test cases by number of related bugs on Azure DevOps

On Azure DevOps, I have a set of test cases and every test case has a number of related bugs (from 0 to you better not know :p). The link type here is "Tests".
I would like to sort the test cases by number of related bugs, to make an estimation of the most buggy parts of the software.
I've tried but I only found the option "Number of links" ("Nombre de liens associés" in French).
Thanks in advance.
EDIT: we use Azure DevOps Server, not Azure DevOps Service. Thus, unfortunately I can't follow the steps here: https://learn.microsoft.com/en-us/azure/devops/boards/queries/linking-attachments?view=azure-devops#list-items-based-on-linked-dependents
Sort test cases by number of related bugs on Azure DevOps
For this issue , I am afraid it is currently unachievable in azure devops. Currently, there is no feature of sorting by related work items in azure devops.
Running the following query in the azure devops server, you can get all test cases containing related bugs , but you cannot sort these test cases.
Apart from the negative answer, I think what you want is a good idea! So I post a feature request here in DC forum. Anyone interested in this can vote for it and track it. You could vote that suggestion ticket and share your comment there,The product team would provide the updates if they view it.
You can do that only through customization:
Add a new field like Bugs Count or Active Bugs count. Add and manage fields for an inherited process
Create custom app to fill that field with real count of bugs through REST API. Wiql - Query By Wiql, Work Items - Update
Then you can use a column setting to edit the sort order of your query result.

How to migrate all collections in tfs2017 to vsts into a single vsts account

I am having a hard time migrating a tfs2017 update 1 to vsts. I am using microsoft's migration guide however I have managed to migrate a single collection and its users and team account into a vsts account (Dry run), but the issue is I cannot seem to find a way to migrate all the other collections into into that particular account, does anyone have faced situation like this or am I doing something wrong here, Or Is it possible or not, if yes then please throw some light on the possibility.
You can't. VSTS only supports one collection per account.
Your options are as follows:
Combine your existing collections into a single collection, then migrate that collection. This may be more or less difficult depending on the amount of data and history you have, and what amount of that you need to retain, and the fidelity at which you wish to retain it.
There is a concept called Organizations that will allow multiple VSTS accounts to be managed underneath a single umbrella, but it's still in preview.
Per the feature timeline, it's slated for third quarter 2017, so sometime this fall.