Introduction to the simulation model

Introduction to the
simulation model
V1 20Oct2016
Wolfgang Steffens
Overview
Create a list of
workitems
• Length up to 1000
items
• Max Value and Max
Size are user-defined
• Value and Size are
baed on equallydistributed random
function
Perform a simulation
• Simulation 1 - Teams’ workload ratio as a function of workitems
• Simulation 3 - Teams’ workload ratio as a function of workitems
with parameter team size
• Simulation 5 - Teams’ utilization as a function of team size with
parameter workitems (content fixed)
• Simulation 6 - Create CFD and teams’ utilization
• Simulation 7 - Teams’ utilization as a function of team size with
parameter workitems (time fixed)
Team Allocation
• Teams’ capacity and number of teams (max 100) are user-defined
• Teams which contribute to a work item and their workload are both
chosen per equally-distributed random function
Simulation 1 – Teams’ workload ratio as a
function of workitems
Content FIXED
Read #ofitems
from the workitem
list
Allocate
#work to
#teams using
random
function
(#runs)
Display
Maxratio,
minratio,
avgratio, median
ratio as a
function of
workitems
Ratio is calculated as the maximum workamount of a single team across
all items divided by the minimum workamount of a single team across all
items. This ratio calculation is done for #runs. The max/min/avg/med ratio
is derived across all the ratios from those #runs.
Example:
Simulation 3 – Teams’ workload ratio as a function
of workitems with parameter team size
Content FIXED
Read #ofitems
from the workitem
list
Allocate
#work to
#teams using
random
function
(#runs)
Display
Maxratio,
median ratio as a
function of
workitems for
each #teamsize
Ratio is calculated as the maximum workamount of a single team across
all items divided by the minimum workamount of a single team across all
items. This ratio calculation is done for #runs. The max ratio is derived as
an average from the top 20% of all max ratios across all the ratios from
those #runs. The med ratio is derived across all the ratios from those
#runs. The simulation can handle and display up to three different team
sizes.
Example:
Simulation 5 – Teams’ utilization as a function
of team size with parameter workitems
Content FIXED
Read #ofitems
from the workitem
list and read
#teamcapacity
Allocate
#work to
#teams using
random
function
(#runs)*
Display
Team utilization
rate in (%) as a
function of team
size for varying #
of workitems
* Additionally: The amount of how many cycles the team is involved is
calculated based on the workload of a team across all workitems and its
capacity. The minimum and average utilization rate is calculated based on
in how many cycles the team is involved in.
The average of the top 20% of the averaged team utilization is displayed
as a function of teamsize with the amount of workitems as a parameter.
Example:
Simulation 6 – Create CFD and teams’
utilization
Read
#ofitems from the
WI list
#teamcapacity
Single run!!!
If needed: Allocate
#work to #teams
using
random function
• Create CFD
• Team utilization rate in (%)
• Teams’ involvement in
#cycles
Content FIXED
Teams pull in work from workitem list. If a team has no more capacity
left, the cycle count is increased by 1 and the team gets again capacity
assigned (reduced by the amount of leftover work). This is done for all
teams. Each workitem is tracked in which cycle it was started and when
ended. The CFD is created with this data. Further, it is displayed in how
many cycles a team is involved in in absolute and relative graph.
Examples:
Simulation 7 – Teams’ utilization as a function
of team size with parameter workitems
Time FIXED
Read #ofitems
from the workitem
list and read
#teamcapacity
Allocate
#work to
#teams using
random
function
(#runs)*
Display
Team utilization
rate in (%) as a
function of team
size for varying #
of workitems
Deduction what is the maximum number of workitems until a team hits
the capacity*cycle boundary. Determine each team’s maximum cycle.
Utilization ratio is calculated based on the cycle data. Utilization ratio
average, maximum and minimum are calculated.
Example:
The Dirty details
Disclaimer:
Macros are written in VBA excel with Office365 (Excel 2016) and Windows 7.
The macros might not work on other Excel versions
Team Allocation (generic for all)
Team’s total
workload is summed
up over all
worktiems.
PBL ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SIZE
36
29
16
1
41
3
44
19
44
48
27
3
24
32
14
42
30
46
35
13
547
1
29
5
2
1
5
37
3
29
4
1
4
19
5
2
1
8
8
32
1
13
123
1
2
1
9
9
7
19
12
19
34
1
2
8
12
2
4
1
5
5
2
2
15
1
10
1
46
15
3
7
3
7
12
18
8
104
1
33
130
162
The team with the biggest and
the smallest load.
The ratio is 5.7 = 162/28
14
1
A workitem is
allocated to random
number of teams
The allocated
amount of work is
random
28
Note for Analysis 3: the max rate
is based on top 20% and min rate
is based on the bottom 20%.
Teams’ utilization rate (Analysis 1-5)
1
123
7
78 %
2
104
6
67 %
Using a capacity of 20.
Team 4 needs 9 cycles
(roundup 162/20)
Team 5 needs 2 cycles
(roundup 28/20)
3
130
7
78 %
4
162
9
100 %
5
28
2
22 %
Minimum utilization rate is 22%
(=2/9)
Average utilization rate is 69%
Note for multi-run simulation: the max rate is based on top
20% and min rate is based on the bottom 20%.
Teams’ utilization rate (Analysis 7)
Example
Capacity: 20
Cycles: 5
2
1
1. Team 3 hits the boundary (capacity*cycles) first
2. Item #12 is the last one which is counted
3. Calculate workload of each team across
workitems 1 to 12
4. Calculate how many cycles each team needed top
get their work done
5. Calculate ratio of
6. BLA