Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Software cost estimation
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
Estimation Why estimate? What to estimate? When to estimate?
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software cost estimation Predicting the resources required for a software development process 1.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Software cost estimation DeSiaMore 1.
Software cost estimation
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software cost estimation l Predicting the resources required for a software development.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Software Project Estimation IMRAN ASHRAF
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software cost estimation l Predicting the resources required for a software development.
1 Software Cost Estimation Predicting the resources required for a software development process.
Software cost estimation. Objectives To introduce the fundamentals of software costing and pricing To describe three metrics for software productivity.
Estimation using COCOMO
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Software cost estimation. Objectives To introduce the fundamentals of software costing and pricing To introduce the fundamentals of software costing and.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 26 Slide 1 Software cost estimation.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
CS223: Software Engineering Lecture 37: Software Planning and Estimation.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
بشرا رجائی برآورد هزینه نرم افزار.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 26 Slide 1 Software cost estimation.
Project Cost Management
Software Development & Project Management
Software cost estimation
Software Cost Estimation
COCOMO Model Basic.
Software cost estimation
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Chapter 23 Software Cost Estimation
Software cost estimation
Software cost estimation
Software Cost Estimation
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Software cost estimation
Chapter 26 Estimation for Software Projects.
Software cost estimation
COCOMO MODEL.
Presentation transcript:

Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract bids –Go/No-Go decisions –Make vs Buy decisions

Dimensions “Men do not equal months” (Brooks) Consider –calendar time vs number of people –total effort vs number of people –total effort vs calendar time allowed? “Adding people to a late project usually makes it later” (Brooks) Note: people requirements usually uneven

Software pricing factors

Difficulties –“outside” pressure –lack of historical info –poor specifications –moving target –unstable environment “a software cost estimation approach is doing well if it can estimate costs within 20%, 70% of the time, on its own turf” - Boehm 1981

Risks Cost of under estimation –lose $$ –pressure/stress/hangovers/domino Cost of over estimation –tie up resources –miss out on other projects Cost of no estimation –no historical data or experience is gained

Preparation Determine Scope - function- performance - constraints- interfaces - reliability Determine (estimate) resources - people- software- environment Reliable historical information

Methods Reality? –Parkinson’s Law –Pricing to win Expert judgment by analogy –Decomposition –Delphi Algorithmic Models …

Algorithmic Models Simple formulas –usually a function of size estimate Allows calibration GIGO Outputs vary, even within a model - effort- time - stages COCOMO in 1981 was the classic model

Constructive Cost Model, B. Boehm, 1981 Basic Model 1.Estimate KDSI 2.Select product's Development Mode (straightforward, embedded, etc.) 3.Calculate Person-Months as F(KDSI, DM) 4.Calculate Dev. Time as F(PM, DM) Intermediate –Rank project and process on 15 categories (reliability, programmer's capabilities) to obtain ‘effort multipliers’ –Can analyze tradeoffs Advanced - Involves subsystems and subtasks.

COCOMO 81 Basic

COCOMO 81 Intermediate Cost DriversVLowLowNomnlHighVHighEHigh Required reliability Database size Product complexity Execution time constraint Analyst capabilities Applications experience Language experience Tool use Take the nominal effort and multiply by 15 effort multipliers:

What's a line of code? –The measure was first proposed when programs were typed on cards with one line per card. –How does this correspond to statements as in Java which can span several lines or where there can be several statements on one line? –Do you include comments, data declarations, library modules? –Is this really what you want to base “productivity” on? Lines of code

Function points Includes external inputs/outputs, user interactions, external interfaces, files used by the system Function point count modified by complexity of the project FPs can be used to estimate LOC depending on the average number of LOC per FP for a given language –LOC = AVC * number of function points –AVC is a language-dependent factor varying from for assemble language to 2-40 for a 4GL FPs are very subjective. They depend on the estimator. –Automatic function-point counting is impossible

Object points Object points are an alternative function-related measure to function points when 4Gls or similar languages are used for development Object points are NOT the same as object classes The number of object points in a program is a weighted estimate of –The number of separate screens that are displayed –The number of reports that are produced by the system –The number of 3GL modules that must be developed to supplement the 4GL code

Object point estimation Object points are easier to estimate from a specification than function points as they are simply concerned with screens, reports and 3GL modules They can therefore be estimated at an early point in the development process. At this stage, it is very difficult to estimate the number of lines of code in a system

COCOMO II (1996) Hierarchy –analysis stage model –design stage model –post architecture model Sizing options –LOC –function points –object points (don’t worry about this)

COCOMO 2 levels COCOMO 2 is a 3 level model that allows increasingly detailed estimates to be prepared as development progresses Early prototyping level –Estimates based on object points and a simple formula is used for effort estimation Early design level –Estimates based on function points that are then translated to LOC Post-architecture level –Estimates based on lines of source code

Estimate uncertainty