No longer able to aggregate by "Sum" for Dashboard / using "Chart for Work Items" - tfs

Working on updating the Dashboard in TFS for a new sprint. I have a chart which shows a "Chart for Work Items" widget with a "Stacked area" chart of all the stories which is stacked by "state". Then, I have the stories plotted using "Aggregation" and "sum" along with "Effort". This worked in the previous sprint. For the current sprint the Configuration area doesn't show "sum" anymore just "count". Showing number of stories isn't as meaningful as number of story point (effort).
(I thought perhaps the stories on my current sprint were generated with a different template and this is what broke the query or configuration tool for the plot. But I moved a story from previous sprint and let it be the only one in the current sprint and that did not work.)
The current version of TFS I'm running is "Version 15.117.27024.0"
Previous sprint (works)
Current sprint (does not allow selecting Sum)

The problem is that you didn't select the appropriated Column Options which are available for Sum action.
Just check the query "Sprint9", make sure you have selected the columns such as: Effort, Remaining work, Completed work etc which are available for Sum action.

In VSTS Column Options aren't just what columns you see on the query page - they reflect fields can be used by the query too.
Open the Column Options menu:
Select Add Column and select field relevant, i.e, Story Points:

Related

How to query TFS for the "x" most recent iterations, for charting purposes?

I have a TFS query that pulls in data from recent sprints, in order to display a chart on our dashboard. However, as documented:
When a chart contains more than seven items within the data series, values in the eight-plus items are consolidated into a set labeled "other"
This is exactly what happens with us. The first few Iterations on the chart are static, and as every Iteration passes by, the "Other" row increases.
How can I alter my query to only pull in the last seven iterations? I can't do something like Iteration ID >= #Current Iteration - 6 because #Current Iteration is supported only for Iteration Path, not Iteration ID.
There isn't any way to achieve this through in TFS for now.
However for VSTS, it's added now.
The deployment of this feature to all VSTS accounts is now complete.
You can find full details in our Release Notes
(https://learn.microsoft.com/en-us/vsts/release-notes/2018/mar-05-vsts#query-work-across-the-iteration-schedule-with---currentiteration).
TFS customers can look forward to the feature in a future feature
update.
Source Link
Query work across the iteration schedule with +/- #CurrentIteration
The #CurrentIteration macro that helps your team track work based on your iteration schedule now supports integer offset. Easily keep tabs on the work that didn’t get closed with #CurrentIteration - 1, or look ahead at the work planned for future iterations with #CurrentIteration + 1. See the #CurrentIteration post on the Microsoft DevOps Blog for more information.
Update:
Logical expression: Work Item Type = any And State= any AND (Iteration= CurrentIteration OR Iteration= CurrentIteration-1 OR...)

How to get power charts and reports for tfs

I want to get some different reports and charts from Tfs activities and history (most based on task tags and assigned users). for example after 3 monthes I want to know how many hours a user moved her tasks to next iteration, ...
Is there any tools for this?
No such a tool can exactly achieve that. There is an extension Team Capacity Management, but seems it's not apply for you.
If you want to know how many hours a user moved her tasks to next iteration, then you need to get the planned hours then subtract the completed hours in current iteration. Alternatively you can add tags on the work items which moved to the next iteration, then create a query which filter by the tags to get the sum of hours.
e.g.:
Create a query 'RemainingWork' with the column Assigned
to and Remaining Work added in "next iteration" (e.g.: iteration
2 here) to filter the moved work items from pervious iteration with the tag.
Save it in Shared queries
Add Chart for Work items widget in your project dashborad, then
configure the widget. Then you can see the hours a user moved tasks
to next iteration in the chart:

TFS 2017 not displaying "Remaining Work" in backlog

Our Setup:
1: Using TFS 2017
2: Using Agile process templates
In our web portal for our TFS backlog, we're unable to display the values of the "Remaining Work" field - the field is displaying as a column option, but none of the values are showing.
Backlog
However when you create a custom query the data is there. We've checked that we're using the correct column header that is specified in the Work Item Type.
Query
Does anyone know why this wouldn't be appearing when selecting the backlog?
User Stories/PBIs don't have a Remaining Work field by default. What you're seeing in the backlog view is the sum of the values of the Remaining Work fields on any child work items.
If someone went and modified the process template and put the Remaining Work field on your user stories, that would explain what you're seeing. You're filling in a field on your User Story, so it appears in the query view. But in the backlog view, it's summing up all of the remaining work on the child Tasks, of which there appear to be none, so you get no value there.

Filtering issues in next Sprint

I have the following filter to find issues in current Sprint:
resolution is EMPTY AND assignee = currentUser() AND Sprint in openSprints() ORDER BY priority DESC, created ASC
It works as expected. However, our team creates separate "sprint" (in futureSprints()) for stretch goals and I'm unable to query them without picking up the rest of the backlog. However, this stretch goal sprint is always the next one in our list. Moreover, if current sprint is called "Sprint 20-2016", the stretch goals will be called "Sprint 20-2016 Stretch Goals". This means that I can retrieve the stretch goals by grabbing the name of the current sprint. For example, the following hardcoded solution works:
resolution is EMPTY AND assignee = currentUser() AND Sprint in futureSprints() AND Sprint = "Sprint 20" ORDER BY priority DESC, created ASC
Problem is that instead of "Sprint 20" being hardcoded I want something like Sprint = [name of first entry from] openSprints() but don't know how to express this in JQL. Alternatively, since stretch goals are always in the next sprint, something like Sprint in [first entry in] openSprints() + 1 would work as well.
Adaptavist Scriptrunner adds a plethora of extra JQL functions.
One of which is nextSprint
nextSprint("Board Name")
I use it to generate statistics for our next planned 3 week sprint as well as feed a dashboard for users that complete their work early and are looking to pull issues from the next sprint into the current. Generally we pull by stack order, but with as much dynamic work as we have a dashboard gives us a bit more flexibility that a scrum board doesn't offer.
How about:
(sprint in openSprints()) AND (sprint not in futureSprints())
I wish I could find a way to reference the next 'top' of the board Sprint. However, I think if you are using a naming convention, like Stretch Goals', I would put my filter as
Sprint = Stretch Goals and sprint=futureSprint()
I tried using the word Like, but found out that it is not supported and JQL as it is does a 'Like' search. Using the FutureSprint() check you will not get

How can I get a report of all work items added to an iteration after a given date?

I need to produce a report, similar to the Unplanned Work report included with the MS Agile Process Template, but which lists me all work items which were added to an iteration after a given date.
The work item may have already been created before that date, so I can't used the created date.
Can anyone give any guidance on how I can go about this? If I can achieve it in Excel then that would be perfect...
Thanks.
Ok, took some work. Interesting enough though to put some effort in it ...
First screenshot is a Pivot table connected to the Analysis Cube. The most left colum shows the ID of a workitem. The second column shows the ChangeDate. In the row header I have included every iteration that I am interested in. What you see happening in the Excel sheet is items moving from one sprint to the other. For example, workitem 27 was created for iteration 1 at 14-3-2011. On 13-4-2011 it was moved to iteration 2. On 12-5-2011 it was moved to iteration 3. etc.
If I narrow down the filter to a specific iteration I actually see items entering the iteration and leaving the iteration. If I also change the ChangeDate filter, I can focus on items entering after a specific date, as you requested. Again, you can see item 27 enter iteration 2 at 13-4 and leave at 12-5. You can juggle around with the columns to get the view you want.
Finally, the options I used to get this view from TFS.
Hope this exceeds your expectations :-)

Resources