Software Engineering Why Do We Need a Project Plan?

2
10.1 Project Planning
Why Do We Need a Project Plan?




Unique product or service
Guide project execution
Document project planning assumptions
Document planning decisions regarding
alternatives chosen
 Facilitate communication among stakeholders
 Provide baseline for progress measurement and
project control
Software Engineering
Project Planning
Peter Müller
Chair of Programming Methodology
Spring Semester 11
Peter Müller – Software Engineering, SS 11
3
10.1 Project Planning
Aspects of Project Planning
4
10.1 Project Planning
Planning Iterations
Project Management
Scope
Planning
Project Integration
Management
Project Scope
Management
Project Time
Management
Project Cost
Management
Project Quality
Management
Project Human
Resource Management
Project Communications
Management
Project Risk
Management
Project Procurement
Management
Time
Planning
Cost
Planning
Project
Plan
Development
...
Planning
Peter Müller – Software Engineering, SS 11
10.1 Project Planning
Peter Müller – Software Engineering, SS 11
5
10.1 Project Planning
Assumptions
Constraints
 Definition:
Assumptions are factors that, for planning
purposes, are considered to be true, real, or certain
 Assumptions affect all aspects of project planning,
and are part of the progressive elaboration of the
project
 Project teams frequently identify, document, and
validate assumptions as part of their planning
process
 Assumptions generally involve a degree of risk
 Definition:
Constraints are factors that limit the project team’s
options
 A single project may contain cost, time, human
resource, technical, and other constraints
 Examples
Peter Müller – Software Engineering, SS 11
6
- External deadlines (e.g., Y2K, Euro)
- Fixed upper limits for budget
- Dependencies on other projects, etc.
Peter Müller – Software Engineering, SS 11
1
7
10.1 Project Planning
8
10.1 Project Planning
Project Plan Document
Baseline
 A formal, approved document
 A project plan is not just a schedule!
 Contains
 Definition:
The originally approved plan plus or minus
approved changes.
- Project management approach
- Scope, schedule, cost estimates, resources,
responsibilities
- Subsidiary management plans for scope, schedule, cost,
quality, etc.
- Performance measurement baselines for scope,
schedule, and cost
- Open issues and pending decisions
 Baselines are used to compare the actual
performance and forecasts of the project with the
original plan
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
10. Project Planning – Overview
9
10.1 Project Planning – Scope Planning
10
Decomposition of Deliverables
10. Project Planning
Identify the major
deliverables of the
project, including
project management
10.1 Scope Planning
10.2 Scheduling
Adequate
cost and duration
estimates possible at
this level?
Yes
No
Validate decomposition:
• Are items necessary and
sufficient?
• Is each item clearly and
completely defined?
• Can each item be scheduled
and budgeted?
Identify constituent
components of the
deliverable
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
10.1 Project Planning – Scope Planning
11
Decomposition Example 1
10.1 Project Planning – Scope Planning
12
Decomposition Example 2
Product ABC
Analysis
...
Product definition
Product ABC
Deployment
Project Management
Software
Hardware
Training
Software
Project definition
Database
Computers
Materials
Hardware
Project plan
User interface
Network
Training environment
Handbook
Status reports
Business logic
Installation
Functional design
Project Management
Project definition
Project plan
Status reports
Non-functional req.
Status quo
Approval
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
2
10.1 Project Planning – Scope Planning
13
Work Breakdown Structure (WBS)
10.1 Project Planning – Scope Planning
14
WBS Relationships
 Definition:
A deliverable-oriented, hierarchical grouping of
project elements that organizes and defines the
total work scope of the project. Each descending
level represents an increasingly detailed definition
of the project
Status
Reporting
Make-or-Buy
Decisions
Basis for
Change
Management
Basis for
Basis for
Product ABC
Analysis
System
Solution
Basis for
Deployment
Product definition
Consistency
Project
Organization
Project Management
Software
Project definition
Hardware
Project plan
Handbook
Status reports
Basis for
Plans,
Reviews
Basis for
Basis for
Schedule
Estimations
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
10. Project Planning – Overview
15
10.2 Project Planning – Scheduling
10. Project Planning
Purpose of Scheduling
10.1 Scope Planning
10.2 Scheduling
 Track the progress of the project
 Determine how possible changes might affect the
