Cost Estimation Strategies COST ESTIMATION GUIDELINES



Similar documents
Project management. Objectives

SoftwareCostEstimation. Spring,2012

Chapter 23 Software Cost Estimation

MTAT Software Economics. Lecture 5: Software Cost Estimation

Lecture 14: Cost Estimation

Software cost estimation

ICS 121 Lecture Notes Spring Quarter 96

Software cost estimation

Software cost estimation. Predicting the resources required for a software development process

Project Planning and Project Estimation Techniques. Naveen Aggarwal

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

How To Manage Project Management

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

Software Cost Estimation

Software Engineering. Dilbert on Project Planning. Overview CS / COE Reading: chapter 3 in textbook Requirements documents due 9/20

Estimating Size and Effort

Project Management. Software Projects vs. Engineering Projects

Project Management Process

(Refer Slide Time: 01:52)

Software Life Cycle Models

Lecture Notes #27: Software Risk Management

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

CISC 322 Software Architecture

Software Requirements Metrics

Project Planning and Control. Main issues: How to plan a project? How to control it?

Introduction to Software Engineering. 9. Project Management

Project Management. Massimo Felici Room 1402, JCMB, KB

Software Development Life Cycle (SDLC)

Project Plan 1.0 Airline Reservation System

Handbook for Software Cost Estimation

Function Point: how to transform them in effort? This is the problem!

Applying CMMI SM In Information Technology Organizations SEPG 2003

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

CS Homework 4 p. 1. CS Homework 4. To become more familiar with top-down effort estimation models, especially COCOMO 81 and COCOMO II.

WBS, Estimation and Scheduling. Adapted from slides by John Musser

Software Engineering CSCI Lesson 9 Project Management Part 1- Planning & Estimating. February 23, 2015

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

SOFTWARE ECONOMICS UNIT 15. Presented by. Stefano Street

Cost Estimation for Secure Software & Systems

Manual Techniques, Rules of Thumb

Introduction to the ITS Project Management Methodology

Project Plan. Online Book Store. Version 1.0. Vamsi Krishna Mummaneni. CIS 895 MSE Project KSU. Major Professor. Dr.Torben Amtoft

PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING PMI PMBOK & ESTIMATING

Appendix V Risk Management Plan Template

Software Metrics. Lord Kelvin, a physicist. George Miller, a psychologist

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

Software Engineering. Reading. Effort estimation CS / COE Finish chapter 3 Start chapter 5

Software Engineering. Software Engineering. Software Costs

A DIFFERENT KIND OF PROJECT MANAGEMENT

VIDYAVAHINI FIRST GRADE COLLEGE

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

What is a life cycle model?

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

A Capability Maturity Model (CMM)

Software Development Process Selection Approaches

A DIFFERENT KIND OF PROJECT MANAGEMENT: AVOID SURPRISES

Valuation of Software Intangible Assets

SEER for Software - Going Beyond Out of the Box. David DeWitt Director of Software and IT Consulting

Software Engineering. Objectives. Designing, building and maintaining large software systems

Process Models and Metrics

COCOMO-SCORM Interactive Courseware Project Cost Modeling

SOFTENG250FC: Introduction to Software Engineering

A Look at Software Engineering Risks in a Team Project Course

Project management. Organizing, planning and scheduling software projects

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Certified Software Quality Engineer (CSQE) Body of Knowledge

Software Development Risk Assessment

TECH. Tracking Progress. Project Schedule PHASE 1 STEP 1 ACTIVITY 1.1. Activity and Milestone STEP 1 STEP 2 : ACTIVITY 2.2 : ACTIVITY 1.

IT2403-SOFTWARE PROJECT MANAGEMENT 2 MARKS QUESTIONS

Software cost estimation

Risk Management (3C05/D22) Unit 3: Risk Management. What is risk?

Example Software Development Process.

10 Keys to Successful Software Projects: An Executive Guide

Improving Software Project Management Skills Using a Software Project Simulator

How To Develop Software

Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective

Project Estimation Kostas Kavoussanakis, EPCC. Overview. 4Aim:

Personal Software Process (PSP)

Project management. Organising, planning and scheduling software projects. Ian Sommerville 2000 Software Engineering, 6th edition.

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

E-COCOMO: The Extended COst Constructive MOdel for Cleanroom Software Engineering

Software project cost estimation using AI techniques

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

CUT COSTS, NOT PROJECTS

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Literature Survey on Algorithmic Methods for Software Development Cost Estimation

Transcription:

