Software Project Management
Download
Report
Transcript Software Project Management
Software Project
Management
Review
INFO 638
Glenn Booker
INFO 638
Lecture #10
1
Project Limits
Projects are limited in scope, as
defined by one of these:
INFO 638
A functional specification
A Software Requirements Specification
Use cases and their documentation
A Statement of Work (SOW)
A Mission Needs Statement (MNS)
(government term)
Lecture #10
2
The Triangle
Projects generally get stuck facing a
triangle
Cost
Time (schedule)
Features and/or quality
At most, two of these points can be
controlled
Which one can you tolerate flexibility?
INFO 638
Lecture #10
3
TPM Life Cycle
Wysocki has five major phases in
the TPM life cycle
INFO 638
Scope the project
Develop the project plan
Launch the plan
Monitor/control project progress
Close out the project
Lecture #10
4
Risk Management Guide
Need to create a list of possible risks
Describe each risk briefly
Estimate the probability of the risk
happening
Should be between 0 and 100%
Estimate the loss if the risk occurs
How much effort will it take to recover
from the risk?
INFO 638
Lecture #10
5
Risk Management Guide
Multiply probability times loss to get
the impact of each risk
Impact = probability * loss
Sort risks in descending order of
impact; keep the top 10 (typically)
This is prioritizing the risks
For each significant risk, assign a risk
owner to look for the risk occurring
INFO 638
Lecture #10
6
Procurement Management
Procurement has its own life cycle,
which runs parallel to part or all of
the project life cycle
INFO 638
Solicit RFI (optional; and not in text)
Solicit RFPs
Get responses
Select Vendors
Manage contracts
Close out contracts
Lecture #10
7
Role of the POS
The POS is a communications tool
among the project manager, their
development team, the customer, and
the project manager’s boss (upper or
senior management)
The POS is a concise statement of
the project, and a summary of its
justification to continue
INFO 638
Lecture #10
8
Parts of a POS
The POS has five major sections
Problem/opportunity
Goal
Objectives
Success criteria
Assumptions, risks, obstacles
Each is typically a few paragraphs
long
INFO 638
Lecture #10
9
Work Breakdown Structure (WBS)
The WBS gives structure to the set of
activities in a project
It expands on the POS by describing
activities in more and more detail,
until you get down to the smallest
level of task you need to define for
your project
The WBS is a really big ‘to-do’ list
INFO 638
Lecture #10
10
WBS Approaches
There are three major approaches
to structuring a WBS
Noun-type approaches (subsystems)
Verb-type approaches (life cycle phases)
Organizational approaches (who or
where performs work)
INFO 638
Lecture #10
11
WBS Numbering
Tasks and activities are often given
unique identification numbers to help
do cost accounting and generate
status summaries
In Microsoft Project, you can add a
column called WBS which will
automatically follow this numbering
INFO 638
Lecture #10
12
After the WBS
Once the rough scope of tasks has
been defined in the WBS, we need
to estimate each task in terms of
duration and effort
From effort we’ll get the cost of each
task, and eventually the project
After estimation, can start to organize
the project schedule
INFO 638
Lecture #10
13
Creating a Good Estimate
There are six techniques for
estimating the duration and
effort of a task
INFO 638
Similar activities
Historical data
Expert advice
Delphi technique
Three-point technique
Wide-band Delphi technique
Lecture #10
14
Estimating Resources
While ‘resources’ often refers to
people on a project, it may refer to
INFO 638
People
Facilities
Equipment
Money
Materials
Lecture #10
15
Organization Chart
Since we need to define the types of
staff needed to perform each task,
this feeds into developing the
organization chart of the project
The roles needed for performing tasks
should all appear on the org chart
It’s called a Resource Breakdown
Structure in the text (p. 108)
INFO 638
Lecture #10
16
Project Network Diagram
Can present the project schedule in
three major forms
Gantt chart, showing bars for each task
under a timeline
Pert chart, with activity on arrow (AOA)
notation
CPM chart, with activity on node (AON)
notation
The latter two can show critical path
INFO 638
Lecture #10
17
Critical Path
A key output is the critical path,
which can be defined as
The longest duration path in the network
diagram, or
The series of tasks whose early and late
schedules are the same dates, or
The set of activities with zero slack
INFO 638
Lecture #10
18
Management Reserve
At the project level, try to keep a
little reserve of time (padding) to
allow for likely schedule slips
Don’t do this on individual tasks – tends
to bloat the schedule
5-10% is a good schedule reserve
So a 6-month project might try to finish
6-13 work days early
6 months = 26 weeks = 130 work days
INFO 638
Lecture #10
19
Leveling Resources
Then need to add up the planned
resources and look for potential
problems
Over committing people
Resources inconsistent with project
priorities
Lack of management to monitor the
project resources
Lack of accounting for employee
turnover
INFO 638
Lecture #10
20
Work Packages
Earlier we defined a project as having
activities, which are broken into tasks
A way to describe and manage the
tasks within an activity are work
packages
The work package describes the tasks
to be accomplished, relevant dates,
and who will do the work
INFO 638
Lecture #10
21
Critical chain vs. critical path
The critical path is the longest
duration through the project
Doesn’t consider the resources needed
for tasks along the critical path
Critical chain is the longest path
through the project, considering both
task dependencies and resource
constraints
INFO 638
Lecture #10
22
Joint Project Planning
Joint Project Planning (JPP) uses a
goldfish-bowl approach to conducting
early analysis of a project
Its scope is typically to define the
POS and/or PDS
For software, this might include
defining the system scope and key
requirements, and/or developing
high level system design
INFO 638
Lecture #10
23
JPP
All significant stakeholders in a
project need to attend JPP
JPP sessions are typically held off-site
to avoid distractions
JPP follows a specific agenda to reach
specific goals for the session, e.g.
develop a POS, describe the WBS,
etc.
INFO 638
Lecture #10
24
Monitoring Progress
By now you have been able to create
a detailed project plan, including task
definitions, estimates of duration, &
assignment and leveling of resources
Then the project actually starts
Now you need to monitor what really
happens, and control the future of
the project
INFO 638
Lecture #10
25
Control and Risk
Controlling a project is closely linked
to risk management
You want to minimize the risk that
the project won’t finish successfully
Successfully generally means “on time
and within budget”
To do so, you need measurements to
help decide if the project is on track
INFO 638
Lecture #10
26
Controls
Without good controls, a project will
wander like a 6-year-old on summer
vacation
Controls allow us to
Track progress – what has been
accomplished?
Detect variance – have we departed from
the plan?
Take corrective action – fix it!
INFO 638
Lecture #10
27
Progress Reporting System
Some form of progress reporting
system needs to be established
Want timely, complete, clear, and
accurate status reported
Avoid adding too much to overhead to
create the status reports
Results are readily available
Warns of problems with time to fix them
INFO 638
Lecture #10
28
Variances
Variances are the difference between
actual events and the project plan
Positive variances are often good
They mean you are ahead of schedule or
under budget
But could mean the schedule has
slipped, and little has been accomplished
INFO 638
Lecture #10
29
Displaying Status
There are three major ways to display
the status of a project graphically
Gantt chart
Milestone trend chart
Cost schedule control chart
INFO 638
Lecture #10
30
Cost Schedule Control
Cost schedule control refers to the
system used by the many agencies
called earned value or C/SCSC
We have already defined a project
plan with tasks and resources
Each task therefore has some defined
dollar value (its resources times their
hourly rate)
INFO 638
Lecture #10
31
Cost Schedule Control
To use Cost Schedule Control, we
need to define when we get ‘credit’
for accomplishing each task
Only when the task is done
Half at the task start, and half at finish
Etc.
The total planned value of work done
on the project typically forms a long S
curve over time
INFO 638
Lecture #10
32
Change Control
A change control process is needed to
manage changes to the scope of a
project
Describes the activities needed to
analyze a problem, estimate how much
work it is to resolve, determine its
priority, fix it, and incorporate it into a
system change with other problem fixes
The names of the organizations which
perform each of the steps may vary
INFO 638
Lecture #10
33
Escalation
Escalation here means how a problem
can be resolved
Little problems might be resolved by the
project manager
Bigger problems might be resolved by
getting additional resources from your
organization
Huge problems might need cooperation
from your customer to resolve
INFO 638
Lecture #10
34
Motivation
Key for a good manager to recognize
is that different things motivate
different people
And what motivates one person might
change over time
One person might be thrilled to get an
award for their contribution to a project,
another might prefer a check, and a third
might want an extra two days vacation
INFO 638
Lecture #10
35
Motivation
The big motivational factors for most
people are:
Opportunity for achievement
Opportunity for advancement
Might include technical supervision
Recognition
Increased responsibility
The work itself
INFO 638
Lecture #10
36
Management and Motivation
Many of the motivational factors can’t
be controlled by a first line manager
Key for managers to focus on are
Provide challenging work
Recognize your people’s work
Design their job to provide a variety of
skills needed, clearly identifiable and
significant tasks, allow autonomy, and
provide feedback
INFO 638
Lecture #10
37
Contract Issues
Many management issues involve
contractual concerns
A good resource with more detail is
On Time Within Budget, E.M. Bennatan, 3rd
ed., ISBN 0-471-37644-2, Wiley, 2000.
The key contractual vehicles are
RFI, RFP, and RFQ
For zillions of examples, go to
www.firstgov.gov and search
on those acronyms
INFO 638
Lecture #10
38
Contract Terms
The terms of payment are clearly
defined in any contract
Often payments are based on meeting
specific milestones in the project
Rules for handling contract early
termination, and normal closeout of
the contract are also defined
INFO 638
Lecture #10
39
Team Rules
Any team needs some rules to
function effectively
How will decisions be made?
How do you solve problems?
How do you resolve conflicts?
How & when does the team meet?
How does the team interact
with other projects? The customer?
Who defines the answers to these?
INFO 638
Lecture #10
40
Closeout
Normal closeout of a project typically
involves six steps
INFO 638
Get client acceptance
Ensure system installed
Ensure documentation delivered
Get client signoff
Post-implementation Audit
Party!
Lecture #10
41
Adaptive Project Framework
Adaptive Project Framework (APF)
uses selected portions of traditional
project management (TPM)
Focus is on planning just-in-time, rather
than planning the entire project from the
start
APF is client-focused, and expects
constant change
INFO 638
Lecture #10
42
APF Structure
APF uses five phases
Version Scope
Cycle Plan
Cycle Build
Client Checkpoint
Post-Version Review
Planning is based on functionality,
and is kept high level until each cycle
INFO 638
Lecture #10
43
APF Core Values
APF is based on six core values,
which help define how APF thinks
INFO 638
Client-focused
Client-driven
Incremental results
Continuous questioning
Change is progress
Don’t speculate
Lecture #10
44
Version Scope
This phase sets the stage for the
project
Prepare the POS, much like done
in TPM
Define the vision of what the product will
be
Define the overall budget and schedule
(timebox) of the project
Define the WBS to the 2nd or 3rd level
INFO 638
Lecture #10
45
Number of Cycles
Once we have a handle on the project
objectives and scope, need to
establish the preliminary number of
time boxes, and how long they are
Try fixed duration for all time boxes; may
tweak later
Might use development time of the most
complex cycle to set the time box size
Consider client attention span too
INFO 638
Lecture #10
46
Cycle Objectives
Finally, prepare objective statements
for the first few cycles
Tell customer what they should
expect from each cycle (deliverables)
Keep focus on business functions and
value to the customer
INFO 638
Lecture #10
47
Cycle Planning
Cycle planning is performed like in
traditional project management
(TPM), but there are key differences
In APF, the planning is done in detail only
for the next cycle – not the entire project
at once
APF planning may or may not use project
software; it could be done with more
informal tools
INFO 638
Lecture #10
48
Cycle Build
It is assumed that Cycle Plan is done
by one person or part of the team
Cycle Build requires the whole team’s
presence to refine the schedule if
needed
Identify specific resources for each
task, and ensure conflicts are
resolved and workload is balanced
INFO 638
Lecture #10
49
Build Cycle Functionality
Start building the functionality
promised for this cycle, following the
plan just developed
During the cycle, daily stand-up
meetings are used for status
Stand up so it doesn’t drag on forever
Monitor the system scope & their
priorities, and issues identified
INFO 638
Lecture #10
50
Build Cycle
Use a Scope Bank to keep track of
requirements, and an Issues Log to
record and track significant problems
INFO 638
Lecture #10
51
Client Checkpoint
The Client Checkpoint focuses on
two major activities
Review of the quality of work done
in the existing cycle
Need planned and actual functionality
added to the system in this cycle
Adjust schedule for the next cycle
accordingly
Need the Scope Bank
INFO 638
Lecture #10
52
Go back to Cycle Plan phase
After the client checkpoint, loop
back to the cycle plan phase, until
this version of the product has
been completed
Notice that we didn’t do detailed
planning during the client checkpoint
for this reason – it’s followed by the
planning phase
Stop loop when done with Version
INFO 638
Lecture #10
53
Post-Version Review
There are three activities in the
Post-Version Review
Determine if the project has met
its business objectives
Review lessons learned
Look for APF process improvements
INFO 638
Lecture #10
54
APF Variations
APF can be used for quick proof-ofconcept projects
Sometimes an APF project will reveal
major scope problems; have to adjust
severely, or kill the project
INFO 638
Lecture #10
55
Extreme Project Management
Extreme Project Management (xPM)
is similar to APF, but is better suited
to projects with poorly defined goals
You don’t know what the objective is
It isn’t the same as Extreme
Programming (XP), which is part of
the Agile family of development
methods
INFO 638
Lecture #10
56
Extreme Projects
Extreme projects are generally fast,
innovative, and ill defined
High speed – must be developed quickly
High change – must respond to fast
changes in the project requirements
High uncertainty – must be able to
handle rapid and unexpected changes
in project direction and focus
INFO 638
Lecture #10
57
xPM vs. APF
xPM and APF have a lot in common
The main differences are
xPM has unknown project goals
xPM has more variability in project
scope, budget, and time
xPM has more variability in cycle
duration and number of cycles
INFO 638
Lecture #10
58