Transcript Document
R&D SDM 1
Software Project Management
Project Scheduling and Tracking
2009
Theo Schouten
Content
What is project scheduling & tracking ?
Which steps can be recognized in project scheduling?
Work Breakdown Structure
Techniques: CPM, Gantt Charts
Examples
Final remarks
Book chapter 24
2
What is project scheduling&tracking?
Scheduling:
–The partitioning of the total work of a project in tasks,
which deliver defined products.
–The planning of those tasks in calendar time.
–The allocation of resources to these tasks.
Tracking:
–Following of the progress of the tasks in the course of a
project.
–Adapting the schedule according the latest developments.
How software projects fall behind schedule?
When a project is 80% finished, 80% of the work still has to be
done.
3
Why software is delivered late?
• Unrealistic deadline established outside the team
• Changing customer requirements not reflected in schedule
changes
• Underestimating the resources required to complete the project
• Risks that were not considered when project began
• Technical difficulties that have not been predicted in advance
• Human difficulties that have not been predicted in advance
• Miscommunication among project staff resulting in delays
• Failure by project management to recognize project falling
behind schedule and failure to take corrective action
people, process, technology
4
Perspectives
• the end-date for the software release is set externally
– the software organization is constrained to
distribute effort in the prescribed time frame.
• the rough chronological bounds have been discussed
by the developers and customers
– the end-date is best set by the developer after
carefully considering how to best use the resources
needed to meet the customer's needs.
– negotiation process
5
Basic principles for scheduling
Compartimentalization
– decomposition of both the product and the process
– the work is divided in tasks (work-breakdown structure)
– each delivers (possible in combination with other tasks)
a part of the product.
Interdependency
– minimize the dependency between tasks
– which products of other tasks are needed to start a task
– sequential and parallel tasks
Time allocation for each task
How much work is needed in e.g. person-days
Determine whether this will be part-time of full-time
Assign a start and completion date (not assigned yet to
a person).
6
…continued
Matching total time with available resources
– Are the needed resources (persons, tools, hardware)
available? (not assigned yet to a person).
Defining responsibilities
– Every task should be the responsibility of a person.
Defining outcomes of tasks
– Each task should have a defined outcome. (SMART)
– More than 1 of these work products may be grouped
into a deliverable.
Defining milestones
– the milestones of the project: a moment in time on
which a (group of) deliverables should be finished.
7
Effort distribution
• Use the data on the organization’s historical experience with
similar projects
• When such data is not available, publicly available factors can
be used for guidance.
• The 40-20-40 rule (a rule of thumb):
– 40% front-end analysis and design
– 20% coding
– 40% back-end testing
• Generally accepted guidelines are:
– 02-03 % planning
– 10-25 % requirements analysis
– 20-25 % design
– 15-20 % coding
– 30-40 % testing and debugging
8
Critics of 40-20-40 % rule
• Some Software Engineering Managers believe that
more than 40% of overall effort should be expended
during Analysis and Design.
• Some proponents of Agile Development Method
argue that Less time should be expended on “Frontend’’ of Project Phase and that a team should move
quickly to Construction Phase (Build phase).
9
Parts and steps
Project task: A task is executable and delivers a well defined
work product (SMART);
Work-breakdown structure: Division of the total trajectory into
tasks;
Deliverable Intermediate or final product delivered by a task or
a number of tasks;
Milestone: Date on which a deliverable should be ready;
Network of dependencies of project tasks:
sequential
parallel
10
…continued
Determine which tasks are critical in the network: they
determine the run time of a project;
Determine what the size of the tasks are;
Determine which resources are needed to execute each task;
Building up of a project schedule:: dividing the tasks over time
and allocating resources to tasks;
Tracking of the progress of the project on basis of its schedule.
11
Steering project
Steer on
goals
Project Sponsor
Steering Committee
Steer on
goals, milestones
and deliverables
Project Steering Committee
Project Manager(s)
Attention in
this course
Functional/Process Groups
(User Focal Points)
User Group 1
Steer on
Milestones, deliverables
and tasks
User Group 2
…..
Technical Project
Leader
Analysts
Designers
Steer on
Tasks and
resources
programmers
User Group n
12
Work-Breakdown Structure
• A detailed breakdown of the product into manageable work
elements.
• A method for breaking down work within a project into logical
steps:
– Product WBS:
• Work is broken down by system, subsystem, modules &
the structure of the software product.
– Activity WBS:
• Work is broken down by activities of the project
members such as management, requirements analysis,
design & programming.
13
Product WBS
14
Activity WBS
15
Work-breakdown structure
Example
Main phases of an information system based on
software packets on the market.
Phase 1
Develop
Blueprint
Phase 2
Design
Information
system
Phase 3
Realize
Information
system
Phase 4
Implement
Information
system
16
Steps in phase 1
Development blueprint
Deliverables
phase 1
1.1.
Preparation
&
Projectdefinition
1.2.
Develop
processmodel
current
situation
1.3.
Analysis
current
situation
1.4.
Develop
blueprint
1.5
Fit-analysis
shortlist
Packets
1.6
make
principle
choice
1.7.
Make
plan
next
phases
Blueprint
Principle
-choice
Fitanalysis
Plan
phase 2
17
Steps in phase 2
Design Information System
Deliverables
Phase 2
Input
Phase 2
Blueprint
Principle
-choice
Fitanalysis
Plan
phase 2
Final
choice
Iterative
Preparation
2.1.
Develop
simulation
case
Execution
2.2.
Make
simulation
environment
2.3.
Prototype
stepthrough
2.4.
2.5.
Endreport
Design
interfaces
+ conversion
Process
model
future sit.
Finalreport
Solutions
for
“gaps”
18
Relation deliverables-milestones
Project
Goals
Task 1
Constraints
Deliverable 1
.......
.......
Task n
Deliverable n
Milestone 1
......
Milestone n
Timing,
resourcing
and
dependencies
19
Relation between people and effort
•Putnam-Nordon-Rayleigh (PNR) curve
•putting more people on a project does not decrease time linearly
•people need time for communication
•4 zones in the curve for a certain defined project:
1) it can not be completed within a certain time
2) overstaffed: completed fast,
but inefficient
3) linear range: efficient
staffing, man-power trade-off
with time is good possible
4) understaffed: becomes also
inefficient
20
PNR Formula’s
• The number of delivered lines of code L is related to effort and
development time by the equation:
L = P × E 1/3 t 4/3
E is development effort in person-months
P is a productivity parameter that reflects various factors
(typically 2,000-12,000)
t is the project duration in calendar months
• Rearranged to solve for development effort:
E = L3/(P 3t 4)
21
Setting up of a schedule
Define deliverables and milestones;
Identify tasks which belong to deliverables;
Identify relations between deliverables and activities;
Determine the type and size of the resources needed for a
task;
Allocate people to activities;
Create activity networks and ‘bar charts’ (Gantt Charts).
22
Example
Task
Run time in
workdays
Dependencies
(milestone)
T1
8
T2
15
T3
15
T4
10
T5
19
T2, T4 (M2)
T6
5
T1, T2 (M3)
T7
20
T1 (M1)
T8
25
T4 (M5)
T9
15
T3, T6 (M4)
T10
15
T5, T7 (M7)
T11
7
T9 (M6)
T12
10
T11 (M8)
T1 (M1)
23
Activity network
Insight in parallel
and sequential tasks
+ dependencies
15 days
14/7/99
8 days
M1
T3
4/7/99
25/7/99
M3
15 days
5 days
25/8/99
M6
T6
7 days
20 days
T2
M2
T4
10 days
T5
18/7/99
M5
T11
T7
25/7/99
10 days
T9
M4
T1
Start
15 days
4/8/99
5/9/99
11/8/99
M8
M7
15 days
25 days
10 days
T10
T12
T8
End
19/9/99
24
Critical path
15 days
14/7/99
8 days
M1
T3
4/7/99
25/7/99
M3
15 days
5 days
25/8/99
M6
T6
7 days
20 days
T2
M2
T4
T11
T7
25/7/99
10 days
T9
M4
T1
Start
15 days
4/8/99
10 days
T5
18/7/99
5/9/99
11/8/99
M8
M7
15 days
M5
25 days
10 days
T10
T12
T8
= Critical
Path
End
19/9/99
25
Bar chart (Gantt chart)
4/7
Start
11/7 18/7
25/7
1/8
8/8
15/8
22/8
29/8
5/9
12/9
19/9
26/9
T4
T1
T2
M1
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T10
M6
T11
M8
T12
End
26
Extra time
4/7
Start
11/7 18/7
25/7
1/8
8/8
15/8
22/8
29/8
5/9
12/9
19/9
26/9
T4
T1
T2
M1
T7
T3
M5
T8
M3
M2
T6
T5
M4
T9
M7
T10
M6
T11
M8
T12
End
27
Allocation of persons to tasks and time
Task
Software
Engineer
T1
Jan
T2
Carolien
T3
Jan
T4
Frank
T5
Isabel
T6
Carolien
T7
Jim
T8
Frank
T9
Jan
T10
Carolien
T11
Frank
T12
Frank
4/7
Frank
11/7 18/7 25/7 1/8
8/8
15/8
22/8
29/8
5/9
12/9
19/9
T4
T8
T11
T12
Jan
T1
T3
T9
Carolien
T2
T10
T6
Jim
Isabel
T7
T5
Resources can influence the critial path,
e.g. Frank with T8-T11
28
26/9
Another example
29
Gantt chart
30