Software Project Management
Project Control
Resources:
Earned value analysis
[Link]
Cost Performance Index (CPI) and Cost Varience (CV) explained
[Link]
Schedule Performance Index (SPI) and Schedule Variance (SV) explained
[Link]
Earned value analysis worked example
[Link]
How to interpret an earned value graph
[Link] 1
Project Control
• Ongoing effort to keep your project on track
• 4 primary activities:
– 1. Planning performance
• A SDP, schedule, and a control process
– 2. Measuring status of work performed
• Actuals
– 3. Comparing to baseline
• Variances
– 4. Taking corrective action as needed
• Response
• Prerequisite to good control is a good plan
2
Project Control
• “Control”
• Power, authority, domination. No.
• Guiding a course of action to meet an objective. Yes.
• Principles
• Work is controlled, not workers
– Control helps workers be more effective & efficient
• Control based on work completed
– Use concrete deliverables
• Balance
– Appropriate level between too much and too little
– Includes:
» Micro-managing vs. neglect
» Too much tracking detail vs. too little
3
Progress Monitoring
• The 3 key Progress Monitoring Questions
– What is the actual status?
– If there’s a variance, what is cause?
– What to do about it?
• Possible responses
• 1. Ignore
• 2. Take corrective action
• 3. Review the plan
4
Progress Monitoring
• Monitoring rates
– Daily, weekly, monthly
– If problems occur – then adjust
• You may have to monitor problem areas more closely
• For some period of time
• Almost always there’s one or more areas under closer scrutiny
• Status Reporting
– Part of the communications management plan
– Which is usually just a section of SDP
5
Status Reports
• From team to PM, from PM to stakeholders
• Typical format for latter
– Summary
– Accomplishments for this period (done)
• Tasks, milestones, metrics
– Plans for next period (to-do)
– Risk analysis and review
– Issues & Actions
• Shoot for weekly updates
– Email notes, then hold brief meeting
– More frequently during crises
6
Programming Status Reporting
• A programmer reports that he’s 90% done.
– What does this mean?
• A programmer reports completing 4,000 LOC on
estimated 5,000 LOC effort.
• Is this 80% complete?
• Quality?
• Ratio, estimated to completed?
– Your estimates could have been wrong
• If you can’t measure scope or quality you don’t know “reality”
• You really only know cost (hours spent)
• How can you improve this?
7
Binary Reporting
• Work packages (tasks) can only be in one of 2
states: complete or incomplete
– No partial credit
• Preferred to anything subjective!
• “90% Complete Syndrome”
– Software is 90% complete 90% of the time
• Use lower-level task decomposition
• Tangible exit criteria
• Plan for 4-80 staff hours of effort per task
8
Earned Value Analysis (EVA)
• a.k.a. Earned Value Management (EVM)
• a.k.a. Variance Analysis
• Metric of project tracking
• “What you got for what you paid”
– Physical progress
• Pre-EVA ‘traditional’ approach
• 1. Planned time and costs
• 2. Actual time and costs
• Progress: compare planned vs. actual
• EVA adds third dimension: value
• Planned, actual, earned
9
Earned Value Analysis
• Forecasting
– Old models include cost & expenditure
– EVA adds schedule estimation
• Measured in dollars or hours
– Often time used in software projects
• Performance Measurement Baseline (PMB)
• Time-phased budget plan against which contract performance
is measured
• Cost & schedule variances go against this
• Best via a bottom-up plan
10
Earned Value Analysis
• Different methods are available
– Binary Reporting
– Others include
• Based on % complete
• Weights applied to milestones
• EVA can signal errors as early as 15% into
project
• Alphabet Soup
11
Earned Value Analysis
– 3 major components
• BCWS: Budgeted Cost of Work Scheduled
– Now called “Planned Value” (PV)
– “Yearned”
– How much work should be done?
• BCWP: Budgeted Cost of Work Performed
– Now called “earned value” (EV)
– “Earned”
– How much work is done?
– BCWS * % complete
• ACWP: Actual Cost of Work Performed
– Now called “Actual Cost” (AC)
– “Burned”
– How much did the work done cost?
12
Derived EVA Variances
• SV: Schedule Variance
– BCWP – BCWS
– Planned work vs. work completed
• CV: Cost Variance
– BCWP – ACWP
– Budgeted costs vs. actual costs
• Negatives are termed ‘unfavorable’
• Can be plotted on ‘spending curves’
– Cumulative cost (Y axis) vs. Time (X axis)
– Typically in an ‘S’ shape
• “What is the project status”?
– You can use variances to answer this
13
Earned Value Analysis
14
Derived EVA Ratios
– SPI: Schedule Performance Index
– BCWP / BCWS
– CPI: Cost Performance Index
– BCWP / ACWP
– Problems in project if either of these less than 1
(or 100%)
15
Earned Value Analysis
• Other Derived Values
• BAC: Budget At Completion
– Sum of all budges (BCWS). Your original budget.
• EAC: Estimate At Completion
– Forecast total cost at completion
– EAC = ((BAC – BCWP)/CPI) + ACWP
– Unfinished work divided by CPI added to sunk cost
– If CPI < 1, EAC will be > BAC
• CR: Critical Ratio
– SPI x CPI
– 1: everything on track
– > .9 and < 1.2 ok
– Can be charted
16
EVA Example
As of 1-July where are we?
BCWS
BCWP
ACWP
17
EVA Example
CV
SV
CPI
SPI
CR
18
EVA Example
A $10,000 software project is scheduled for 4 weeks.
At the end of the third week, the project is 50%
complete and the actual costs to date is $9,000
Planned Value (PV) = $7,500
Earned Value (EV) = $5,000
Actual Cost (AC) = $9,000
0 1 9000$ 2 3 4
5000$ | | 10000 $
What is the project health?
Schedule Variance
= EV – PV = $5,000 – $7,500 = - $2,500
Schedule Performance Index (SPI)
= EV/PV = $5,000 / $7,500 = .66
Cost Variance
= EV – AC = $5,000 - $9,000 = - $4,000
Cost Performance Index (CPI)
= EV/AC = $5,000 / $9,000 = .55
Objective metrics indicate the project is behind schedule
and over budget.
On-target projects have an SPI and CPI of 1 or greater
Forecasting Costs
• If the project continues at the current
performance, what is the true cost of the
project?
• Estimate At Complete
= Budget At Complete (BAC) / CPI
= $10,000 / .55 = $18,181
At the end of the project, the total project costs
will be $18,181
Establish Ranges to Guide Traffic
Light Status
• Traffic Light status is useful in conveying
overall project with one color
• Establish objective SPI and CPI ranges to
determine the true project color.
Green [1.0 - .95]
Yellow [.94-.85]
Red [.84, 0]
Earned Value Analysis
• BCWS
– Use ‘loaded labor’ rates if possible
• Direct pay + overhead
• Remember it’s an aggregate figure
– May hide where the problem lies
– Beware of counterbalancing issues
• Over in one area vs. under in another
23
Earned Value Analysis
• Benefits
– Consistent unit of measure for total progress
– Consistent methodology
• Across cost and completed activity
• Apples and apples comparisons
– Ability to forecast cost & schedule
– Can provide warnings early
• Success factors
– A full WBS is required (all scope)
– Beware of GIGO: Garbage-in, garbage-out
24
The MS-Project Process
• Move WBS into a Project outline (in Task Sheet)
• Add resources (team members or roles)
• Add costs for resources
• Assign resources to tasks
• Establish dependencies
• Refine and optimize
• Create baseline
• Track progress (enter actuals, etc.)
25
Earned Value: Example
Today
18
14
On Day X:
• PLANNED VALUE (Budgeted cost of the work scheduled, BCWS) =
18 + 10 + 16 + 6 = 50
• EARNED VALUE (Budgeted cost of the work performed, BCWP) =
18 + 8 + 14 + 0 = 40
• ACTUAL COST (of the work performed , ACWP) =
45 (from your project tracking - not evident in above chart)
26
Variance
• Any schedule or cost deviation from a specific
plan.
• Used within an organization to verify the
budget and schedule for a project
• Frequently used as a key component of plan
reviews and performance measurement
27
Variance
• Must compare scheduling and budget variance at
the same time
– Schedule variance: deviations from work planned –
not a measure of changes in cost
– Cost variance: deviations from the
budget – not a measure of work scheduled vs. work
completed
• Example: applying more $$/people to a task may maintain
the schedule, but it adds to cost… schedule on track… over
budget on expenses (cost)
28
Performance Indices
• Cost Performance Index
– CPI = BCWP/ACWP
• Schedule Performance Index
– SPI = BCWP/BCWS
• Analysis
– CPI > 1.0 exceptional performance
– CPI < 1.0 poor performance
– Similar for SPI
29
Earned Value & Variance:
Example
18
14
On Day X:
• PLANNED VALUE (BCWS) = 18 + 10 + 16 + 6 = 50
• EARNED VALUE (BCWP) = 18 + 8 + 14 + 0 = 40
• ACTUAL COST (ACWP) = 45 (from your project tracking)
Therefore:
• Schedule Variance = BCWP – BCWS = 40 - 50 = -10 (behind schedule)
• Schedule Performance Index = 40 / 50 = 0.8, or 80% of plan (a B-, at best)
• Cost Variance = BCWP - ACWP = 40 - 45 = -5
• Cost Performance Index = 40/45 = .89, or you’re getting an 89¢ return on every $1.00 (or,
person-hour) spent on this project
30
Primary Measurement Methods
• Measurable efforts
– Discrete increments of work with definable
schedule and tangible results (i.e., real tasks
with a deliverable)
• Level of effort
– Work that is not discernable in discrete,
measurable tasks (e.g., project management,
training)
31
Determining % Complete –
When?
• Allocate based on time spent – but what if you spend
more time than allocated?
• Allocate 50% at start of task, 50% at end
– But only for small, discrete tasks
• Allocate 100% at start of task
• Allocate 100% at end of task
– Best solution if you keep tasks very small Our appro
• Allocate value at Critical Milestones
– Good solution when using with contract work
• Others?
32
Another Example Project
• Suppose BCWP is $300K
– How is this determined?
• What conclusions now?
– SV = BCWP – BCWS
– SV = $300k - $400K = -$100K
• Behind schedule, but what does the $100K in
variance really mean?
– CV = BCWP – ACWP = $300K - $325K
• Over budget by $25K
33
Project Overview
• This is a ‘quickie’ overview
• We will return to all of these steps
individually over the next few weeks
• Sample project from McConnell
34
Project UI
• Views
– Default is Gant Chart View
• 2 panes
• Task Sheet on left (a table)
• Gantt Chart on right
– View Bar on far left
35
Project UI
(Un)Link Buttons Toolbars
Outline
Buttons
Indicators
Enter Tasks Timescale
Here
Gantt Chart
View Bar
Task Bars
Task Sheet
Milestone
Split Bar
36
Create Your Project
• File/New
• Setup start date
• Setup calendar
– Menu: Project/Project Information
– Often left with default settings
– Hours, holidays
37
Enter WBS
• Outlining
• Sub-tasks and summary tasks
• Do not enter start/end dates for each
• Just start with Task Name and Duration for each
• Use Indent/Outdent buttons to define summary
tasks and subtasks
• You can enter specific Start/End dates but don’t
most of the time
38
Establish Durations
• Know the abbreviations
– h/d/w/m
– D is default
• Can use partial
– .5d is a half-day task
• Elapsed durations
• Estimated durations
– Put a ‘?’ after duration
39
Add Resources
• Work Resources
– People
• Material Resources
– Things
– Can be used to track costs
• Ex: amount of equipment purshased
– Not used as often in typical software project
40
Resource Sheet
• Can add new resources here
– Or directly in the task entry sheet
• Beware of mis-spellings (Project will create near-duplicates)
• Setup costs
– Such as annual salary (put ‘yr’ after ‘Std. Rate’)
41
Effort-Driven Scheduling
• MS-Project default
• Duration * Units = Work
• Duration = Work / Units (D = W/U)
• Work = Duration * Units (W = D*U)
• Units = Work / Duration (U = W/D)
• Adding more resources to a task shortens duration
• Can be changed on a per-task basis
• In the advanced tab of Task Information dialog box
• Task Type setting
• Beware the Mythical Man-month
• Good for laying bricks, not always so for software
development
42
Link Tasks
• On toolbar: Link & Unlink buttons
– Good for many at once
• Or via Gantt chart
– Drag from one task to another
43
Milestones
• Zero duration tasks
• Insert task ‘normally’ but put 0 in duration
44
Make Assignments
• Approach 1. Using Task Sheet
– Using Resource Names column
– You can create new ones by just typing-in here
• 2. Using Assign Resources dialog box
– Good for multiple resources
– Highlight task, Tools/Resources or toolbar button
• 3. Using Task Information dialog
– Resources tab
• 4. Task Entry view
– View/More Views/Task Entry
– Or Task Entry view on Resource Mgmt. toolbar
45
Save Baseline
• Saves all current information about your project
– Dates, resource assignments, durations, costs
46
Fine Tune
• Then is used later as basis for comparing against
“actuals”
• Menu: Tools/Tracking/Save Baseline
47
Project 2002
• 3 Editions: Standard, Professional, Server
• MS Project Server 2002
• Upgrade of old “Project Central”
• Includes “Project Web Access”, web-based UI (partial)
• Workgroup and resource notification features
• Requires SQL-Server and IIS
• “Portfolio Analyzer”
– Drill-down into projects via pivot tables & charts
• “Portfolio Modeler”
– Create models and “what-if” scenarios
• SharePoint Team Services integration
48
Project 2002
• MS-Project Professional
– “Build Team” feature
• Skills-based resource matching
– Resource Pools: with skill set tracking
– Resource Substitution Wizard
• “Project Guide” feature
– Customizable “process component”
49
MS-Project Q&A
• Your WBS in Project
• How did it go?
• Any questions?
50
Homework
• Schwalbe: 7 “Project Quality Management”
• URLs
– “Introduction to Software Testing”
• [Link]
– “Introduction to Software Testing Principles”
• [Link]
• Project plan:
– Develop and submit an initial copy of the project plan
(limited to tasks & milestones) for your individual
project
51
Questions?
52