Software Project Management

advertisement
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
Download