project
 Communication
16
- Will the activities be completed in time?
- When are which resources needed?
- When will major milestones be reached?
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
17
Activities
18
Milestones
Appartment Renovation
Kitchen
10.2 Project Planning – Scheduling
Bathroom
Workroom
Sleeping room
Remove carpeting
Clean room
Serve food
Refurnish
Remove furniture
Paint
Paint walls (1)
 Definition:
A significant event in the project, usually completion
of a major deliverable
 Milestones have no effort or duration
 Milestones do not have resources
Paint walls (2)
Paint ceiling
Lay parquet
 Example: Painting completed
 Rule of thumb: 40 to 80 person hours per activity
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
3
10.2 Project Planning – Scheduling
19
10.2 Project Planning – Scheduling
20
Dependencies
Lag and Lead
 Logical relationships among activities
 Modify a logical relationship to direct a delay
or acceleration of the successor task
 No modifier
- Finish-to-Start (FS)
- Start-to-Start (SS)
Time
- Finish-to-Finish (FF)
 Lag (+3 units)
- Start-to-Finish (SF)
Time
 Lead (-2 units)
 Dependencies can be mandatory (hard logic)
discretionary (soft logic), or external
Time
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
21
Network Diagrams
10.2 Project Planning – Scheduling
22
Network Example
 Precedence Diagramming Method
START
- Show all activities (depicted by boxes)
- Show the logical flow (depicted by arrows)
- Clearly illustrate dependencies
Serve
food
 Rules
Remove
furniture
- Each activity has at least one predecessor and
successor (start and end as milestones)
- No loops, no dangling arrows
Remove
carpet
-1
+24
Paint
walls (1)
 Other network diagramming methods
- Arrow diagramming method (activity-on-arrow)
- Conditional diagramming methods
Lay
parquet
Refurnish
Paint
walls (2)
Paint
ceiling
Peter Müller – Software Engineering, SS 11
END
Clean
room
Painting
completed
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
23
10.2 Project Planning – Scheduling
Computing a Schedule
Forward Pass
 A schedule consists of the planned dates
for all activities and milestones
 Notation
 Determines overall project duration
 First activity starts on time unit 0
 Calculation of the early start and early finish dates
Early
Start
ES
EF
Early
Finish
Activity
LS
Late
Start
Peter Müller – Software Engineering, SS 11
D
Duration
24
 For Activity A:
ES(A) = MAX P  predecessors(A) ESP(A)
EF(A) = ES(A) + Duration(A)
LF
Late
Finish
Peter Müller – Software Engineering, SS 11
4
10.2 Project Planning – Scheduling
25
Calculating Early Start
ES
EF
Activity
LS
D
L
ES’
EF’
ES
Activity’
LS
D
LF
EF
Activity
LS
D
ES’
EF’
--
D
0
LS’ D’ LF’
LF
4
8
3
3
SF-relation:
ES’ := ES + L – D’
Peter Müller – Software Engineering, SS 11
27
Backward Pass
LS
11
8
0
D
L
4
-1
40
43
Paint
walls (1)
3
12 15
3
39
+24
40
75
8
51
Peter Müller – Software Engineering, SS 11
LS
D
LF
EF
D
EF’
Activity’
LS’ D’ LF’
SS-relation:
LF := LS’ – L + D
EF
Activity
L
ES’
LF
ES’
LS
EF’
D
LF
ES’
EF’
Activity’
LS’ D’ LF’
L
LS’ D’ LF’
FF-relation:
LF := LF’ – L
51
--
END
75
67
0
--
75
SF-relation:
LF := LF’ – L + D
10.2 Project Planning – Scheduling
30
67
8
51
75
67
Lay
parquet
51
51 16 67
51
51
Painting
completed
51
0
51
67
75
Refurnish
67
8
75
28.11.
17.11.
17.11.
-- 0 0
START
-- 0 0
17.11.
Clean
room
39 12 51
11
43
8
Paint
walls (2)
Paint
ceiling
EF
Activity
Network Diagrams with Dates
12
Remove
carpet
15
ES
Activity’
40
4
4
EF’
Activity’
LS’ D’ LF’
LF
Activity
LS
Serve food
3
ES’
ES
29
0
0
28
Peter Müller – Software Engineering, SS 11
0
Remove
furniture
51
Painting
completed
EF
ES
Backward Pass Example
4
8
51
FS-relation:
LF := LS’ – L
10.2 Project Planning – Scheduling
0
16
L
Peter Müller – Software Engineering, SS 11
0
75
Refurnish
Paint
ceiling
Activity
- early  late, start  finish, +  -, primed  unprimed
0
67
12
 The logic is “inverted”
