5_Beginning_a_Project_Project_Management
5_Beginning_a_Project_Project_Management
Project Management
2
The Challenge of Project Management
• Clients wish to know:
– Will the system do what was promised?
– When will it be delivered? If late, how late?
– How does the cost compare with the budget?
• Often the software is part of a larger activity
– If the system is a product, marketing and development
must be combined (e.g., Microsoft Office)
– If the system has to work with other systems,
developments must be coordinated (e.g., embedded
systems in an automobile)
BUT:
• Every software system is different
• Most systems are not well specified, or the
requirements change during development
• Estimating time and effort is full of errors,
even when the system is well understood
4
Aspects of Project Management
Planning
• Outline schedule during feasibility study
• Fuller schedule for each part of a project (e.g.,
each process step, iteration, or sprint)
Contingency planning
• Anticipation of possible problems (risk
management)
Terminology
Activity (or Task)
• Part of a project that takes place over time (also known as a
task)
Event
• The end of a group of activities, e.g., agreement by all
parties on the budget and plan
Dependency
• An activity that cannot begin until some event is reached
Resource
• Staff time, equipment, or other limited resources required
by an activity
8
Standard Approach to Project
Management
• The scope of the project is defined early in the process
• The development is divided into tasks and milestones
• Estimates are made of the time and resources needed for
each task
• The estimates are combined to create a schedule and a
plan
• Progress is continually reviewed against the plan, perhaps
weekly
• The plan is modified by changes to scope, time, resources,
etc.
Typically the plan is managed by a separate project
management team, not by the software developers
10
Estimating the Time for an Activity
Underestimations:
• The time from almost "done" to completely
"done" is much longer than anticipated.
(Code, patches etc.)
• The distractions are not planned for. (Server
crashes, bugs.)
• Some things have to be done twice.
11
Estimating: Analysis
Example
Administrative computing department at
Dartmouth used activity graphs for the program
design and implementation phases of major
projects (plan developed after project was well-
understood).
Experience:
Elapsed time to complete projects was consistently
30% to 40% longer than predicted by model.
12
Estimating: Analysis
Analysis:
• Some tasks not anticipated (incomplete
understanding)
• Some tasks had to be redone (change of
requirements, technical changes)
• Key personnel were on many activities
(schedule conflicts)
• Non-billable hours
13
Team-based Estimating
• The team often has the best understanding of
what it can achieve in a single time-box or
sprint
• The team commits to the outcome of a sprint
• The team must have an internal schedule to
allocate tasks within a sprint
15
16
A Simple Gantt Chart
17
Gantt Charts
Recommended for 4345 projects
19
Activity Graph
A group of scheduling techniques that
emphasizes dependencies
20
Example: Activity Graph for first Part of
a Distance Learning Course
21
22
Critical Path Method
• Uses an activity Graph with single time
estimate for each activity
• A standard method for managing large
construction projects
• On big projects, activity graphs with more
than 10,000 activities are common
The following slides work through the calculations in
using the critical path method for the example of
distance learning course
23
24
Earliest Event Dates and Earliest Start
Dates
• Earliest Start Date: the earliest date that it is possible
to start an activity
• Earliest Event Date: the date that all the activities
ending at the node will be completed, assuming that
every activity begins at its earliest start date
• Earliest project completion Date: the date on which the
project is completed assuming that every activity
begins on its earliest start date
• These calculations all depend on the dependencies
represented by the activity graph and the accuracy of
the estimates of the time to carry out the individual
tasks
25
26
Latest Event Dates and Latest Start
Dates
• Latest Start Date: the latest date that is
possible to start an activity and still complete
the project by the earliest project completion
date
• Latest Event Date: the latest date that all the
activities ending at that node must be
completed in order to complete the project by
the earliest project completion date
27
28
Critical Path
29
Slack
30
Slack and Critical Path
• Slack: the difference between the latest start date and the
earliest start date of an activity
• Slack = (latest event)end - (earliest event)begin - (time estimate)
• Critical path: a path through the graph where every activity
has zero slack
• If an activity on the critical path is not started on its earliest
start date or takes longer than the predicted time to
complete, then the project completion date is delayed.
• The earlier that a problem is known, the easier it is to fix.
• Example: Purchase key item of equipment earlier than
anticipated.
31
32
The Project Manager
• Create and maintain the schedule
• Track progress against schedule
• Keep some slack in the schedule (minimize risk)
• Continually make adjustments:
– Start activities before previous activity complete
– Sub-contract activities
– Renegotiate deliverables
• Keep senior management informed (visibility).
The project manager needs the support of the head of
the development team and the confidence of the team
members.
33