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