Help with Story Points Completed/Committed

Jennifer Neusch November 6, 2024

Hi Amazing Atlassian Community,

Currently, teams are using a very manual approach for the percentage of the story points that they were able to complete compared to what they committed to in a sprint. I am using custom charts by tempo (which I love) and would like to bring the reporting out to a Confluence page for individual teams and across the organization. 

I have done this manually before by grabbing the sprint ID and then using the timestamp for when the sprint started and ended to see what the story points were at that point in time but this is not scalable, very prone to error, etc.

We do not have scriptrunner and are not interested in another app at this time. This has been my thinking: 

  • Create Custom Field for Sprint ID (I can then chart by or group by the Sprint ID which I just think would be less messy than the sprints across teams) 
  • Create Custom Field for Sprint Start
  • Create Custom Field for Sprint End

Create an automation to copy sprint ID and Sprint Start timestamp to their respective fields. And also create an automation to copy the Sprint End date. I'm still getting up to speed on using SmartValues - so any help on that would be amazing! 

But, I'm also stuck on how can I use JQL to get the list of issues that were in the sprint at that start time timestamp and same for sprint end. 

I have done a ton of searching and just haven't been able to find a solution for the above so I'm hoping you all can help me with this as I could open up so much more possibilities in sprint reporting then. 

Thanks in advance for the help!
Jennie

4 answers

1 accepted

0 votes
Answer accepted
Bill Sheboy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 7, 2024

Hi @Jennifer Neusch 

Most of the built-in reports / dashboard gadgets in Jira are based on issues, and the built-in Scrum reports roll up at the sprint level.

Where would you store information in Jira and generate the reporting for what you describe?  For example, Entity Properties in the Project, or App Properties in the Sprint, etc.?

If you truly need the percentage of "committed" versus completed, you may need either a marketplace addon for better reporting, or to calculate the value using automation rules and then chart that outside of Jira.

Kind regards,
Bill

Jennifer Neusch November 7, 2024

Hi Bill! So, Custom Charts by Tempo is what I'm using from the Marketplace (I do not work for them - I just have loved using their product for several years now) for reporting. They offer some amazing capabilities to enhance the reporting using Jira data. But, they also offer the ability to use custom fields and JQL for the charting and grouping by. In addition, they can do averages, sums, and counts for what you pull in as well. 

So, my thinking was that if I can capture the sprint ID, sprint start and sprint end, I can do something similar to what I did here years ago but it was very manual then and I hadn't quite figured out the committed to at the time so still need to figure that out. 

This is the JQL I would use to bring in several sprints: Sprint in (757, 708, 756, 749) AND issuetype not in (sub-task, sub-bug)

And this is how I would report on the completed story points in a specific sprint: Sprint = 757 AND status was in (Closed, Done) before "2022-01-05 12:37"

But,I haven't quite figured out how I can do the committed to as they really could be in any status at the start of the sprint. I need to know what issues were in the sprint when the sprint started. 
 

Image 11-7-24 at 2.14 PM.jpeg

I had also been able to report on the Current/Active sprint as well. I know there are the built in reports in Jira as well but I needed something more and this helped a lot. I just need to make it more scalable. 

project in (project1, project2, project3) AND issuetype not in (Sub-bug, Sub-task) AND Sprint in openSprints() AND Sprint not in futureSprints() 

Image 11-7-24 at 2.22 PM.jpeg

If you have any thoughts, I'd love to hear them!

Jennie

Bill Sheboy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 7, 2024

Thanks for the additional information, Jennie.  My short answer is: I think you would still need a marketplace app (or external tool) to report this.

 

Let's start with "committed" and "completed".  Because Jira has some accuracy problems with the issue changelog regarding the Sprint field, and anyone could add / remove issues from an active sprint (or even delete issues!), one way to track is:

  1. create an automation rule, triggered on sprint started, which adds an indicator for the committed sprint
  2. create an automation rule, triggered on a change to the Sprint field, which checks for the indicator set by rule #1 to decide if it should flag a scope change
  3. create an automation rule, triggered on sprint completed, which adds an indicator for the completed in sprint...and otherwise may clear the "committed sprint" indicator from rule #1

Using the captured information, one could gather / report on committed and completed sprints, amount of carry over, scope changes, etc.  This could be done in automation rules (or messaging the results) or in an external reporting tool.

Yet, there is a problem: stuff could be altered after the sprint completes.  When one wants to report on this over time, exporting the data when the sprint starts and when it completes is safer, yet that is a lot of data movement / replication...

 

