Hi,
We've got a question if it is possible to assign issues based on story points on issues that are assigned to different team members? Basically, we're looking at balanced workload assigning, just for Story Points.
I know that natively this isn't yet supported, but I was just wondering if anyone managed to design a process/workaround for that.
An example would be:
I would need to find a user who has the least amount of story points currently assigned and assign the created issue to them. In the case above, that would be User 1 (as User 2 has 2 tasks that in sum have 13 Story Points).
Of course, we are looking only at issues that are in statusCategory != Done or unresolved.
I was thinking of maybe using user properties (entity) or creating separate 'placeholder' tasks within the project, where each task would be assigned to a particular team member and contain the sum of all assigned story points. Then, once a new issue is created, automation would go through all of those user-specific tasks and somehow find the minimum value and assign the newly created issue to the assignee of the task with the minimum value.
*Note: I am just thinking out loud here and I'm open to any ideas or examples you might have.
*Note#2: I know this might not be a best practice when talking about agile methodologies but I would still like to see if it's possible or not.
Cheers,
Tom
I agree with your initial note at the end of the question, and...not only is this not a "better" practice, it is likely to cause several unintended consequences and problems for an agile team, such as incentivizing less collaboration and breaking trust with stakeholders.
Regardless of those problems...
This could be done using a dynamic, regular expression search of a list. For example:
{{#=}}0{{#lookupIssues}}{{#if(equals(assignee.displayname,"Bill"))}}+0{{Story points}}{{/}}{{/}}{{/}}
(\{key=.*, value={{varPointsByUser.entries.value.min}}\})
{{varPointsByUser.entries.join("~~").split("~~").match(varRegEx)}}
This approach assumes one-and-only-one user has the minimum value. When there are multiple, make adjustments to perhaps extract the first, or a random one.
Kind regards,
Bill
Wow, nice! So, with this, I managed to remove the need for placeholder tasks or Assets and do everything within one rule with only 1 trigger and 4 or 5 actions. 🤩
Really appreciate the detailed answer and reference to the article @Bill Sheboy !
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So what I've made (and it works) are placeholder tasks that 'store' the sum of Story Points of all assigned and to-do/in-progress tasks within the project. I'm basically using the system Story Points field to calculate the sum of active items. There can be only one 'placeholder task' per user; meaning specific users can only be assigned to one placeholder task. Anyway, this is just a storage.
Then, I'm using automation to do the rest - checking all 'placeholder' tasks and finding the one with minimum Story Points value, getting the assignee from it and placing that same user to the newly created issue.
Also, I'm doing 'recalculation' of placeholder Story Points directly within this automation (in case reporter has entered Story Points value in the create issue screen), and I've covered the case if Lookup gets multiple issues/there are multiple 'placeholder' tasks that contain same amount of Story Points.
Not the prettiest solution, but it can do the job.
Also, there should be another automation that 'recalculates' Story Points on the placeholder task once the item is completed or if the Assignee is changed, but that's an easy part I would say.
If you have Assets this could probably work with just having users there and adding additional attribute for Story Points (so you don't need to have these 'placeholder' tasks).
In any case, if someone has any 'smarter' solution, I'm all ears.
*preferring to do this natively instead of using apps
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
@Tomislav Tobijas _Koios_ Do you have access to Advanced Plans?
If so you can:
Note: this example only shows one team (user) as the rest of the tasks will be unassigned and picked up by whoever is free, it's just that the 3 tasks assigned are follow-ons from the current tasks he's doing. Also when we come to the refinement session we will be renaming those tasks.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi @Stephen_Lugton ,
Interesting... Didn't think of using Plans. I'm not sure if this project/client will be using Premium plan or not, however from the info I have, this particular request is not related to standard 'planning'.
With this solution, someone would still need to 'drag&drop' items for each team/user and, from the info I have, all of that needs to be done automatically. So as soon as a new issue is created, it needs to be automatically assigned to someone.
In any case, Plans are also not a bad idea so I'll pass that on to the team. Thanks!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.