-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VLJ Support: Task auto-distribution discrepancy #14084
Comments
1 |
2 | |
3 | |||||||
5 | ||||
8 | Why 2?
Why 3?
Why 5?
|
|
The other consumer of the RoundRobin logic is BvaDispatch, however they explicitly look for |
Connects #14084 ### Description The introduction of TimedHoldTasks introduced a hidden bug in Round Robin Distributions that assumed any type of Task was valid for consideration. When users placed a case assigned to them on hold, it bumped to round robin to them. This PR addresses this issue by asserting that Round Robin logic should only consider user-visible Tasks. ### Acceptance Criteria - [x] Tests pass - [x] Running RoundRobin cycles correctly through the users ### Testing Plan Helper Function; set on console: ``` def assign_round_robins(round_robin_distributor) tasks = [] 8.times do |appeal| appeal = FactoryBot.create(:appeal, :with_post_intake_tasks) task = Task.create!(appeal: appeal, parent: appeal.root_task, assigned_to: round_robin_distributor.next_assignee, status: "assigned", type: "ColocatedTask", assigned_by: User.last) tasks.push(task) end return tasks.pluck(:assigned_to_id) end ``` On master: 1. Create an assignee pool of users ` assignee_pool = User.first(4)` 1. Create round robin distributor with type Task and the assignee pool. `round_robin_distributor = RoundRobinTaskDistributor.new(assignee_pool: assignee_pool, task_class: Task)` 1. Run through several assignments, confirm RoundRobin behavior looping through the list of assignees `assign_round_robins(round_robin_distributor)` - [x] RoundRobin loops through the users - note the last user id! 1. assigned a TimedHoldTask to one of the assignee users out-of-flow (i.e.; if the last user is 1, assign to 3) `TimedHoldTask.create!(appeal: Appeal.first, parent: Appeal.first.root_task, assigned_to: User.find( OUTOFORDERID ), status: "assigned", assigned_by: User.last, days_on_hold: 15)` 1. run the RoundRobin again, confirm the bug and see we jumped out of the RoundRobin flow and assigned based on the TimedHoldTask assignee `assign_round_robins(round_robin_distributor)` - [x] RoundRobin assigns to the user following the TimedHoldTask assignee, not next RoundRobin assignment On PR: 1. create assignee pool ` assignee_pool = User.first(4)` 1. create round robin distributor with type Task. `round_robin_distributor = RoundRobinTaskDistributor.new(assignee_pool: assignee_pool, task_class: Task)` 1. run through several assignemnts, confirm RoundRobin behavior `assign_round_robins(round_robin_distributor)` - [x] RoundRobin loops through the users - Note the last user id! 1. assigned a THT to a user out-of-flow (i.e.; if the last user is 1, assign to 3) `TimedHoldTask.create!(appeal: Appeal.first, parent: Appeal.first.root_task, assigned_to: User.find( OUTOFORDERID ), status: "assigned", assigned_by: User.last, days_on_hold: 15)` 1. run the RoundRobin again `assign_round_robins(round_robin_distributor)` - [x] confirm continuation of previous RoundRobin flow, not a jump to the user following TimedHoldTask user ### User Facing Changes None ### Code Documentation Updates - [ ] Add note to [Auto Task Distribution](https://github.com/department-of-veterans-affairs/caseflow/wiki/Automatic-Task-Distribution#vlj-support-round-robin)
@araposo-tistatech The fix for this is merged and will go out tomorrow! I suggest we keep this issue open for another week or two and keep an eye on tasks assigned moving forward to watch for any other potential issues. |
@lomky unfortunately, the VLJ Support team has reported that this issue has not been resolved. Please see their findings below: "It appears that the work distribution issue for VLJ Support has not been resolved. Please see below chart which shows the amount of work assigned to each employee during the period of May 9 through May 16, 2020. I pulled this information from Tableau because we are not able to get a clear/accurate number from the VLJ Work Queue. I am hopeful that your team will be able to correct this issue to ensure that work is being distributed evenly. Any assistance you can provide with getting this corrected is much appreciated. Please note that Tirza Austin-Jenkins departed the Board on May 8th and she was given admin rights at the end of April so that she would not receive any additional work that she couldn’t complete.
I realize it is probably very unlikely, but is it possible that the data in Tableau could be off? |
@araposo-tistatech My 2 cents: I wouldn't expect the numbers to even out immediately since cases that have already been assigned (before the fix) will stay with the current assignee. |
@yoomlam appreciate the input! I've gone back to VLJ Support with your note and will await feedback. |
We should direct them to make this user inactive in caseflow rather than making them an admin. This will ensure they are not assigned any more tasks, but the correct way |
@araposo-tistatech The round robin is now working as intended. Over the last 6 days 287 VLJ Support Tasks have been assigned. They have gone out evenly at approx ~20 tasks per user. There is one user with 4, but as of last week that person was marked as an Admin, and it looks like they were only added back into the round robin today. If they need us to adjust anything retroactively, we can, but we'd need their guidance on how to go about that to avoid interrupting anyone's work.
|
Maria from the VLJ support team got back to us stating two users (Lazette Clanton & Ronald Bergeron) are still receiving more tasks then other users. Below is the report she provided (May 25th - June 3rd): Based on the previous note Kat provided it does appear the tasks are being distributed evenly. Can we pull an updated report to ensure nothing has changed? I suspect the discrepancy is some users are completing their tasks faster than others, but I would like to present some data when I respond. |
User or job story
VLJ Support's task assignments are distributed in a round robin fashion to ensure tasks are evenly distributed among the team. There appears to be an issue with the distribution logic as the tasks are not being evenly distributed at this time.
Acceptance criteria
Background/context
Issue was flagged by the Deputy Branch Chief Veteran Law Judge Support Branch
Technical notes
Investigation: https://hackmd.io/@hschallh/rJyoSPJYL
The text was updated successfully, but these errors were encountered: