Content
View differences
Updated by Klaus Zanders 17 days ago
**As** a user \[enter role of Resource Management user\]
**I want the system to** distribute a user's allocations in a way \[enter objective\]
**so that** it fits all the users \[enter desired result\]
**Acceptance criteria**
* The system takes all user allocations and shifts times into the user's working hours to try to fit everything.
<br>
**Technical notes**
* Output of this:
<br>
**Permissions and visibility considerations**
* A schedule how many hours of each day are allocated to what work package
_To whom is this feature visible?_
* An info what days are overscheduled.
_When is it not visible?_
**Translation considerations**
* When creating an allocation, that schedule should be built _Key terms and a proper error should be displayed if that would put phrases in the user over their allocated time. key languages_
**Technical notes**
Here's a sample **Out of what that algorithm should do: scope**
```text
Task A: Monday - Friday, 10 hours
Task B: Mondey - Tuesday: 10 hours
Task C: Wednesday: 5 hours
Task D: Thursday - Friday: 10 hours
For a user with a 40hr week split into 8hr days:
┌─────┬────────────────┬────────────┐
│ Day │ * Allocation │ Daily load │
├─────┼────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────┼────────────┤
│ Wed │ C = 5h, A = 3h │ 8h │
├─────┼────────────────┼────────────┤
│ Thu │ D = 7h, A = 1h │ 8h │
├─────┼────────────────┼────────────┤
│ Fri │ D = 3h │ 3h │
└─────┴────────────────┴────────────┘
Now we reschedule that the user works 7.5 hours on task C
┌─────┬────────────────────┬────────────┐
│ Day │ Allocation │ Daily load │
├─────┼────────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────────┼────────────┤
│ Wed │ C = 7.5h, A = 0.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Thu │ A = 3.5h, D = 4.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Fri │ D = 5.5h │ 5.5h │
└─────┴────────────────────┴────────────┘
And now we set that task D has <br>
_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be done on wednesday&thursday only:
┌─────┬────────────────────┬────────────┐
│ Day │ Allocation │ Daily load │
├─────┼────────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────────┼────────────┤
│ Wed │ C = 7.5h, D = 0.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Thu │ D = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Fri │ A = 4h │ 4h │
└─────┴────────────────────┴────────────┘
So, for Task D we have only scheduled 8.5h, so we are 1.5h short.
Output: Overbooked Wed–Thu, over by 1.5h, because auf C+D
``` informed of the changes._
**I want the system to** distribute a user's allocations in a way
**so that** it fits all the users
**Acceptance criteria**
* The system takes all user allocations and shifts times into the user's working hours to try to fit everything.
**Technical notes**
**Permissions and visibility considerations**
**Translation considerations**
**Technical notes**
Here's a sample
```text
Task A: Monday - Friday, 10 hours
Task B: Mondey - Tuesday: 10 hours
Task C: Wednesday: 5 hours
Task D: Thursday - Friday: 10 hours
For a user with a 40hr week split into 8hr days:
┌─────┬────────────────┬────────────┐
│ Day │
├─────┼────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────┼────────────┤
│ Wed │ C = 5h, A = 3h │ 8h │
├─────┼────────────────┼────────────┤
│ Thu │ D = 7h, A = 1h │ 8h │
├─────┼────────────────┼────────────┤
│ Fri │ D = 3h │ 3h │
└─────┴────────────────┴────────────┘
Now we reschedule that the user works 7.5 hours on task C
┌─────┬────────────────────┬────────────┐
│ Day │ Allocation │ Daily load │
├─────┼────────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────────┼────────────┤
│ Wed │ C = 7.5h, A = 0.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Thu │ A = 3.5h, D = 4.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Fri │ D = 5.5h │ 5.5h │
└─────┴────────────────────┴────────────┘
And now we set that task D has
_Set the_ **To be informed/consulted teams** _field
┌─────┬────────────────────┬────────────┐
│ Day │ Allocation │ Daily load │
├─────┼────────────────────┼────────────┤
│ Mon │ B = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Tue │ B = 2h, A = 6h │ 8h │
├─────┼────────────────────┼────────────┤
│ Wed │ C = 7.5h, D = 0.5h │ 8h │
├─────┼────────────────────┼────────────┤
│ Thu │ D = 8h │ 8h │
├─────┼────────────────────┼────────────┤
│ Fri │ A = 4h │ 4h │
└─────┴────────────────────┴────────────┘
So, for Task D we have only scheduled 8.5h, so we are 1.5h short.
Output: Overbooked Wed–Thu, over by 1.5h, because auf C+D
```