software project management lecture 9
DESCRIPTION
TRANSCRIPT
1
Software Project Management
Session 9: Project Control
2
Today
• Session 8 Review• Project Control• Status Reporting• Earned Value Analysis• MS Project
3
Session 8 Review
• Project roles and team structure• CMM• Requirements
4
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
5
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
6
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
7
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
8
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
9
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?
10
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
11
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
12
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
13
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
14
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?
15
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
16
Earned Value Analysis
17
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%)
18
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
19
EVA Example
As of 1-July where are we?
BCWS
BCWP
ACWP
20
EVA Example
CV
SV
CPI
SPI
CR
21
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
22
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
23
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.)
24
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
25
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
26
Project UI
Indicators
Task Sheet
View Bar
Enter TasksHere
Gantt Chart
Timescale
Task Bars
Milestone
Split Bar
OutlineButtons
(Un)Link Buttons Toolbars
27
Create Your Project
• File/New• Setup start date• Setup calendar
– Menu: Project/Project Information
– Often left with default settings
– Hours, holidays
28
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
29
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
30
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
31
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’)
32
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
33
Link Tasks
• On toolbar: Link & Unlink buttons– Good for many at once
• Or via Gantt chart– Drag from one task to another
34
Milestones
• Zero duration tasks• Insert task ‘normally’ but put 0 in duration
35
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
36
Save Baseline
• Saves all current information about your project– Dates, resource assignments, durations, costs
37
Fine Tune
• Then is used later as basis for comparing against “actuals”
• Menu: Tools/Tracking/Save Baseline
38
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
39
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”
40
MS-Project Q&A
• Your WBS in Project
• How did it go?
• Any questions?
41
Homework
• Schwalbe: 7 “Project Quality Management”• URLs
– “Introduction to Software Testing”• http://www.iplbath.com/pdf/p0820.pdf
– “Introduction to Software Testing Principles”• http://www.qestest.com/principl.htm
• Project plan: – Develop and submit an initial copy of the project plan
(limited to tasks & milestones) for your individual project
42
Questions?