--
Paint
walls (2)
67
Lay
parquet
10.2 Project Planning – Scheduling
ES
 For Activity A:
LF(A) = MIN P  successors(A) LFP(A)
LS(A) = LF(A) - Duration(A)
0
51
Calculating Late Finish
 Determines latest possible dates for each
activity that do not delay the overall project
 Last activity ends at time unit of project duration
 Calculation of the late start and late finish dates
START
8
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
--
+24
--
75
Clean
room
51
39
12
LS’ D’ LF’
FF-relation:
ES’ := EF + L – D’
15
Paint
walls (1)
EF’
LS’ D’ LF’
L
0
67
4
--
END
12
Remove
carpet
Activity’
Activity’
4
Remove
furniture
-1
ES’
75
40
40
0
EF
LS
EF’
0
Serve food
Activity’
Activity
L
LF
ES’
SS-relation:
ES’ := ES + L
ES
0
START
L
ES
--
EF
Activity
FS-relation:
ES’ := EF + L
26
Forward Pass Example
LS’ D’ LF’
LF
10.2 Project Planning – Scheduling
17.11.
17.11.
0 0 4
Remove
furniture
0 4 4
-1
17.11.
18.11.
4 49 12
Remove
carpet
43 8 51
18.11.
3
0 15
Paint
+24
walls (1)
3 12 15
17.11.
21.11.
0 0 40
Serve food
0 40 40
21.11.
39
25.11.
0 51
Paint
walls (2)
39 12 51
18.11.
3
55 11
Paint
ceiling
43 8 51
75
75
27.11.
0 -END
0 --
28.11.
67
0 75
Clean
room
67 8 75
25.11.
27.11.
51
0 67
Lay
parquet
51 16 67
25.11.
27.11.
67
28.11.
0
75
Refurnish
67
8
75
25.11.
51 0 51
Painting
completed
51 0 51
Peter Müller – Software Engineering, SS 11
5
10.2 Project Planning – Scheduling
31
Bar (Gantt) Charts
10.2 Project Planning – Scheduling
32
Milestone Charts
Serve food
Current Date
Rem. Furn.
Rem. Carpet
Milestone 17.11. 18.11. 19.11. 20.11. 21.11. 22.11. 23.11. 24.11. 25.11. 26.11. 27.11. 28.11.
Wall 1
START
Paint
Wall 2
Painitng
completed
Ceiling
Parquet
END
Refurnish
Clean room
17.11.
19.11.
21.11.
23.11.
25.11.
Planned
27.11.
Actual
Time
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
Peter Müller – Software Engineering, SS 11
33
10.2 Project Planning – Scheduling
34
Diagramming Methods
Analyzing a Schedule
 Network diagrams





- Show dependencies and workflow
- Purpose: planning
 Gantt charts
- Show dates and durations
- Purpose: reporting and progress tracking
Identify schedule risks
Determine if deliverables will be made on time
Check resource usage
Find potentials for compressing the schedule
Consistency
 Milestone charts
- Show major events
- Purpose: reporting to management and customer
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
Float
 Definition:
