17spm_T04 – Solution
Software Project Management
SPM 2017 Tutorial 4 Solution 1 © 2017 Ron Poet
Tutorial 4 Solution
Each task will be represented as a node on the PERT chart, with the following structure:
The first step is to put in the dependency lines. The earliest tasks go on the left and we
move to the right.
The next step is to work out the earliest completion time. We work out the earliest time
that each task can start and then add the elapsed time for the task itself to arrive at the
earliest time it can finish. A task cannot start until all of the tasks it depends on have
finished. We look at the earliest completion times of all the tasks with arrows leading
into the task and take the largest of these. All tasks without dependencies can start right
away.
Task Earliest
Elapsed Latest
1
2
2
1
3
0.5
4
2
5
1.5
7
2
8
2
6
1
9
0.5
10
1
11
1
13
0.5
12
1
1 2
2
2 1
1
3 2.5
0.5
4 4.5
2
5 4
1.5
7 6.5
2
8 6.5
2
6 5.5
1
9 6
0.5
107.5
1
117.5
1
13 9
0.5
128.5
1
Software Project Management
SPM 2017 Tutorial 4 Solution 2 © 2017 Ron Poet
This shows us that the earliest the project can finish is 9 months after the start. The next
step is to work backwards from the end of the project and calculate the latest time each
task can finish. For each task, we look at all the tasks that follow on from it and calculate
the latest time they can start. This is their latest finishing time minus their elapsed time.
The latest finishing time of the last task is the length of the project.
All tasks where the earliest and latest finishing time a critical and there is no room for
rescheduling. They are on the critical path. They are tasks 1, 3, 4, 7, 8, 10, 11, 12, 13.
The other tasks have some slack in their start and finishing times. We can use this slack
to delay their start or also let them take longer, but with fewer staff. Brook’s law does
not apply when we are taking longer for a task and hence using fewer staff. It also does
not apply to planned activities.
We use a Gantt chart to decide what to do with tasks with some slack in their schedule.
This is where we consider the effort for each task. Adding up the effort for each task, we
see that the whole project will take 32 person months. It will last 9 months and so will
need 3 or 4 people working each month. We will use a Gantt chart to plan this. We can
calculate the average number of people employed on a by dividing the effort by the
elapsed time, for example, for task 1 it is 3 (effort) / 2 (elapsed) = 1.5. The results are:
Task 1 (1.5), 2 (3), 3 (3), 4 (3), 5 (1.33), 6 (2), 7 (2), 8 (2), 9 (2), 10 (1), 11 (2), 12 (1.5),
13 (2).
Normally I would draw this in each rectangle, but there is not enough space on the
following diagram. I will first plot the tasks on the critical path in red.
1 2
2 2
2 1
1 2
3 2.5
0.52.5
4 4.5
2 4.5
5 4
1.56.5
7 6.5
2 6.5
8 6.5
2 6.5
6 5.5
1 7
9 6
0.5 7.5
107.5
1 7.5
117.5
1 7.5
13 9
0.5 9
128.5
1 8.5
Software Project Management
SPM 2017 Tutorial 4 Solution 3 © 2017 Ron Poet
1
2
3
4
5
6
7
8
9
10
11
12
13
We have the following slack tasks that we can adjust to provide consistent employment:
2: elapsed 1 between 0 and 2
5: elapsed 1.5 between 2.5 and 6.5
6: elapsed 1 between 4.5 and 7
9: elapsed 0.5 between 5.5 and 7.5
Employment on the critical tasks is as follows:
1.5 persons between 0 and 2 (task 1)
3 people between 2 and 4.5 (task 3 and then task 4)
4 people between 4.5 and 6.5 (tasks 7 and 8 in parallel)
3 people between 6.5 and 7.5 (tasks 10 and 11 in parallel)
1.5 between 7.5 and 8.5 (task 12)
2 people between 8.5 and 9 (task 13)
If we schedule task 2 between 0 and 2, taking twice as long, we can employ 1.5 people
for 2 months rather than 3 people for 1 month. This means we can employ 3 people for
the first half of the project (0 to 4.5).
We can’t do anything about the last month and a half of the project (7.5 to 9) since there
are no slack tasks that can run during this period.
We need to schedule 5 additional person-months (tasks 5, 6, 9) between 2.5 and 7.5. We
have already schedule 17 person-months during this period with tasks 4, 7, 8, 10, 11) and
so we need to schedule 22 person-months during these 5 months. We can try and even
things out by aiming for a 4 – 4 – 5 – 5 – 4 employment pattern. This means an extra
person between 2.5 and 4.5, which can be achieved by spreading task 5 out over 2
months instead of 1.5.
We can add an extra person between 4.5 and 6.5 by scheduling task 6 for these two
months.
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
Software Project Management
SPM 2017 Tutorial 4 Solution 4 © 2017 Ron Poet
We can add an extra person between 6.5 and 7.5 by spreading task 9 over one month
during this period.
Here is the resulting Gantt chart:
1
2
3
4
5
6
7
8
9
10
11
12
13
Note that if we are prepared to accept a 2 month delay then we can employ 3 people for
the duration of the project, and all tasks will have some slack. The Gantt chart can then
be used with the assumption that the total number of employees on active tasks is 3.
An Earned Value Chart plots accumulated number of person-months on the y-axis against
time in months on the x-axis. There will be one line at the start of the project, the
planned expenditure, and another one, the actual expenditure as the project progresses.
Here is what the planned line looks like.
40
30
20
10
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll
1.5llllll