Activity planning
CHAPTER
Software Project Management Slide# 1
Activity planning
CHAPTER
Objectives
• Produce an activity plan for a project;
• Estimate the overall duration of a project;
• Create a critical path and a precedence
network for a project.
Software Project Management Slide# 2
Activity planning
6.1 Introduction
A detailed plan for the project, however, must also include a schedule
indicating the start and completion time for each activity. This will enable
us to:
• Ensure that the appropriate resources will be available precisely
when required;
• Avoid different activities competing for the same resources at the
same time;
• Produce a detailed schedule showing which staff carry out each
activity;
• Produce a detailed plan against which actual achievement may be
measured;
• Produce a time cash flow forecast;
• Replan the project during its life to correct drift from the target.
Software Project Management Slide# 3
Activity planning
6.1 Introduction
To be effective:
• A plan must be stated as a set of targets.
• The activity plan does this by providing a target start and
completed date for each activity.
• The start and completions of activities must be clearly visible and
this is one of the reason why it is advisable to ensure that each
and every project activity produces some tangible product.
• Monitoring the project’s progress to ensure that the products of
each activity are delivered on time.
Software Project Management Slide# 4
Activity planning
6.2 The objectives of activity planning
Feasibility assessment
Resource allocation
Detailed costing
Motivation
Co-ordination
Software Project Management Slide# 5
Activity planning
6.3 When to plan
– Planning is an ongoing process of refinement, each iteration
becoming more detailed and more accurate than the last. Over
successive iterations, the emphasis and purpose of planning will
shift.
– The main purpose of planning will be to estimate timescales and
the risks of not achieving target completion dates or keeping
within budget.
– Throughout the project, until the final deliverable has reached the
customer, monitoring and replanning must continue to correct any
drift that might prevent meeting time or cost targets.
Software Project Management Slide# 6
Activity planning
6.4 Project schedules
0
Select Project
1 Identify project 2 Identify project
scope and objective infrastructure
3
Analyze project
characteristics
4 Identify the
Review products and activities
5 Estimate effort
for activity
For each activity
Lower level detail 6 Identify
activity risks
10 Lower level planning
7 Allocate resources
9 Execute plan 8 Review/publicize plan
Software Project Management Slide# 7
Activity planning
6.4 Project schedules
Creating a project schedule comprises four main stages:
Ideal activity plan
Activity risk analysis
Resource allocation
Schedule production
Software Project Management Slide# 8
Activity planning
6.5 Projects and activities
Defining activities
• A project is composed of a number of interrelated activities;
• A project may start when at least one of its activities is ready to
start;
• A project will be completed when all of the activities it
encompasses have been completed;
• An activity must have a clearly defined start and a clearly defined
end-point, normally marked by the production of a tangible
deliverable;
• If an activity requires a resource then that resource requirement
must be forecastable and is assumed to be required at a constant
level throughout the duration of the activity.
• The duration of an activity must be forecastable – assuming
normal circumstances, and the reasonable availability of resources;
• Some activities might require that others are completed before
they can begin.
Software Project Management Slide# 9
Activity planning
6.5 Projects and activities
Identifying activities
The activity-based approach
– Consists of creating a list of all the activities that the project is
thought to involve.
– Ad hoc manner
– Work breakdown structure (WBS)
Software Project Management Slide# 10
Activity planning
6.5 Projects and activities
Introduction to the WBS
A Work Breakdown Structure is a results-oriented family tree that captures all the work of
a project in an organized way. It is often portrayed graphically as a hierarchical tree,
however, it can also be a tabular list of "element" categories and tasks or the indented
task list that appears in your Gantt chart schedule. As a very simple example, Figure 1
shows a WBS for a hypothetical banquet.
Software Project Management Slide# 11
Activity planning
6.5 Projects and activities
Identifying activities
The product-based approach
– Consists of producing a Product
Breakdown Structure and a
Product Flow Diagram.
– PFD can therefore be easily
transformed into an ordered list
of activities by identifying the
transformations that turn some
products into others.
Software Project Management Slide# 12
Activity planning
6.5 Projects and activities
Identifying activities
The hybrid approach
– WBS may be based upon the project’s products as follows,
which is in turn based on a simple list of final deliverables
and,
– For each deliverable, a set of activities required to produce
that product.
Software Project Management Slide# 13
Activity planning
6.5 Projects and activities
Identifying activities
A framework dictating the number of levels and the nature of each level in the
structure may be imposed on a WBS. For example, in their MITP methodology,
IBM recommend that the following five levels should be used in a WBS:
Level 1 : Project.
Level 2 : Deliverable such as software,
manuals, training course.
Level 3 : Components which are the key
work items needed to produce deliverables,
such as the modules and tests required to
produce the system software.
Level 4 : Work-packages which are major
work items, or collection of related tasks,
required to produce a component.
Level 5 : Tasks which are tasks that will
normally be the responsibility of a single
person.
Software Project Management Slide# 14
Activity planning
6.6 Sequencing and scheduling activities
On large project, it is better to separate out these activities:
– To sequence the task
according to their
logical relationship
– To schedule them
taking into account
resources and other
factors.
Software Project Management Slide# 15
Activity planning
6.7 Network planning models
CPM (Critical Path Method) and PERT (Program
Evaluation Review Technique)
Activity-on-arrow, Activity-on-node
NODE (Circle) representing the events of activities
starting and finishing.
Activity-on-node is activity represented as node
and link between nodes represent precedence or
sequencing requirements.
Software Project Management Slide# 16
Activity planning
6.8 Formulating a network model
Specify Design Cost/test
Module A Module A Module A
Specify Design Cost/test
Module B Module B Module B
Specify Check Integrate/test
Overall Specifications system
system Specify Design Cost/test
Module C Module C Module C
Specify Design Cost/test
Module D Module D Module D
Activity-on-Node Network
Software Project Management Slide# 17
Activity planning
6.8 Formulating a network model
Design
Module A 5 Code/test
Module A
Specify module A
Code/test
Specify module B
Design
Module B 6 Module B
Specify overall
1 2 3 4 9 10
Integrate/
System Test system
Specify module C
Design
Module C 7 Code/test
Module C
Specify module D
Design Code/test
Module D 8 Module D
Activity-on-Arrow Network
Project activity network fragment represented as a CPM network
Software Project Management Slide# 18
Activity planning
Activity-on-Node
Constructing precedence networks
A project network should have only one start node
A project network should have only one end node
A node has duration (Fig 6.7)
Links normally have no duration (Fig 6.9)
Precedents are the immediate preceding activities
Time moves from left to right
A network may not contain loops (Fig 6.10)
A network should not contain dangles (Fig 6.11, 6.12)
Representing lagged activities (Fig 6.13)
Hammock activities
Labeling conventions
Software Project Management Slide# 19
Activity planning
6.8 Formulating a network model
Code
Program
Install
test
Data
Take-on
Fragment of a precedence network
Code Test Release
program program program
Correct Diagnose
errors errors
A loop represents an impossible sequence
Software Project Management Slide# 20
Activity planning
6.8 Formulating a network model
Design Code Test Install
program program program program
Write user
manual
A dangle
Design Code Test Install
Sign-off
program program program program
Write user
manual
Resolving the dangle
Build Test Revise
Prototype Prototype specification
1 2
Document
amendments
Indicating lags
Software Project Management Slide# 21
Activity planning
6.8 Formulating a network model
Labeling conventions
Activity label Duration
Earliest Earliest
start Activity finish
Latest description Latest
start finish
Activity span Float
Software Project Management Slide# 22
Activity planning
6.9 Adding the time dimension
Example of project specification
Activity Duration Precedents
(Week)
A Hardware selection 6 -
B Software design 4 -
C Install hardware 3 A
D Code & Test software 4 B
E File take-on 3 B
F Write user manual 10 -
G User Training 3 E, F
H Install & Test System 2 C, D
Software Project Management Slide# 23
Activity planning
6.10 The forward pass
Precedence network for the example project
Software Project Management Slide# 24
Activity planning
6.9 Adding the time dimension
The critical path approach is concerned with two primary objectives:
• Planning the project in such a way that it is completed as quickly
as possible.
• Identifying those activities where a delay in their execution is
likely to affect the overall end date of the project or later
activities’ start dates.
- Forward pass
- Backward pass
- Critical path.
Software Project Management Slide# 25
Activity planning
6.10 The forward pass
– to calculate the earliest dates on which each activity may be
started and completed.
– Where an actual start is known, the calculations may be
carried out using actual dates.
– Alternatively we can use day or week numbers and that is the
approach we shall adopt here.
– Date indicate the end of the project and the project is
therefore shown as starting in week zero.
Software Project Management Slide# 26
Activity planning
6.10 The forward pass
A 6 wks C 3 wks
0 Hardware 6 6 Build 9
design hardware
B 4 wks D 4 wks H 2 wks
0 Software 4 4 Code 8 9 Install 11
Start design Software And test Finish
F 10 wks E 3 wks G 3 wks
0 User 10 4 File 7 10 User 13
Manual Take-on Training
Precedence network for the example project
Software Project Management Slide# 27
Activity planning
6.11 The backward pass
– To calculate the latest date at which each activity may be started
and finished without delaying the end date of the project.
– In calculating the latest dates, we assume that the latest finish
date for the project is the same as the earliest finish date – that
is, we wish to complete the project as early as possible.
Software Project Management Slide# 28
Activity planning
6.11 The backward pass
A 6 wks C 3 wks
0 Hardware 6 6 Build 9
2 design 8 8 hardware 11
B 4 wks D 4 wks H 2 wks
0 Software 4 4 Code 8 9 Install 11
Start 3 design 7 7 Software 11 11 And test 13
Finish
F 10 wks E 3 wks G 3 wks
0 User 10 4 File 7 10 User 13
0 Manual 10 7 Take-on 10 10 Training 13
The network after the backward pass
Software Project Management Slide# 29
Activity planning
6.12 Identifying the critical path
• There will be at least one path through the network that defines
the duration of the project known as the critical path.
• The difference between an activity’s earliest start date and its
latest start date is known as the activity’s float - it is measure of
how much the start or completion of an activity may be delayed
without affecting the end date of the project.
• The significance of critical path is twofold:
– In managing the project, we must pay attention to
monitoring activities on the critical path.
– In planning the project, it is the critical path that we must
shorten if we are to reduce the overall duration of the
project.
Software Project Management Slide# 30
Activity planning
6.12 Identifying the critical path
A 6 wks C 3 wks
0 Hardware 6 6 Build 9
2 design 8 8 hardware 11
8 weeks 2 wks 5 weeks 2 wks
B 4 wks D 4 wks H 2 wks
0 Software 4 4 Code 8 9 Install 11
Start 3 design 7 7 Software 11 11 And test
13
Finish
7 weeks 3 wks 7 weeks 3 wks 4 weeks 2 wks
F 10 wks E 3 wks G 3 wks
0 User 10 4 File 7 10 User 13
0 Manual 10 7 Take-on 10 10 Training 13
10 weeks 0 wks 6 weeks 3 wks 3 weeks 0 wks
Software Project Management Slide# 31
Activity planning
6.13 Activity float
The number of other measures of activity float, including:
• Free float: the time by which an activity may be delayed without
affecting any subsequent activity.
• Interfering float: the difference between total float and free
float.
Software Project Management Slide# 32
Activity planning
6.14 Shortening the project duration
- We would normally consider attempting to reduce activity
durations.
- Applying more resources to the task – working overtime or
procuring additional staff, etc.
Software Project Management Slide# 33
Activity planning
6.15 Identifying critical activities
- Identify ‘near-critical’ paths;
- Identify critical activities is an important step in risk analysis,
resource allocation and project monitoring.
Software Project Management Slide# 34
Activity planning
6.16 Activity-on-arrow networks
Activity-on-arrow network activities are represented by
links (or arrows) and the nodes represent events of activities (or
groups of activities) starting or finishing.
C
A
1 B 3 D 4 H 6
E
G
5
F
Software Project Management Slide# 35
Activity planning
6.16 Activity-on-arrow networks
Activity-on-arrow network rules and conventions
• A project network may have only one start node;
• A project network may have only one end node;
• A link has duration;
• Nodes have no duration;
Event
• Time moves from left to right; number
Earliest Latest
• Nodes are numbered sequentially; date
date
Slack
• A network may not contain loops;
• A network may not contain dangles;
Software Project Management Slide# 36
Activity planning
6.16 Activity-on-arrow networks
Activity Duration Precedents
(Week)
A Hardware selection 6 -
B Software design 4 -
C Install hardware 3 A
D Code & Test software 4 B
E File take-on 3 B
F Write user manual 10 -
G User Training 3 E, F
H Install & Test System 2 C, D
C
A
1 B 3 D 4 H 6
E
G
F 5
Software Project Management Slide# 37
Activity planning
6.16 Activity-on-arrow networks
Activity Duration Earliest Latest Earliest Latest Total
(week) [Link] [Link] [Link] [Link] float
A 6 0 2 6 8 2
B 4 0 3 4 7 3
C 3 6 8 9 11 2
D 4 4 7 8 11 3
E 3 4 7 7 10 3
F 10 0 0 10 10 0
G 3 10 10 13 13 0
H 2 9 11 11 13 2
2
6 8
2
C= 3
A =6
0
1
0
B= 4 4
3
7
D= 4 4
9 11
H= 2 6
13 13
0 3 2 0
E= 3
G=3
F = 10 10 5 10
0
Software Project Management Slide# 38
Activity planning
Exercise
4
C=7
F=6
Dummy
1 A=8 2 B = 11 3 D=6 5 7
0 0 0 8 19
G=5
H=4
E = 10
6
Critical Path =
Path =
Software Project Management Slide# 39
Activity planning
Exercise
4
26 28
C=7 2
F=6
Dummy
1 A=8 2 B = 11 3 D=6 5 7
0 0 0 8 8 19 19 25 25 34 34
0 0 0 0
G=5
H=4
E = 10
6
30 30
0
Critical Path = 34
Path = A–B–D–G-H
Software Project Management Slide# 40
Activity planning
6.17 Conclusion
This chapter we have discussed the use of the critical path method and
precedence networks to obtain an ideal activity plan. This plan tells us the
order in which we should execute activities and the earliest and latest we can
start and finish them.
These techniques help us to identify which activities are critical to meeting
a target completion date.
In order to manage the project we need to turn the activity plan into a
schedule that will specify precisely when each activity is scheduled to start and
finish. Before we can do this, we must consider what resources will be required
and whether or not they will be available at appropriate times. As we shall see,
the allocation of resources to an activity may be affected by how we view the
importance of the task, and the risks associated with it.
Software Project Management Slide# 41