Cost Estimation Strategies Algorithmic models (Rayleigh curve Cost in week t = K a t exp(-a t 2 ) Expert judgment (9 step model presented later) Analogy (Use similar systems) Parkinson (Work expands to fill the available budget)* Price-to-win (A political or economic decision)* Top Down (Use global properties of software) Bottom Up (Estimate each component) * - Not based on any technical foundation MSWE 609 1 COST ESTIMATION GUIDELINES These guidelines are by Donald J. Reifer Based upon work by J. D. Aron, Estimating resources for large programming systems, Software Engineering: Concepts and Techniques, Litton Educational Services, 1976. Applicable to projects over 10,000 lines and staff of 10. Defined by 9 step process. Although developed in 1970s, most rules still applicable MSWE 609 2 1

Step 1: Define work element Develop work breakdown structure (WBS) What activities are within scope of this work element? What programs are included within this element? What are documentation requirements? What are operational support requirements? How volatile are requirements? Do I understand the nature of job to estimate these? Do I need help and where can I get it? MSWE 609 3 Typical WBS tasks Typical activities: Software systems engineering (requirements analysis, interface analysis) Software development (Software life cycle- requirements, architectural design, procedural design, code, unit test, integration test, technical reviews, training; COTS -Requirements, package evaluation, acquisition, installation) Software test and evaluation (development test, acceptance test, test bed and tool support, test data management, test reviews) Management (project management, administrative support, management tools, management reviews, management training) Product assurance (configuration management, Library operations, interface control, data management, quality assurance, quality control) Operations and support (maintenance, support management, test and operational support) MSWE 609 4 2

Step 2: Determine software size Methods from last time: Top-down estimating Similarities and differences estimating Ratio estimating Standards estimating Bottom-up estimating More about size measures next week MSWE 609 5 Step 3: Assess difficulty Difficulty Category Characteristics Examples Easy Few interactions with other system elements Simple algorithm Previous experience Data-driven architecture Payroll systems Report generation systems Hardware diagnostics Medium Hard Some interactions Suitable algorithms exist Have previous experience in application New machine or language Many interactions Algorithms are new Requirements are volatile Limited experience in application Message-driven architecture Numerical analysis Production control Management information system On-line systems Real-time software Systems software Message switching systems MSWE 609 6 3

Step 4: Define risk and its impact Risk item Risk reduction Cost impact Late delivery of hardware Acquire time on another Computer time costs system New operating system Benchmark early and perform acceptance test Staffing to prepare benchmark before use Feasibility of requirements Feasibility analysis and simulation Staffing to conduct analysis Staffing up Start recruiting and training early Recruiting and training costs Feasibility of design Peer reviews Added effort for review preparation Lack of management visibility Use detailed work packaging and weekly reporting Added effort to prepare inputs for reports Configuration integrity of software products Lack of a test discipline Use formal change control system Use independent test group and get them involved early Purchase price of library plus administrative costs Cost of using test group MSWE 609 7 Additional risk factors From Capers Jones: 1. Inaccurate metrics 2. Inadequate measurement 3. Excessive schedule pressure 4. Inaccurate cost estimating 5. Management malpractice (e.g., knowledge) 6. Silver bullet syndrome (will save the project) 7. Creeping user requirements 8. Low quality 9. Low productivity 10. Cancelled projects From Barry Boehm: 1. Personnel shortfalls 2. Unrealistic schedules and budgets 3. Wrong functionality 4. Wrong user interface 5. Gold plating 6. Continuous requirements changes 7. Shortfalls in externally supplied components 8. Shortfalls in externally provided tasks 9. Real time performance constraints 10. Straining computer science technology MSWE 609 8 4

Risk: Some risk is subjective Expected value = Prob(success)*Payoff(success) + Prob(failure)*Payoff(failure) You can win between 0 and $1000 1. Spin a dial containing the numbers 1 through 10. Choose A or B: A: If 1 9 show up, you get nothing; if 10 shows up you get $1000. B: Win $100 for doing nothing Most people choose B as found money. (E.g., in MSWE607 class 31 out of 46 chose this option.) It didn t matter that they had the potential for winning $1000. You can lose between 0 and $1000 2. Spin a dial containing the numbers 1 through 10. Choose A or B: A: If 1 9 show up, you pay nothing; if 10 shows up you pay $1000. B: Pay $100 for doing nothing Most people chose A, even though they risked losing $1000 (e.g., only 16 out of 46 in MSWE 607 chose paying $100). But both experiments were the same. Each had an expected value (average gain or loss) of $100. Yet on the chances of losing money, people were more willing to gamble than if they were guaranteed a win. MSWE 609 9 Risk: Utility functions Given two choices with different payoffs, what amount should you receive so that you are indifferent as to which choice to choose? For example, in the previous example: Spin a dial containing the numbers 1 through 10. Choose A or B: A: If 1 9 show up, you get nothing; if 10 shows up you get $1000. B: Win $x for doing nothing $100 is the expected value of the payoff. What is the value of x so that you are indifferent to choice A and B? If you take risks, then you will choose A for fairly high values of B. Only if B is extremely high will you choose B. For $100 you would rather choose A. If you are risk adverse, you will choose the sure thing. In this case, you will choose B even for low values of x less than $100. Everyone has a breakeven point. This gives a model where we can measure the value of this risk. MSWE 609 10 5

Step 5: Estimate personnel resources Cost = Size * Dollars/Line (Caveat: salaries are 1976) If reused software: Cost = size(new) * $/Line +size(reused) * $/Line *(Relative effort factor) Note: SEL uses for reused software: Size = LinesNewCode +.2* LinesReusedCode Duration \ Difficulty Use these figures for $/Line < 1 year 1-2 years 2-3 years > 3 years Easy $40 $30 $25 $40 Medium $50 $40 $35 $50 Hard $75 $50 $45 $65 Note: Salary figures are 20 years out of date MSWE 609 11 Step 6: Adjust estimate Adjust for: language (assembly code or HLL [divide by 2]), capacity (e.g., time or space limited [multiply by 3 % limited]), methodology (divide by 1.5), risk (Add in cost of risk -covered in later slides) This is the major step that has changed since 1976 MSWE 609 12 6

Step 7-9: Remaining steps Step 7: Extrapolate estimate: Apply estimate to all work elements of step 1 Step 8: Schedule effort: Create PERT chart to schedule resources Step 9: Reiterate: Pose following questions are reiterate: Can we do it in half the time? Can we do it for half the money? Can we do more for the same money? MSWE 609 13 COCOMO COst COntainment Model Boehm 1981. The assumption is that effort is related to size as follows: Effort= k(loc) p where k and p depend upon application domain and environment and p>1. Much of COCOMO is based upon 1970s technology which underlies many of the assumptions in the model (e.g., batch environments, DoD contracting, FORTRAN and similar languages). One of the weaknesses of COCOMO is that other environments may not have the same underlying assumptions used in setting the parameters. Around 1995 or 1996 Boehm started to work on a revision to COCOMO called COCOMO-2. In general it does not do as well as COCOMO in average error in estimating effort. MSWE 609 14 7

1965 SDC model Effort (months) = -33.63 + 9.15 (lack of requirements)(0-2) + 10.73 (Stability of design (0-3) + 0.51 (Percent math) + 0.46 (Percent storage/retrieval instructions) + 0.40 (Number of subprograms) + 7.28 (Programming language (0-1) - 21.45 (Business applications) (0-1) + 13.53 (Stand alone program (0-1) + 12.35 (First program on computer (0-1) + 58.82 (Concurrent hardware development (0-1) + 30.61 (Random access device used (0-1) + 29.55 (Different host target (0-1) + 0.54 (Number of personnel trips) - 25.20 (Developed by military organization (0-1) MSWE 609 15 Nominal effort Basic effort equations: Organic development (well understood) MM = 3.2 KLOC 1.05 Semidetached (More complex) MM = 3.0 KLOC 1.12 Embedded (highly complex) MM = 2.8 KLOC 1.20 Then multiply MM by 15 COCOMO factors MSWE 609 16 8

COCOMO factors Cost Driver Low value High value Product attributes Required reliability.75 1.40 Data base size.94 1.16 Product complexity.70 1.65 Computer attributes Execution constraints 1.00 1.66 Main storage constraints 1.00 1.58 Virtual machine volatility.87 1.30 Computer turnaround time.87 1.15 Personnel attributes Analyst capabilities 1.46.71 Application experience 1.29.82 Programmer capability 1.42.70 Virtual machine experience 1.21.90 Programming language experience 1.14.95 Project attributes Methodology 1.24.82 Software tools 1.24.83 Required development schedule 1.23 1.10 MSWE 609 17 COCOMO II COCOMO/SCM 14 -- COCOMO development is continuing* Theme: Software Cost, Schedule, and Process, October 26-28, 1999 Last year s Forum introduced a number of emerging extensions to the COCOMO II estimation model. These included COCOTS for COTS integration, CORADMO for Rapid Application Development, COQUALMO for quality estimation, and COSSEMO for stagewise schedule and effort estimation. Discussions at the Forum indicated that these and other cost and schedule estimation models need to address the effects of process selection on cost, schedule, and quality. The choice of process objectives (optimize cost, schedule, or quality) and process architectures (waterfall, incremental, evolutionary, spiral) can have significant effects on a product s overall cost, schedule, and quality, and on the distribution of cost and schedule bystage. This year s Forum particularly solicits presentations addressing these cost/schedule/process issues, either via experience reports or modeling and data analysis. Besides these topics, the Forum also solicits papers on other software cost estimation-related topics such as cost models for new software approaches (objectoriented, COTS integration, software product lines); software sizing; and relations between software cost estimation and software risk assessment, requirements, architecture, value assessment, and quality assessment. * - Email announcement, September 13, 1999 MSWE 609 18 9