The amount of time that an activity may be delayed
from its early start without delaying the project
finish date
 Float = LF – EF = LS – ES
 Interpretation
- Float > 0: Time is available
- Float = 0: Situation is critical
- Float < 0: Project is behind
 Sometimes called Total Float, Slack, or Total Slack
Peter Müller – Software Engineering, SS 11
35
10.2 Project Planning – Scheduling
--
0
0
0
START
--
0
0
0
0
4
4
Remove
furniture
0
4
-1
0
40
40
4
0
15
Paint
walls (1)
3
12 15
3
+24
43
8
51
39
0
51
Paint
walls (2)
75
67
0
--
75
0
Clean
room
67
8
75
51
0
67
Lay
parquet
51 16 67
67
0
75
Refurnish
67
8
75
39 12 51
40 11
Paint
ceiling
8
--
0
END
39 12
Remove
carpet
3
75
40
Serve food
0
43
Peter Müller – Software Engineering, SS 11
36
Float Example
51
51
0
51
Painting
completed
51
0
51
Peter Müller – Software Engineering, SS 11
6
10.2 Project Planning – Scheduling
37
Critical Path
10.2 Project Planning – Scheduling
38
Critical Path Example
--
 Definition:
The series of activities that determines the duration
of the project (the longest path through the
network)
 Sum of float on critical path is zero (or negative)
 Critical path is important
0
0
0
START
-0
0
0
0
4
Remove
furniture
0
4
-1
4
3
0
3
15
+24
12 15
3
0
40
4
39 12
40
43
8
51
39
0
51
Paint
walls (2)
40 11
43
Peter Müller – Software Engineering, SS 11
8
75
67
67
8
75
51
0
67
Lay
parquet
51
0
51
51
0
39
0
4
0
6
15
15
Paint
walls (1)
-1
3
9
75
67
8
75
51
10.2 Project Planning – Scheduling
40
 Fast tracking to shorten critical path
4
0
51
 Definition:
The amount of time that an activity can be delayed
without delaying the early start of any immediately
following activity
Free Float
15-15=0
 Free Float = ES’ – EF – L
0
67
Painting
completed
Schedule Compression
Remove
furniture
--
Refurnish
51 16 67
Free Float
0
0
75
0
Clean
room
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
3
--
0
END
39 12 51
Paint
ceiling
 There can be several critical paths in a project
75
40
Remove
carpet
Paint
walls (1)
- To shorten project duration
- To focus progress control
- To identify schedule risks
0
Serve food
6
27
Paint
walls (2)
12 21
3
21 12 33
55
0 33
Paint
ceiling
4
3
- Do activities in parallel instead of in sequence
- Problem: increases risk
 Crashing the network
- Add resources to the critical path (e.g., from non-critical
activities)
- Problem: Law of diminishing returns
Free Float
33-27=6
33
0
 Increasing productivity by different technology
 Extended hours and weekends should not be
considered during planning
33
Painting
completed
33
0
33
- You will need them during project execution anyway
30 33
Peter Müller – Software Engineering, SS 11
10.2 Project Planning – Scheduling
Resource Leveling
Peter Müller – Software Engineering, SS 11
41
10.2 Project Planning – Scheduling
 Common results of critical path method
- More resources required than available
- Changes of resource levels are not manageable
 Analysis: Resource histograms
 Heuristic: Resource-based method
42
Consistency
Staff skills
Required
roles for task
Staff
availability
Network
diagram
Task
estimates
- Allocate scarce resources to critical path first
 Resource leveling usually leads to longer project
duration
Peter Müller – Software Engineering, SS 11
Peter Müller – Software Engineering, SS 11
7
43
10. Project Planning
Main Planning Processes
Time
Time
Time
Activity
Definition
Activity
Sequencing
Schedule
Development
Scope
Cost
Activity
Duration Est.
Scope
Definition
Resource
Planning
Cost
Cost
Cost
Estimating
Cost
Budgeting
Risk
Integration
Risk Mgmt.
Planning
Project Plan
Development
Time
Peter Müller – Software Engineering, SS 11
8