Cost Management Week 6-7 Learning Objectives You should be able to: Describe cost management processes and their inputs, outputs, activities, and tools Distinguish between cost estimation and cost control Apply a function point approach to cost estimating a business information system List and define cost drivers used in COCOMO II to estimate software development effort List the requirements of a Cost Control System
Cost Estimation Difficulties Cost overruns occur because original estimates inaccurate Bias toward underestimating Cost = accounting, not IT Lack of experience, knowledge in cost management Requires significant effort for large complex software Frequent changes in technology? Not a common cause of cost difficulties
Cost Management Basics Profits = revenues - expenses focus on impact on profits Profit margin = profits / revenues Life cycle costing total cost of ownership development, plus maintenance and support cost of software defect increases over time
Cash Flow Analysis Estimated annual costs and benefits Internal Rate of Return (IRR) discount rate that sets NPV to 0 Tangible and intangible costs and benefits tangible easier to measure and justify Direct costs - PM has more control Indirect costs - overhead, admin Sunk costs - should NOT be considered Learning curve theory - like economy of scale Reserves: contingency, management
4 Cost Management Processes Resource Planning resources, quantities Cost Estimation software cost estimation Budgeting cost allocation Cost Control controlling changes
(1) Resource Planning determining the resources & quantities needed to perform project activities people, equipment, materials Difficulty of tasks Experience and skills of available workers Inputs: WBS, scope, resource pool, org. policy Tools: expert judgment (internal, external), historical data Outputs: resource requirements staff acquisition, procurement may be needed
(2) Cost Estimation Developing estimates of resource costs how much will it cost the performing organization Differs from pricing Identifying alternatives and trade-offs ROM (rough order of magnitude) Budgetary (more accurate) Definitive (most accurate)
Cost Estimation Inputs WBS Resource needs Resource rates Activity duration estimates Data previous projects commercial databases team expertise and experience Chart of accounts performing organization’s financial reporting
Cost Estimation Outputs Cost estimates quantitative estimates of costs of resources dollars or staff-hours/days may be refined during project execution Supporting detail scope of work estimated basis for estimate and assumptions range of possible results Cost management plan how variances will be managed
Cost Estimating Tools Analogous Bottom-up Parametric top-down use previous, similar project(s) expert judgment Bottom-up costing individual work items takes more time Parametric uses project characteristics (parameters) based on reliable, accurate, quantifiable data Cost estimation software tools
Software Cost Estimation Metrics Lines of Code (LOC) Function Points Core Measures Level of Effort (time) Labor cost: training, contract, travel, overhead Defects: pre- and post-implementation Duration New system vs. enhanced system vs. GUI (graphical user interface)
Common Software Metrics Size: of deliverables (programs) Effort: number of people X number of months Duration: number of months Development cost: labor cost of effort Productivity: size / effort Responsiveness: size / duration Quality: defects / size Business: cost / size
Software Estimating Models Estimate = Size * Complexity * Influencers COCOMO II + modifies initial effort estimate Constructive Cost Model cost drivers / effort multipliers / factors product, platform, personnel, project depends on LOC, more recently added FP’s Software: CoStar, CostXpert, others COCOMO Process Maturity integrated with CMM
Cost Factors (Drivers) General System Characteristics Data communication Distributed Data Processing Performance Heavily Used Configuration Transaction Rate On-line data entry End-user efficiency On-line update Complex Processing Reusability Installation ease Operational ease Multiple sites Facilitate change
Estimation issues How to measure size: LOC (lines of code), function points, classes? Hard to estimate before developing specs Lack of experience Lack of historical data Depends on size, complexity, number of programmers, productivity, team, tools, ... Brooks’ Law: adding more programmers to a late project makes it later
(3) Budgeting Process Allocating overall cost to individual work items Inputs: cost estimates, WBS, schedule Outputs: Cost baseline Software measurement baselines collect, analyze, & calibrate data used to monitor progress systems/application and delivery baselines may be segmented by: technology, platform, application, industry
Software Project Effort / Budget allocation Workflows Management 10% Environment 10% Requirements 10% Design 15% Implementation 25% Assessment 25% Deployment 5%
Software Development Phases: Effort and Schedule Distribution
(4) Cost Control Process Monitoring, analyzing, acting on cost data Influence factors that change cost baseline Ensure changes are beneficial and recorded accurately Detect baseline changes and variance from plan Manage changes Inform stakeholders of authorized changes
Cost Control Inputs Cost baseline Performance reports Change requests Cost management plan
Cost Control Outputs Revised cost estimates Budget updates changes to approved baseline revised in response to scope changes Corrective actions Estimate at Completion (EAC) forecast of total project costs actuals plus variations on remaining budget Lessons Learned causes of variances, why corrective actions, etc.
Cost Control Tools Cost change control system Performance measurement definition of procedures, approvals for change Performance measurement identify variances, magnitude, causes Earned Value Analysis (EVA) Software tracks planned vs. actual costs projects or forecasts effects of changes
Earned Value Analysis (EVA) Integrates scope, time, and cost data Compares actuals to baseline Baseline: original plan plus approved changes Actuals: how much of a WBS item has been completed BCWP - budgeted cost of work performed ACWP - actual cost of work performed BCWS - budgeted cost of work scheduled
Performance Measures CV (cost variance) = BCWP - ACWP (budgeted cost - actual cost) SV (schedule variance) = BCWP - BCWS (cost of work performed -cost of work scheduled) CPI (cost performance index) = BCWP / ACWP SPI (schedule performance index) = BCWP / BCWS used to re-estimate time to completion
Applying EVA to IT projects Estimates keep changing (budgeted) Simplified evaluation of percent complete for tasks can still provide useful tracking information