Indeed, when I was at a role in my last job, one of our data-smart people was tired of inadequate reporting in Jira.  Together we used site webhooks to push out all the issues into our own cloud storage, and then were able to build whatever reports we wanted.  This approach will even catch any deleted issues impacting measures.  It is a viable option for smaller Jira sites, but perhaps not for larger ones.

Jennifer Neusch November 12, 2024

Hi Bill -

Thanks so much for your feedback. I was so hoping that I could find a workaround using custom fields and automations but I completely agree with you that it's just not possible without a marketplace app or other tool. I kept having moments that I thought, oooh that will work, just to realize that there is no great way to capture what the committed and completed was for a certain period of time for historical reporting. 

Thank you again for helping me think through every scenario though!

Jennie

Like Bill Sheboy likes this
0 votes
Madhu_RVS
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 12, 2024

Hi @Jennifer Neusch 

If you would be interested in a mktplace add, to track story points committed and completed as a dashboard gadget, I can recommend our app. The app comes with couple of gadgets to track team member's or complete team's velocity in a sprint and also a complete sprint status overview. Do give it a try

Sprint Velocity & Status Gadgets 

Disclaimer : I am part of the team which developed this app

Team Velocity.PNG

0 votes
Danut M _StonikByte_
Atlassian Partner
November 7, 2024

Hi @Jennifer Neusch,

I would recommend searching on Atlassian Marketplace for a plugin that is able to calculate this percentage automatically.

For example, our Great Gadgets app has a Team Velocity gadget that can displays the Story Points Committed, Completed  and % Completed right-away - with no manual work.

image.png

The gadget is highly configurable. See also https://community.atlassian.com/t5/App-Central-articles/8-gadgets-for-a-powerful-Scrum-dashboard-in-Jira/ba-p/1683063  

Danut. 

0 votes
Alexey Pavlenko _App Developer_
Atlassian Partner
November 6, 2024

Hi @Jennifer Neusch ,

Please tell me did you try to get the committed vs completed story points from the Velocity Chart (Report) and then manually calculate the percentage? 

Best regards,
Alexey

Jennifer Neusch November 7, 2024

Yes! I know that I can get it from the velocity chart but it means that I have to go team by team to get the percentage. I would like to include the percentage in the overall reporting across the organization and by team. The biggest problem is not being able to use the sprint timestamps without some sort of workaround as they aren't exposed now. 

Alexey Pavlenko _App Developer_
Atlassian Partner
November 7, 2024

@Jennifer Neusch ,

Tempo Custom Charts don’t support Scrum Metrics such as committed scope and completed scope, and completion percentage out of the box. When you construct these metrics manually or update the same filters regularly once new sprints start, you need to consider that this approach will never guarantee consistency, as you already mentioned. However, I think you’re only seeing part of the picture.

For example, the Sprint field you are using records/consists of sprint value only if the sprint value is set and never deleted or if the sprint is completed. But if the sprint is not completed yet and someone decides to move a task to the backlog, the task won’t appear in your filter. This is because the 'Sprint' field for JQL statements doesn’t support the 'WAS' operator. ScriptRunner could partially help you here, but even with ScriptRunner, you will encounter several issues.

If you don’t want to purchase any third-party tools, you actually have only two options:

  1. Use automation rules and custom fields as you mentioned above. You need to record the sprint value itself, never delete it in the custom sprint field. Additionally, create some boolean custom fields such as 'Initial Scope = Yes/No' and 'Final Scope = Yes/No'. If an issue was in a sprint at the time of sprint start, you would mark 'Initial Scope = Yes'. Apply the appropriate logic for the 'Final Scope' field. Construct JQL filters based on that and maintain them manually.
    Also, I recommend to make these custom fields RO/hide from Edit/Create screens (automation will still be able to update the fields).
  2. Build your own app using the REST API. Reliable reporting requires utilizing the changelog/history of each issue.

I've gone through similar limitations many times already, that's why I ended up in developing my own app - Multi-team Scrum Metrics & Retrospective. It actually covers everything you need, but if you have some additional requirements/desires as well then development of your own app can be a good option. When I collected all the requirements, I realized that not only did native JIRA lack what was needed in the organizations I worked at, but even third-party tools didn’t have it.

Best regards,
Alexey

 

 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
PREMIUM
PERMISSIONS LEVEL
Product Admin
TAGS
AUG Leaders

Atlassian Community Events