Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

Similar documents
Development Methodologies

PLANNING AND ESTIMATING

Why Measure Software?

COCOMO Models 26/12/2016 1

Estimation Based on Function Points

Darshan Institute of Engineering & Technology for Diploma Studies

Figure 1 Function Point items and project category weightings

SOFTWARE ENGINEERING

Software cost estimation

Contents. Today Project Management. What is Project Management? Project Management Activities. Project Resources

Fundamental estimation questions. Software cost estimation. Costing and pricing. Software cost components. Software pricing factors

Introduction to Software Metrics

Software Efforts & Cost Estimation Matrices and Models. By: Sharaf Hussain

SENG380:Software Process and Management. Software Size and Effort Estimation Part2

MTAT Software Economics. Session 6: Software Cost Estimation

CHAPTER 6 AN ANALYSIS OF EXISTING SOFTWARE ESTIMATION TECHNIQUES

EE382V. System Design Metrics

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a comple

Software Size and Effort Estimation. Dr. Aleš Živkovič, CISA, PRINCE 2

Chapter 5: Software effort estimation- part 2

Software Project Management. Software effort

Management of Software Engineering. Ch. 8 1

Assessing Accuracy of Formal Estimation Models and Development of an Effort Estimation Model for Industry Use

4-3 Software Measurement

You document these in a spreadsheet, estimate them individually and compute the total effort required.

Software cost estimation

Software Estimation. Estimating Software Size

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

Headquarters U.S. Air Force

Concepts of Project Management. All projects have followings.

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Sources of Error in Software Cost Estimation

CS Homework 5. Deadline. How to submit. Purpose. Important notes. Problem 1. CS Homework 5 p. 1

Personal Software Process SM for Engineers: Part I

SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION

SENG Software Reliability and Software Quality Project Assignments

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

mywbut.com Software Project Planning

Software Engineering Measurement and Fundamental Estimation Techniques.

Manual Techniques, Rules of Thumb

Announcements. INF 111 / CSE 121: Software Tools and Methods. Class Overall & Quiz 3. Class Averages. Today s Lecture. Previously in INF 111/CSE 121

Software Project Management

Chapter 4 Software Process and Project Metrics

Proposing New Model for Effort Estimation of Mobile Application Development

A Review of Agile Software Effort Estimation Methods

When it Comes to Estimating

Management and MDD. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems March 6, 2007

Software Process and Project Metrics

A system is a group of elements organized and arranged so that the. elements can act as a whole toward achieving a common goal; is a collection of

2. What is a phase? A phase is a collection of related activities or tasks that produce a deliverable or work product.

Estimating Size and Effort

First, a detailed description of function points Then, how to use function points and lines of code for cost estimation.

Cost Estimation for Projects

Estimation for Software Projects. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Object-Oriented Estimation Techniques

Software Metrics. Outline

Chapter 2. Literatures Review

Resource Model Studies

SELECTION OF DIRECT AND DERIVED FUNCTION POINT ESTIMATION METHODS

QUESTIONS AND ANSWERS ON SOFTWARE PROCESS AND PRODUCT METRICS

Unit-II Measures, Metrics and Indicators

Chapter 5 Estimate Influences

CSCI 510 Final Exam, Fall 2017 v10 of solution & rubric Monday, December 11, questions, 300 points

Introduction to Software Metrics

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

INDEX. As-is analysis, tool supporting, 302 Attributes, FPA, Availability, software contract requirement, 258

Software Cost Models

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

GEARING FACTORS. The A FLEXIBLE SIZING APPROACH

Software Engineering. Lab Manual. Software Engineering BE(comp) VII semester

Resource Decisions in Software Development Using Risk Assessment Model

Project Plan. For KDD- Service based Numerical Entity Searcher (KSNES) Version 1.1

Estimating SW Size and Effort Estimating Size and Effort

Process: Goals, Risks, Estimation, Planning, and Metrics : Software Engineering Practicum

CS Homework 6 p. 1. CS Homework 6

Information Technology Project Management. Copyright 2012 John Wiley & Sons, Inc.

