October 22nd, 2013

Update your Overview and Progress reports to support the Portfolio backlogs

In TFS 2010 we released the reports to show the overview of the backlog and the progress of the these items. It depends on your process template which reports were installed for you:

Scrum

Backlog Overview

Agile

Stories Overview

Stories Progress

CMMI

Requirement Overview

Requirement Progress

 

The reports contain logic to rollup information to PBI, User Story or Requirement which does not have a parent. However with the introduction of the Portfolio Backlogs in TFS 2013, this logic is no longer valid. When you create a portfolio, backlog items are now the child items of the Feature portfolio backlog work item type. Because the reports that shipped in 2010 and 2012 do not support these hierarchies, any backlog item that is now a child of a portfolio item does not show up in the report.

We have fixed this issue in the reports that ship with TFS 2013. To fix the issue for your team project, you can follow the steps as described in this article, which relies on the TFS Power Tools. If you have multiple team projects based on the same process template, and you want to update the reports for all these team projects, you can use the following PowerShell script as a base.

If you want to use the script, don’t forget to update the highlighted variables. And please first run it on a test environment, to ensure it works as expected.

Note: Please be aware with the power tools, all the reports are replaced! If you only want to overwrite the Overview and Progress report, you can always manually upload the rdl files to your reporting server.

#set the variables
$server=http://<your_server_name>:8080/tfs
$template=”MSF for Agile Software Development 2013

#add the OM Assembly
add-type -Path “C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEReferenceAssembliesv2.0Microsoft.TeamFoundation.Client.dll”
add-type -Path “C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEReferenceAssembliesv2.0Microsoft.TeamFoundation.VersionControl.Client.dll”

#Get authenticated credentials
$cred = get-credential <your_user_name>

$collecions=[Microsoft.TeamFoundation.Client.RegisteredTfsConnections]::GetProjectCollections() | ? {
    $_.Uri.AbsoluteUri.StartsWith($server)
} | % {
        $col=New-Object -TypeName Microsoft.TeamFoundation.Client.TfsTeamProjectCollection -ArgumentList (new-object URI -ArgumentList $_.URI), $cred
        $vc=$col.GetService([Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer])
        $projects=$vc.GetAllTeamProjects($false) | % {
            tfpt addprojectreports /collection:”$($col.Uri)” /teamproject:”$($_.Name)” /processtemplate:$template /force
        }
}

Category
DevOps

0 comments

Discussion are closed.