You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
One team in our organization do time estimates on Sub-tasks. To get an good overview they want to be able to use the sum of remaining estimates in Story and related Sub-Tasks for Estimation Statistics in the Scum board. In a Story it is possible to include Sub-tasks in the Time Tracking. There is however no way to configure the Scrum board to use the Sub-task sum of time estimates as Estimation Statistics.
In order to use these values as Estimation Statistics in the scrum board I created a new number field, Total Remaining Estimate. I then chose to create a Scriptrunner scripted field to populate Total Remaning Estimate with values. I called the scripted field Compound Remaining Estimate.
Compound Remaining Estimate calculates the remaining estimates in the Story and related Sub-tasks. The result is copied to Total Remaining Estimate. Total Remaining Estimatecan be used in the Scrum boards as Estimation Statistics. All seems fine. The problem now is that in the Backlog there is a small grey oval for each Story that displays the Estimate. The value in the oval is fetched from the index. The Story isn't reindexed when time is logged in a Sub-task. I tried to solve this with a listener that triggered a reindex of the parent when the Sub-task is updated. Apparently now there is some race condition that prevents the parent from being reindexed properly.
There has to pass some time between the update of the Sub-task and the reindex of the parent. To solve this I created a service that will reindex the parent of Sub-tasks that have been updated during the last minute. This service runs once every minute. The rational for running the service every minute is to give the users as little UI issues as possible. The issue being wrong number in the grey oval in the Backlog.
The solution works. I am however not happy with it. It feels unnecessary to have a service running every minute to check for something that will not happen very often.
Is there a better way to solve this problem?