2011 SCEA Conference Presentation Function Point Analysis: One Size Fits All

Cost Estimation. I've got Bad News and Bad News!

Estimating Size and Effort

Metrics and Estimation. Metrics. Lord Kelvin

Project, People, Processes and Products

Object-Oriented and Classical Software Engineering

CSSE 372 Software Project Management: Software Estimation Fundamentals

Software Efforts and Cost Estimation with a Systematic Approach

Today s Lecture. Fall 2004 SE 101 Introduction to Software Engineering 2

Spelunking Tools - Phoenix IEEE-CS May 3, Dan Houston, Ph.D. Estimation Techniques for Software Projects

Estimating Software Maintenance

Research Paper on Software Cost Estimation Using Fuzzy Logic

Transaction versus transform flow. Wednesday, September 19, :32 PM

Online Healthcare Clinic Management System

ETSF01: Software Engineering Process Economy and Quality. Chapter Five. Software effort estimation. Software Project Management

SOFTWARE ENGINEERING. Topics covered 1/20/2015. Chapter 3 - Project Management. Risk management Managing people Project cost Project plan & schedule

Project Cost Estimator A Decision Support System for Software Development By Zayd N. Sukhun and Kevin C. Krefting

DUKE, STEPHEN OROK OKOR AND OBIDINNU, JULIUS NWAFILI

Application of Intelligent Methods for Improving the Performance of COCOMO in Software Projects

Session 5. Organizing database

Software Project Management

Project Planning. COSC345 Software Engineering 2016 Slides by Andrew Trotman given by O K

A Comparative study of Traditional and Component based software engineering approach using models

Transcription:

CS 390 Lecture 26 Chapter 9: Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning continues during development and then postdelivery maintenance Initial planning is not enough Planning must proceed throughout the project The earliest possible time that detailed planning can take place is after the specifications are complete October 2, 2008 Lecture 26 1 Planning and the Software Process The accuracy of estimation increases as the process proceeds October 2, 2008 Lecture 26 2 Planning and the Software Process (2) Example Cost estimate of $1 million during the requirements workflow Likely actual cost is in the range ($0.25M, $M) Cost estimate of $1 million at the end of the requirements workflow Likely actual cost is in the range ($0.5M, $2M) Cost estimate of $1 million at the end of the analysis workflow (earliest appropriate time) Likely actual cost is in the range ($0.6M, $1.5M) Planning and the Software Process (3) These four points are shown in the cone of uncertainty October 2, 2008 Lecture 26 3 October 2, 2008 Lecture 26 Planning and the Software Process () This model is old (196) Estimating techniques have improved But the shape of the curve is likely to be similar Estimating Duration and Cost Accurate duration estimation is critical Accurate cost estimation is critical Internal cost cost of development External cost price client pays There are too many variables for accurate estimate of cost or duration October 2, 2008 Lecture 26 5 October 2, 2008 Lecture 26 6 1

Human Factors Sackman (1968) measured differences of up to 28 to 1 between pairs of programmers He compared matched pairs of programmers with respect to Product size Product execution time Development time Coding time Debugging time Critical staff members may resign during the project Metrics for the Size of a Product Lines of code (LOC, KDSI, KLOC) FFP (Files, Flows, and Processes) Function Points COCOMO (COnstructive COst MOdel) October 2, 2008 Lecture 26 October 2, 2008 Lecture 26 8 Lines of Code (LOC) Alternate metric Thousand delivered source instructions (KDSI) Source code is only a small part of the total software effort Different languages lead to different lengths of code LOC is not defined for nonprocedural languages (like LISP) Lines of Code (2) It is not clear how to count lines of code Executable lines of code? Data definitions? Comments? JCL statements? Changed/deleted lines? Not everything written is delivered to the client A report, screen, or GUI generator can generate thousands of lines of code in minutes October 2, 2008 Lecture 26 9 October 2, 2008 Lecture 26 10 Lines of Code (3) LOC is accurately known only when the product finished Estimation based on LOC is therefore doubly dangerous To start the estimation process, LOC in the finished product must be estimated The LOC estimate is then used to estimate the cost of the product an uncertain input to an uncertain cost estimator Metrics for the Size of a Product (2) Metrics based on measurable quantities that can be determined early in the software life cycle FFP Function points October 2, 2008 Lecture 26 11 October 2, 2008 Lecture 26 12 2

