1.1k likes | 1.12k Views
Learn methodologies, software modeling, risk analysis, and documentation for effective cost estimation in projects. Understand Life Cycle Costs and data collection techniques. Overcome challenges and ensure accuracy in estimates.
E N D
Training on Cost Estimation & Analysis Karen Richey Jennifer Echard Madhav Panwar
Outline • Introduction to Cost Estimating • Life Cycle Costs • Data Collection • Data Analysis • Cost Estimating Methodologies • Software Cost Modeling • Cross-checks and Validation • Risk and Sensitivity Analysis • Documentation Requirements • Cost Estimating Challenges • Cost Estimating Auditor Checklists
Introduction to Cost Estimating • The National Estimating Society has defined Cost Estimating1as: • The art of approximating the probable cost of something based on information available at the time. • Cost estimating cannot: • Be applied with cookbook precision, but must be tailored to a particular system, • Substitute for sound judgment, management, or control, • Produce results that are better than input data, or • Make the final decisions. • Despite these limitations, cost estimating is a powerful tool because it: • Leads to a better understanding of the problem, • Improves management insight into resource allocation problems,and • Provides an objective baseline to measure progress. 1The NES Dictionary, National Estimating Society, July 1982
Introduction to Cost Estimating • The reliability of cost estimates varies over time. • The closer you get to the actual completion of a project, the estimate becomes more accurate. • Four types of cost estimates represent various levels of reliability . • Conceptual Estimate: Rough order of magnitude or back of the envelope. • Often inaccurate because there are too many unknowns. • Preliminary Estimate: Used to develop initial budget, more precise. • Detailed Estimate: Serves as a basis for daily project control. • Definitive Estimate: Accuracy should be within 10% of final cost. • Important to repeat estimating process (i.e., re-estimate) on a regular basis as more information becomes available • This will keep estimate current as well as increase the accuracy
Introduction to Cost Estimating (cont’d) • All cost estimates are constructed by the following tasks: • Identifying the purpose and scope of the new system. • New software development, software reuse, COTS integration, etc. • Choosing an estimate type. • Conceptual, preliminary, detailed, or definitive type estimate • Identifying system performance and/or technical goals. • Laying out a program schedule. • Selecting a cost element structure (CES). • Collecting, evaluating, and verifying data. • Choosing, applying, cross-checking estimating methods to develop the cost estimate. • Performing risk and sensitivity analysis • Time-phasing the cost estimate by fiscal year for cash flow purposes. • Example: 4 years to develop and 10 years operations and support beginning in FY2003 • Providing full documentation.
Life Cycle Costs • Most cost estimates in the federal government represent total Life Cycle Costs (LCC). • LCC estimates include all costs to develop, produce, operate, support, and dispose of a new system. • Important to look beyond the immediate cost of developing and producing a system and consider all costs of a system’s life cycle. • What may appear to be an expensive alternative among competing systems may be the least expensive to operate and support • Life Cycle Cost Estimates can be used to: • Compare various alternatives before committing funds to a project, • Support “Estimate-to-Budget” transition after time-phasing to account for when funds will be spent.
Life Cycle Costs (cont’d) • A LCC estimate is summarized using a detailed cost element structure (CES) that • Identifies the activities required to complete project development and the effort, loading, and duration of each task, • Provides a framework against which the cost estimate is organized. • Enhances cost data collection and estimate reporting. • Facilitates comparing estimates when a standard CES is used.
Life Cycle CostsCost Element Structure (CES) • A CES provides a standard vocabulary for the identification and classification of cost elements to be used in cost estimating. • Helps to identify costs that may be initially overlooked. • Should be tailored for each project. • The CES should be reviewed to ensure that there is no ‘double counting’ of costs that could be allocated to more than one element. • For example, logistics support costs could be included in the investment or operations and support phase. • The CES is hierarchical in nature to accommodate early development (when relatively little data is available) through deployment, when more detailed data is available.
Life Cycle CostsExample of CES Elements (DOD) 1.0 Investment Phase 2.0 System Operations & Support Phase 1.1 Program Management 2.1 System Management 1.2 Concept Exploration 2.2 Annual Operations (supplies/spares) 1.3 System Development 2.3 Hardware Maintenance 1.3.1 System Design & Specification 2.4 Software Maintenance 1.3.2 Development Prototype and Test Site Investment 2.5 Outsource Provider Support 1.3.3 Software Development 2.6 Data Maintenance 1.3.4Training 2.7 Site Operations (personnel, training,etc.) 1.3.6 Facilities 1.4 System Procurement 1.4.1 Deployment Hardware 1.4.2 Deployment Software 1.4.3 Initial Documentation 1.4.4Logistics Support Equipment 1.4.5 Initial Spares 1.4.6 Warranties 1.5 Outsource Provider Investment 1.6 System Initiation, Implementation & Fielding 1.7 Upgrade (Pre-Planned Product Improvement (P3I)) 1.8 Disposal Costs
Data Collection Data Required • All CES elements will need data to support the estimate • Historical cost and non-cost data need to be collected to support various estimating techniques • Technical non-cost data describes the physical, performance, and engineering characteristics of a system • Examples: weight, # of design drawings, SLOC, function points, # of integrated circuit boards, square footage, etc. • Important to pick data that is a predictor of future cost • Important to have technical and schedule data because they act as cost drivers
Data CollectionData Required(cont’d) • Identify both direct and indirect costs • Direct costs are called “touch labor” and include direct manufacturing, engineering, quality assurance, material, etc. costs which have a direct bearing on the production of a good. • Also included are direct non-wage costs such as training, supplies, and travel. • Indirect costs are considered “overhead” and include such things as general & administrative support, rent, utilities, insurance, network charges, and fringe benefits. These expenses are typically charged to a company as a whole. • Example: sick/annual leave, retirement pay, health insurance, etc.
Data CollectionData Required (cont’d) • Some direct costs may be burdened with indirect costs and some may not • Need to know to avoid double-counting or, worse yet, underestimating • Important to ask when collecting data whether costs are burdened with indirect costs
Data CollectionData Required (cont’d) • Data can be collected in a variety of ways • Contractor site visits • Data requests for all relevant CES elements • Documented cost estimates, if available for earlier versions of the current system • Can save valuable research time for statistical analysis • Published cost studies • Data collection is a critical and time consuming step in the cost estimating process!
Data CollectionTypical data sources • Two types of data sources: • Primary & Secondary • Primary data is found at the original source (e.g., contractor reports, actual program data, etc.) • Preferred source of data • Secondary data is derived from primary data of another similar system such as documented cost estimates, cost studies/research, proposal data, etc. • Second choice to primary data due to data gaps • May be best alternative when time constraints or data availability limit primary data collection
Data CollectionTypical data sources • Current Program Milestone schedule (for phasing program costs over time) • Current Program System Description • Important to have a technical understanding of how the system will work • Approved program funding (Compare to proposal estimate) • Contractor actual cost reports (from internal Management Information System) • Current program estimate documentation (if available) • Contractor proposals (Compare to program funding profile) • Commercial Off-the-Shelf (COTS) catalogs • Manufacturer websites (e.g., Dell, Microsoft, etc.)
Data CollectionTypical Data Sources (cont’d) • Forward Pricing Rate Agreements (FPRA) • Similar program historical actual costs and estimate documentation • Engineering drawings/specifications, • Interviews with technical and program management personnel • Surveys • Professional journals and publications • Industry guides and standards • Technical Manuals
Data AnalysisData Validity/Integrity • Important to ensure that the cost data collected is applicable to the estimate. • Identifying limitations in the historical data is imperative for capturing uncertainty • When using historical cost data for a similar system, appropriate adjustments need to be made to account for differences in the new system being estimated. • Data may need to be “mapped” from the contractor’s accounting system to the Cost Element Structure (CES)
Data AnalysisData Validity/Integrity (cont’d) • Proposal data should be validated to ensure that contractor motivations to “buy-in” or low-bid their estimates are not occurring. • Compare previous contractor proposal bids and actual costs for similar programs. • Look for trends in underbidding. • Participate in a fact-finding trip to discuss contractor proposal estimates and gather supporting data/evidence.
Data AnalysisNormalization • Involves making adjustments to the data so that it can account for differences in • Inflation rates, • Direct/indirect costs, • Recurring and non-recurring costs, • Production rate changes or breaks in production, • Anomalies such as strikes, major test failures, or natural disasters causing data to fluctuate, and • Learning curve (cost improvement) effects due to efficiencies gained from continually repeating a process • Analysis of the data may indicate the need for more suitable data to add credibility to the estimate.
Data AnalysisNormalization (cont’d) • Accounting for Economic Changes (e.g., inflation) • Lack of cost data uniformity due to upward movement in prices and services over time. • Index numbers are used to deflate or inflate prices to facilitate comparison analysis. • Wrong to compare costs from 1980’s to today without accounting for inflation over the past 20 years. • Cost estimators use inflation indices to convert costs to a constant year dollar basis to eliminate distortion that would otherwise be caused by price-level changes. • Constant dollar estimates represent the cost of the resources required to meet each year’s workload using resource prices from one reference year (e.g., constant 2003 dollars). • Constant dollars reflect the reference year prices for all time periods allowing analysts to determine the true cost of changes for an item
Data AnalysisNormalization (cont’d) • For the United States, the Office of Management and Budget (OMB) is responsible for developing inflation guidance by appropriation for government estimates. • Most common indices used by United States Cost Estimators are published by the U.S. Department of Labor, Bureau of Labor Statistics. • Producers Price Index (http://www.bls.gov/ppi/) for goods • Employment and Earnings Index (http://www.bls.gov/ces/home.htm#data) for services • Important to pick the appropriate “market basket” of goods index that most closely matches the costs to be estimated.
Data AnalysisNormalization (cont’d) • For budgetary purposes, however, data expressed in constant dollars should be inflated to represent current year (or “Then-year”) dollars. • Current year estimates calculate the cost of the resources using the estimated prices for the year in which the resources will be purchased. • Current year estimates reflect inflation • Necessary to express estimates in current year dollars when requesting funding to avoid budget shortfalls.
Data AnalysisNormalization (cont’d) • Example: Assume 5% escalation rate compounded annually • Base-year cost Then-year cost • Current year $273,100 * 1.0000 multiplier = $ 273,100 • Current year + 1 $1,911,700 * 1.0500 multiplier = $ 2,007,285 • Current year + 2 $4,096,500 * 1.1025 multiplier = $ 4,516,391 • Current year + 3 $8,193,000 * 1.1576 multiplier = $ 9,484,217 • Current year + 4 $6,144,750 * 1.2155 multiplier = $ 7,468,944 • Current year + 5 $1,092,400 * 1.2763 multiplier = $ 1,394,230 • Total Estimated Labor cost (budget quality) $25,144,167
Cost Estimating Methodologies • Once data has been collected and normalized to constant dollars, there are five methodologies available for estimating costs: • Expert Opinion, • Analogy, • Parametric, • Engineering, and • Actual.
Estimating Methodology Considerations • Choice of methodology is dependent upon • Type of system • Software, hardware, etc • Phase of program • Development, Production, Support • Available data • Historical data points from earlier system versions or similar system • Technical parameters of system
Methodology Expert Opinion • Often called Delphi method, proposed by Dr. Barry Boehm in his book, Software Engineering Economics. • Useful in assessing differences between past projects and new ones for which no historical precedent exists.
Methodology Expert Opinion (cont’d) • Pros: • Little or no historical data needed. • Suitable for new or unique projects. • Cons: • Very subjective. • Experts may introduce bias. • Larger number of experts will help to reduce bias • Qualification of experts may be questioned.
MethodologiesExpert Opinion - Steps • Gather a group of experts together, • Describe overall program in enough detail so experts can provide an estimate, • Each member of the expert group then does an independent of the resources needed, • Estimates are gathered anonymously and compared, • If there exists significant divergence among the estimates, the estimates will be returned to the expert group, • The expert group then discusses the estimates and the divergence and works to resolve differences, and • The expert group once again submits anonymous, independent estimates which continues until a stable estimate results.
Methodology Expert Opinion - Example • Three software engineers are renown in the ERP software development. • You hold interviews which each explaining the requirements, sizing level, and development process for your new system. • Each member of the group submits their opinion of the final cost and the estimate converges to $50M.
MethodologiesAnalogy • Estimates costs by comparing proposed programs with similar, previously completed programs for which historical data is available. • Actual costs of similar existing system are adjusted for complexity, technical, or physical differences to derive new cost estimates • Analogies are used early in a program cycle when there is insufficient actual cost data to use as a detailed approach • Compares similarities and differences • Focus is on main cost drivers.
MethodologiesAnalogy (cont’d) • Often use single historical data point. • May have several analogy estimates of sub elements to make up the total cost. • Comparison process is key to success. • May have to add or delete functionality from historical costs to match new program • Consult technical experts for advice on complexity factors, technical, performance or physical differences. • (not to be confused with expert opinion method) • Impact of differences on cost is subjective.
MethodologiesAnalogy (cont’d) • Good choice for: • A new system that is derived from an existing subsystem. • Make sure actual cost data is available • A system where technology/programmatic assumptions have advanced beyond any existing cost estimating relationships (CER). • Secondary methodology/cross check • Provides link between technical assumptions and cost.
MethodologiesAnalogy (cont’d) • Pros: • Inexpensive • Easily changed • Based on actual experience (of the analogous system) • Cons: • Very Subjective • Large amount of uncertainty • Truly similar projects must exist and can be hard to find • Must have detailed technical knowledge of program and analogous system
MethodologiesAnalogy - Steps • Determine estimate needs/ground rules, • Define new system, • Breakout new system into subcomponents for analogy estimating, • Assess data availability of historical similar systems, • Collect historical system component technical and cost data, • Process/normalize data into constant year dollars (e.g., constant FY2003$), • Develop factors based on prior system, • Example: Program Management is 10% of total development cost • Develop new system component costs. • Obtain complexity (and other translation) factors • Example: Historical database is for 4 million records and new database will need to house 24 million records => complexity factor of 6 (4*6 = 24) times the historical database cost • Apply factors to historical costs to obtain new system costs
MethodologiesAnalogy - Example Your company is developing a new IT payroll system serving 5,000 people and containing 100,000 lines of C++ code. Another company developed a similar 100,000 lines of code system for $20M for only 2,000 people. Your software engineers tell you that the new system is 25% more complicated than the other system. Other system development cost was $20M. Estimated cost for new system = 1.25 * $20M = $25M Plus 5,000/2,000, or 2.5 * $25M = $62.5M total cost
MethodologiesParametric • Utilizes statistical techniques called Cost Estimating Relationships (CER). • Relates a dependent variable (cost) to one or more independent variables • Based on specific factors that have a high correlation to total cost • Number of software lines of code (SLOC) or function points, • Square feet for office floor space, • Number of floors in a high rise building for cabling estimates, • Database size, etc. • Can be used prior to development. • Typically employed at a higher CES level as details are not known. • Most cases will require in-house development of CER.
MethodologiesParametric (cont’d) • Pros: • Can be excellent predictors when implemented correctly • Once created, CERs are fast and simple to use • Easily changed • Useful early on in a program • Objective • Cons: • Often lack of data on software intensive systems for statistically significant CER • Does not provide access to subtle changes • Top level; lower level may be not visible • Need to be properly validated and relevant to system
Methodologies Parametric Example You have a previously developed CER to estimate a new IT system based on SLOC. Cost = SLOC * 25 $/SLOC The CER is based on systems ranging from 1,000,000 to 3,000,000 SLOC. You have estimated 2,600,000 SLOC for new system Cost = 2,600,000 * $25 = $65M
MethodologiesParametric (cont’d) • Cost estimators can develop their own CERs or they can use existing commercial cost models. • Various Software cost estimating models will be discussed next • Learning curves – specialized type of CER. • CERs can be cost to cost or cost to non-cost. • Cost to Cost: e.g., Manufacturing costs are 1.5 times Quality Assurance costs • Cost to Non-Cost: $/pound, or engineering hours/# of engineering drawings yields hours/drawing metric that can be applied to new program • Factors and ratios are also examples of parametric estimating.
Methodologies Parametric CERs • CERs are defined as a technique used to estimate a particular cost by using an established relationship with an independent variable. • Can be as simple as a one variable ratio to a multi-variable equation. • CERs use quantitative techniques to develop a mathematical relationship between an independent variable and a specific cost.
Methodologies Parametric CERs (cont’d) • Reliable, normalized data is most important for CER development. • Must determine range of data for which the CER is valid. • Useful at any stage in a program. • Typically CERs are the main cost estimating methodology in early stages of a program. • In later stages of a program, CERs serve as a cross check to other methods • Must be logically sound as well as statistically sound. • High correlation (r2 = 0.75 or higher) for goodness of fit test • Different statistical techniques may be used to judge the quality of the CER. • Least squares best fit (regression analysis, or the ability to predict one variable on the basis of the knowledge of another variable) • Multiple regression (a change in the dependent variable can be explained by more than one independent variable) • Curvilinear regression (relationship between dependent and independent variable is not liner, but based on a curve) • Learning curve (describe how costs decrease as the quantity of an item increases)
Methodologies Parametric CERs (cont’d) • Statistics may be used to evaluate how well the CER will produce a reliable estimate. • Coefficient of determination, R2: • Percent of the variation in the Y-data explained by the X-data, (ie. How close the points are to the line) • Standard Error, SE: • Average estimating error when using the equation as the estimating rule • Coefficient of Variation, CV: • SE divided by mean of the Y-data, relative measure of estimating error • t-stat • Tests whether the individual X-variable(s) is/are valid • F-stat • Tests whether the entire equation, as a whole, is valid • No single statistic may validate or invalidate a CER, quality of the input data is just as important. • Best to use a statistical software package like SAS or SPSS to quickly evaluate alternative CERs.
MethodologiesParametric CERs - Steps • Define the dependent variable (e.g., cost dollars, hours, etc.) and what the CER will estimate, • Select independent variables to be tested for developing estimates of the dependent variable, • Variables should be quantitatively measurable and available • If there is a choice between developing a CER based on performance or physical characteristics, performance characteristics are generally the better choice because they are known early on • Collect data concerning the relationship between the dependent and independent variables, • Most difficult and time consuming step, but essential that all data is checked to ensure that all observations are relevant, comparable, and free of unusual costs • Explore the relationship between the dependent and independent variables, • Use statistical analysis to judge strength of relationship and validity of equation • Select the relationship that best predicts the dependent variable, and • A high correlation often indicates that the independent variable will be a good predictive tool • Document your findings. • Identify independent variables tested, data gathered along with sources, time period (normalization for inflation effects), and any adjustments made to the data
Methodologies Parametric Learning Curves • Basic premise: • Repetitive tasks should result in productivity for subsequent, similar tasks • This improvement is usually quantified at a rate Y = AXb • In simplest terms, the cost of manufacturing or installing a unit should decrease as the number of units involved increases. • As the number of units produced doubles, the cost per unit decreases by a fixed percentage • The concept of learning curves is not new, originated in the mid-1930’s with T.P. Wright in the Journal of Aeronautical Sciences.
MethodologiesParametric Learning Curve - Example Say that the first 100 tasks of an installation took 10 hours per task and the next 100 averaged 8 hours per task. Thus, the learning curve would be calculated as follows: Learning curve = 8 hours per task/10 hours per task = 0.8 Implies an 80% learning curve meaning an improvement of 20% occurred between the first 100 tasks and next 200 tasks
Methodologies Rate Impact • Basic premise: The number of units produced in a single lot effects the overall cost of producing that lot. • Costco theory that buying in bulk makes the unit cost less • Mathematical equation showing rate impact along with learning curve • Y = AXbQr • Both rate and learning curves can be impacted by the following: • Operator turnover rate (new employees do not meet expected productivity standards immediately) • Production reworks • Material handling and downtime (learning curves assume material is ready when needed) • Engineering rework • Rework of vendor supplied parts
MethodologiesEngineering • Also referred to as bottoms up or detailed method. • Underlying assumption is that future costs for a system can be predicted with a great deal of accuracy from historical costs of that system. • Involves examining separate work segments in detail and then synthesizing these detailed estimates along with any integration costs into a total program estimate. • Estimate is built up from the lowest level of system costs. • Uses detailed cost element structure (CES). • Must include all components and functions. • Can be used during development and production.
MethodologiesEngineering (cont’d) • Most useful for systems in production. • Design configuration has stabilized • Test results are available • Development cost actuals are available • Typically broken into functional labor categories e.g. engineering, manufacturing, quality control, etc.
MethodologiesEngineering • Pros: • Objective • Reduced uncertainty • Cons: • Expensive • Time Consuming • Not useful early on • May leave out software integration efforts
MethodologiesEngineering Steps • Understand program requirements, • Prepare program baseline definition, • Define ground rules and assumptions, • Develop detailed cost element structure, • Develop functional estimates, and • Use other program history • Compile estimate data • Develop rates and factors • Incorporate supplier/subcontractor prices • Include integration costs to “glue” the separate components into an integrated system (may need to use a CER for this estimate) • Summarize estimate.