Presentation on theme: "Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation."— Presentation transcript:
Cost as a Business Driver 1 John Brown C Eng MIEE mr_ Software Cost Estimation
Cost as a Business Driver 2 What is Software Cost Estimation (SCE). Software Cost Estimation Techniques. COTS - Software Cost Estimation Tools. Benefits, Drawbacks and Accuracy. Software Cost Estimating – Key Steps. Cost Drivers. The Software Lifecycle. Summary. Software Cost Estimation Module Outline
Cost as a Business Driver 3 The estimation of costs relating to the development of software based on information available at the time. Software Cost Estimation (SCE).
Cost as a Business Driver 4 Software Cost Estimation How is it done? By using expert judgement, tools and techniques. The scope must be determined at the out-set ( whats to be included in the estimate).
Cost as a Business Driver 5 The importance of having a good Software Cost Estimate
Cost as a Business Driver 6 Data Capture Previous Projects Expert System ERP (Enterprise Resource Planning) Systems Interview - Expert Judgment Software Questionnaire
Cost as a Business Driver 7 Software Cost Estimation: Techniques. 1. Expert Judgment. 2. Estimation by Analogy. 3. Parkinsons Law. 4. Algorithmic Model. 5. Top-down Estimation. 6. Bottom-up Estimation. 7. Price to Win.
Cost as a Business Driver 8 COTS - Software Cost Estimation Tools COCOMO II SLIM PRICE S SEER - SEM Others
Cost as a Business Driver 9 What are the benefits of Using Parametric Estimating Tools? Provides a Quick answer based on a database of completed projects. Top-down needs fewer inputs than Bottom-up. Unbiased, Objective and Consistent. Cost Estimating Relationships (CERs) between a number of cost drivers are established. All models demand similar input parameters.
Cost as a Business Driver 10 ….And the drawbacks? GIGO. NOT the answer but another data point. Dangerous if used in isolation or without training and experience. Calibration and accurate data required. Calibrated to past Projects. Extensive database of US Projects. Database of European projects limited but expanding. Data used to build CERs is difficult to acquire.
Cost as a Business Driver 11 Software Cost Estimation: Cost and Size Most cost models use size of the finished system as input for cost estimation. Most widely used metric is Source Lines of Code (SLOC). Two other metrics used; Function Points and Object Points. Size is difficult to determine at the early stages.
Cost as a Business Driver 12 Software Cost Estimation: Accuracy of Models A Software Cost estimation model is doing well if it can estimate software development costs within 20% of the actual costs, 70% of the time, within the domain it was intended or calibrated.
Cost as a Business Driver 13 Software Cost Estimation Techniques - A Comparison None of the techniques mentioned is better than the other from all aspects. Parkinson and Price-to-win do not produce sound cost estimates and should not be used. The strengths and weaknesses of the other techniques are complementary: –algorithmic versus expert judgement –top-down versus bottom-up
Cost as a Business Driver 14 Which Technique to use? It is important to use a combination of techniques, and to compare, and iterate the estimates obtained from each.
Cost as a Business Driver 15 An Effective Combination Top-down estimate using the judgement of more than one expert, using analogy estimation where a comparable project is available. Bottom-up estimate using an algorithmic model, with inputs and component-level estimates provided by experts. Comparison and iteration of both estimates.
Cost as a Business Driver 16 Software Cost Estimation – Key Steps 1. Analyse the requirements. 2. Identify the activities to be included. 3. Estimate the size of key deliverables. 4. Assess the level of design growth anticipated. 5. Assess the level of software defects and removal methods. 6. Estimate Effort and Schedules. 7. Estimate staffing requirements. 8. Adjust assumptions based on capabilities and experience. 9. Estimate Development Costs. 10. Estimate maintenance and enhancement costs. 11. Est. compatible with Cost Recording System and WBS.
Cost as a Business Driver 17 Poor Cost Estimation Baseline estimate lacks credibility - Unrealistic for Project Tracking. Unable to compare actual costs to estimate at work package level, hence, knowledge will be lost. May result in fire-fighting to bring the project in on schedule and within budget. Resource and schedule over/under-runs cost money and may affect other projects.
Cost as a Business Driver 18 SOFTWARE COST ESTIMATION: Most Common Mistakes Underestimating the amount of time and effort required to do a proper estimate. Imprecise and drifting requirements not taken into account. Quantifying difference from previous Projects. Estimates forced to match resources available. Human bias.
Cost as a Business Driver 19 Software Cost Drivers Size –Source Lines of Code (SLOC), Function Points, Object Points Language –Assembler, Pascal, Visual Basic, ADA95, C/C++, JAVA, SQL, ORACLE Code Mix –(New, Reused or Modified) Test & Integration Productivity –Team structure, Experience, Tools Complexity – Functionality, Platform, Organisation Security Schedule –Overruns, Poor estimation
Cost as a Business Driver 20 Conception through to final obsolescence and disposal. Modelled as a number of successive phases. Main Models –Waterfall –Prototyping: – Incremental – Evolutionary – Spiral The Software Lifecycle
Cost as a Business Driver 21 The Software Lifecycle Waterfall Model Feasibility Study Requirements Analysis & Specification Design & Specification Coding & Module Testing Integration & System Testing Delivery & Maintenance
Cost as a Business Driver 22 The Software Lifecycle Spiral Model PLANNING RISK ANALYSIS ENGINEERINGCUSTOMER EVALUATION Based on initial requirements Based on customer reaction Toward a completed system GO/NO GO Initial prototype Engineered System Customer evaluation Initial Requirements gathering and project planning Based on customer evaluation
Cost as a Business Driver 23 The Software Lifecycle Typical Proportions - For Defence Projects Coding 15% Unit Testing 8% System Integration 8% Maintenance 55% Detailed Design 6% System Design 6% Requirements & Definition 2% Source: S/W Engineering Explained. M Norris ISBN