FFP Metric For cost estimation of medium-scale data processing products The three basic structural elements of data processing products Files permanently resident collections of related records Flows data interfaces between product and environment Processes functionally defined manipulation of data FFP Metric (2) Given the number of files (Fi), flows (Fl), and processes (Pr) The size (S), cost (C) are given by S = Fi + Fl + Pr C = d S The constant d (efficiency or productivity) varies from organization to organization based on cost data from previously developed products October 2, 2008 Lecture 26 13 October 2, 2008 Lecture 26 1 FFP Metric (3) The validity and reliability of the FFP metric were demonstrated using a purposive sample However, the metric was never extended to include databases Function Points Based on the number of inputs (Inp), outputs (Out), inquiries (Inq), master files (Maf), interfaces (Inf) For any product, the size in function points is given by FP = Inp + 5 Out + Inq + 10 Maf + Inf This is an oversimplification of a 3-step process October 2, 2008 Lecture 26 15 October 2, 2008 Lecture 26 16 Function Points (2) Function Points (3) Step 1. Classify each component of the product (Inp, Out, Inq, Maf, Inf) as simple, average, or complex (Figure 9.3) Assign the appropriate number of function points The sum gives UFP (unadjusted function points) Component Input item Output item Inquiry Master file Interface Simple 3 3 5 Level of Complexity Average 5 10 Complex 6 6 15 10 Step 2. Compute the technical complexity factor (TCF) Assign a value from 0 ( not present ) to 5 ( strong influence throughout ) to each of 1 factors such as transaction rates, portability (Figure 9.) October 2, 2008 Lecture 26 1 October 2, 2008 Lecture 26 18 3

Function Points () Sum the 1 numbers This gives the total degree of influence (DI) TCF = 0.65 + 0.01 DI Function Points (5) Step 3. The number of function points (FP) is then given by FP = UFP TCF The technical complexity factor (TCF) lies between 0.65 and 1.35 October 2, 2008 Lecture 26 19 October 2, 2008 Lecture 26 20 Analysis of Function Points Function points are usually better than KDSI but there are some problems Errors in excess of 800% counting KDSI, but only 200% in counting function points [Jones, 198] Analysis of Function Points (2) We obtain may nonsensical results from metrics (Figure 9.5) KDSI per person month and Cost per source statement Cost per function point is meaningful Source code size Development costs KDSI per personmonth Cost per source statement Function pts. per person-month Cost per function point Assembler Version 0 KDSI $1.03M 0.335 $1.90 1.65 $3023 Ada Version 25 KDSI $0.59M 0.211 $23.60 2.92 $110 October 2, 2008 Lecture 26 21 October 2, 2008 Lecture 26 22 Analysis of Function Points (3) Like FFP, maintenance can be inaccurately measured It is possible to make major changes without changing The number of files, flows, and processes; or The number of inputs, outputs, inquiries, master files, and interfaces In theory, it is possible to change every line of code without changing the number of lines of code Mk II Function Points This metric was put forward to compute UFP more accurately Software is decomposed into component transactions, each consisting of input, process, and output Mk II function points are widely used all over the world October 2, 2008 Lecture 26 23 October 2, 2008 Lecture 26 2

