Some PDIs are currently unavailable, and PDI actions are paused. View the latest updates here. Read More

Performance Analytics capabilities

MaksimKolot
Tera Contributor

Hi,

 

I would like to understand the capabilities of performance analytics. Specifically I am looking to create some type of sprint burndown charts.

 

I would like to report on sprints (this can be the x-axis) and have it group by developer, specifically reporting on custom "burned points" and "unburned points" fields.

 

The report should show burned points and unburned points, per sprint, per developer. Is this possible?

 

Please see the example image attached.

 

Thanks in advance!

1 ACCEPTED SOLUTION

Vikram Reddy
Tera Guru

Hi @MaksimKolot 

 

Performance Analytics can get you most of the way there, but the exact chart you're describing (sprint on the x-axis, grouped by developer, with two custom point fields as series) runs into a specific PA limitation that's worth knowing about before you build it.

Where PA breaks down for this use case

PA widgets only truly "group by" one breakdown at a time. If you add a second breakdown to a bar or score widget, it behaves as a filter, not as a second grouping dimension. So you can't natively produce one chart where each sprint has a cluster of bars, one per developer, split into burned vs. unburned. This is a known limitation and has come up in the community before: 2nd Breakdown on Performance Analytics Breakdown widget. The accepted workaround there is either a Pivot Scorecard widget (which won't look exactly like a grouped bar chart) or separate widgets per group.

What you can build in PA

If you still want to go the PA route:

  1. Create two Automated Indicator Sources, one for "Burned Points" and one for "Unburned Points", pointed at whatever table those fields live on (story, task, or a custom sprint record), with the Aggregate set to Sum. See Create an automated indicator for the setup.
  2. Define Sprint and Developer as breakdown sources against the same table.
  3. Build a Score or Bar widget broken down by Sprint, then use the Developer breakdown as a filter so you can flip between developers, or build one widget per developer if the team is small.

Keep in mind this requires the Performance Analytics Premium plugin (com.snc.pa.premium) and licensing, plus the daily "Data Collector" job running to snapshot scores. If you don't already have PA provisioned, that's a real cost to weigh against what you're trying to show.

The approach I've actually used for this

In practice, sprint burndown by developer with two point fields is easier to get out of core Reporting than PA, and it doesn't need any extra license. Use the native Pivot Table report type: Rows = Sprint, Columns = Developer, Value = Sum(Burned Points). Build a second pivot for Unburned Points the same way, and put both on a dashboard side by side (or stack them as two reports on the same page). Pivot tables are documented here: Pivot tables.

 

One catch: if "burned points" and "unburned points" live on different tables than Sprint and Assigned to (for example, points roll up from a story table while the sprint and developer are elsewhere), the report source won't have all three fields in one place. In that case, build a Database View joining the story, sprint, and user tables first, then point your pivot reports at the view. That's the same pattern used to solve a very similar ask in the community: Total story points by user by sprint.

If it helps to sanity-check remaining work instead of a custom rollup, the out-of-the-box Agile 2.0 Sprint Burndown report (Sprint form > Reports > Sprint Burndown) already plots remaining Story Points per sprint day, but it doesn't group by developer or split burned vs. unburned, so it won't replace what you're trying to build, just worth knowing it exists as a baseline.

 

Thank you,
Vikram Karety
Octigo Solutions INC

View solution in original post

2 REPLIES 2

Vikram Reddy
Tera Guru

Hi @MaksimKolot 

 

Performance Analytics can get you most of the way there, but the exact chart you're describing (sprint on the x-axis, grouped by developer, with two custom point fields as series) runs into a specific PA limitation that's worth knowing about before you build it.

Where PA breaks down for this use case

PA widgets only truly "group by" one breakdown at a time. If you add a second breakdown to a bar or score widget, it behaves as a filter, not as a second grouping dimension. So you can't natively produce one chart where each sprint has a cluster of bars, one per developer, split into burned vs. unburned. This is a known limitation and has come up in the community before: 2nd Breakdown on Performance Analytics Breakdown widget. The accepted workaround there is either a Pivot Scorecard widget (which won't look exactly like a grouped bar chart) or separate widgets per group.

What you can build in PA

If you still want to go the PA route:

  1. Create two Automated Indicator Sources, one for "Burned Points" and one for "Unburned Points", pointed at whatever table those fields live on (story, task, or a custom sprint record), with the Aggregate set to Sum. See Create an automated indicator for the setup.
  2. Define Sprint and Developer as breakdown sources against the same table.
  3. Build a Score or Bar widget broken down by Sprint, then use the Developer breakdown as a filter so you can flip between developers, or build one widget per developer if the team is small.

Keep in mind this requires the Performance Analytics Premium plugin (com.snc.pa.premium) and licensing, plus the daily "Data Collector" job running to snapshot scores. If you don't already have PA provisioned, that's a real cost to weigh against what you're trying to show.

The approach I've actually used for this

In practice, sprint burndown by developer with two point fields is easier to get out of core Reporting than PA, and it doesn't need any extra license. Use the native Pivot Table report type: Rows = Sprint, Columns = Developer, Value = Sum(Burned Points). Build a second pivot for Unburned Points the same way, and put both on a dashboard side by side (or stack them as two reports on the same page). Pivot tables are documented here: Pivot tables.

 

One catch: if "burned points" and "unburned points" live on different tables than Sprint and Assigned to (for example, points roll up from a story table while the sprint and developer are elsewhere), the report source won't have all three fields in one place. In that case, build a Database View joining the story, sprint, and user tables first, then point your pivot reports at the view. That's the same pattern used to solve a very similar ask in the community: Total story points by user by sprint.

If it helps to sanity-check remaining work instead of a custom rollup, the out-of-the-box Agile 2.0 Sprint Burndown report (Sprint form > Reports > Sprint Burndown) already plots remaining Story Points per sprint day, but it doesn't group by developer or split burned vs. unburned, so it won't replace what you're trying to build, just worth knowing it exists as a baseline.

 

Thank you,
Vikram Karety
Octigo Solutions INC

This is a great solution, thank you for the advice!