Techniques of Cost Estimation Cost estimation is hard Skill levels, project complexity, project size (not linear), application area, hardware, CASE tools Deadline effect more effort, hence more cost, when closer to deadline Various approaches Expert judgment by analogy Bottom-up approach Algorithmic cost estimation models Expert Judgment by Analogy Experts compare the target product to completed products Guesses can lead to hopelessly incorrect cost estimates Experts may recollect completed products inaccurately Human experts have biases However, the results of estimation by a broad group of experts may be accurate The Delphi technique is sometimes needed to achieve consensus October 2, 2008 Lecture 26 25 October 2, 2008 Lecture 26 26 Bottom-up Approach Break the product into smaller components The smaller components may be no easier to estimate However, there are process-level costs When using the object-oriented paradigm The independence of the classes assists here However, the interactions among the classes complicate the estimation process Algorithmic Cost Estimation Models A metric is used as an input to a model to compute cost and duration An algorithmic model is unbiased, and therefore superior to expert opinion However, estimates are only as good as the underlying assumptions Examples SLIM Model Price S Model COnstructive COst MOdel (COCOMO) October 2, 2008 Lecture 26 2 October 2, 2008 Lecture 26 28 Intermediate COCOMO COCOMO consists of three models A macro-estimation model for the product as a whole Intermediate COCOMO A micro-estimation model that treats the product in detail Examine intermediate COCOMO Intermediate COCOMO (2) Step 1. Estimate the length of the product in KDSI Step 2. Estimate the product development mode (organic, semidetached, embedded) Example: Straightforward product ( organic mode ) Nominal effort = 3.2 (KDSI) 1.05 personmonths October 2, 2008 Lecture 26 29 October 2, 2008 Lecture 26 30 5

Intermediate COCOMO (3) Step 3. Compute the nominal effort Example: Organic product 12,000 delivered source statements (12 KDSI) (estimated) Nominal effort = 3.2 (12) 1.05 = 3 person-months Intermediate COCOMO () Step. Multiply the nominal value by 15 software development cost multipliers (Figure 9.6) Attributes of product, computation, personnel, project Ratings from very low to extra high Multipliers from 0.0 to 1.66 October 2, 2008 Lecture 26 31 October 2, 2008 Lecture 26 32 Intermediate COCOMO (5) Example: Microprocessor-based communications processing software for electronic funds transfer network with high reliability, performance, development schedule, and interface requirements Step 1. Estimate the length of the product 10,000 delivered source instructions (10 KDSI) Step 2. Estimate the product development mode Complex ( embedded ) mode Intermediate COCOMO (6) Step 3. Compute the nominal effort Nominal effort = 2.8 (10) 1.20 = personmonths Step. Multiply the nominal value by 15 software development cost multipliers For example, required software reliability is rated high (1.15), database size is rated low (0.9), Product of effort multipliers = 1.35 Estimated effort for project is therefore 1.35 = 59 person-months October 2, 2008 Lecture 26 33 October 2, 2008 Lecture 26 3 Intermediate COCOMO () Estimated effort for project (59 person-months) is used as input for additional formulas for Dollar costs Development schedules Phase and activity distributions Computer costs Annual maintenance costs Related items Intermediate COCOMO (8) Intermediate COCOMO has been validated with respect to a broad sample Actual values are within 20% of predicted values about 68% of the time Intermediate COCOMO was the most accurate estimation method of its time Major problem If the estimate of the number of lines of codes of the target product is incorrect, then everything is incorrect October 2, 2008 Lecture 26 35 October 2, 2008 Lecture 26 36 6

COCOMO II 1995 extension to 1981 COCOMO that incorporates Object orientation Modern life-cycle models Rapid prototyping Fourth-generation languages COTS software COCOMO II is far more complex than the first version COCOMO II (2) There are three different models Application composition model for the early phases Based on feature points (similar to function points) Early design model Based on function points Post-architecture model Based on function points or KDSI October 2, 2008 Lecture 26 3 October 2, 2008 Lecture 26 38 COCOMO II (3) The underlying COCOMO effort model is effort = a (size) b Intermediate COCOMO Three values for (a, b) COCOMO II b varies depending on the values of certain parameters COCOMO II supports reuse COCOMO II () COCOMO II has 1 multiplicative cost drivers (was 15) Seven are new It is too soon for results regarding The accuracy of COCOMO II The extent of improvement (if any) over Intermediate COCOMO October 2, 2008 Lecture 26 39 October 2, 2008 Lecture 26 0 Tracking Duration and Cost Estimates Whatever estimation method used, careful tracking is vital Deviations can indicate something has gone wrong and corrective action needs to take place October 2, 2008 Lecture 26 1