Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.

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 Main issues:  What factors determine cost/effort?  How to relate effort to development time?
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
©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.
Software project management (intro)
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
ECE 355: Software Engineering
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
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.
Software cost estimation Predicting the resources required for a software development process 1.
Schedule & effort.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Software cost estimation DeSiaMore 1.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
©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.
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.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
بشرا رجائی برآورد هزینه نرم افزار.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Project Cost Management
Software cost estimation
Software Cost Estimation
COCOMO Model Basic.
Personal Software Process Software Estimation
Software Metrics “How do we measure the software?”
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.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Chapter 23 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.
COnstructive COst MOdel
Software Cost Estimation
Software cost estimation
Software cost estimation
COCOMO MODEL.
Presentation transcript:

Cost Estimation

Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts In order to come up with a reliable cost estimate, we need to have a firm grasp on the requirements, as well as our approach to meeting them Typically costs need to be estimated before these are fully understood

Estimating uncertainty Boehm 1981

What are project costs? For most software projects, costs are: Hardware Costs Travel & Training costs Effort costs

What are effort costs? Effort costs typically largest of the 3 types of costs, and the most difficult to estimate. Effort costs include: –Developer hours –Heating, power, space –Support staff; accountants, administrators, cleaners, management –Networking and communication infrastructure –Central facilities such as rec room & library –Social security and employee benefits

Effort cost estimation - Overhead Everything other than salaries OSU example: –45% for benefits –46% for “indirect” costs (space, infrastructure etc) calculated on top of everything else $1,000 +benefits ($450) + infrastructure ($667) = $2,117

Software cost estimation – Boehm (1981) Algorithmic cost modeling –Base estimate on project size (lines of code) Expert judgment –Ask others Estimation by analogy –Cost based on experience with similar projects Parkinson’s Law –Project time will expand to fill time available Pricing to win –Cost will be whatever customer is willing to pay Top-down estimation –Estimation based on function/object points Bottom-up estimation –Estimation based on components

Aggravating & mitigating factors Market opportunity Uncertainty/risks Contractual terms Requirements volatility Financial health Opportunity costs

Cost drivers Software reliability Size of application database Complexity Analyst capability Software engineering capability Applications experience Virtual machine experience Programming language expertise Performance requirements Memory constraints Volatility of virtual machine Environment Turnaround time Use of software tools Application of software engineering methods Required development schedule

Productivity metrics Lines of code –Simple, but not very meaningful metric –Easy to pad, affected by prog language –How to count revisions/debugging etc? Function points –Amount of useful code produced (goals/requirements met) –Less volatile, more meaningful, not perfect

Function points Function points are computed by first calculating an unadjusted function point count (UFC). Counts are made for the following categories (Fenton, 1997): –External inputs – those items provided by the user that describe distinct application-oriented data (such as file names and menu selections) –External outputs – those items provided to the user that generate distinct application-oriented data (such as reports and messages, rather than the individual components of these) –External inquiries – interactive inputs requiring a response –External files – machine-readable interfaces to other systems –Internal files – logical master files in the system Each of these is then assessed for complexity and given a weighting from 3 (for simple external inputs) to 15 (for complex internal files).

Unadjusted Function Point Count (UFC) Weighting Factor ItemSimpleAverageComplex External inputs346 External outputs457 External inquiries346 External files71015 Internal files5710 Each count is multiplied by its corresponding complexity weight and the results are summed to provide the UFC

Object points Similar to function points (used to estimate projects based heavily on reuse, scripting and adaptation of existing tools) Number of screens (simple x1, complex x2, difficult x3) Number of reports (simple x2, complex x5, difficult x8) Number of custom modules written in languages like Java/C x10

Function points -> Lines of code LOC/Function point in assembly Multiplication factor by language Programmer productivity? LOC/month!

COCOMO II Model Supports spiral model of development Supports component composition, reuse, customization 4 sub-models: –Application composition model – assumes system written with components, used for prototypes, development using scripts, db’s etc (object points) –Early design model – After requirements, used during early stages of design (function points) –Reuse model – Integrating and adapting reusable components (LOC) –Post architecture model – More accurate method, once architecture has been designed (LOC)

Application composition model Used primarily to estimate cost of prototyping efforts PM = (Application points x(1-%reuse/100)/ productivity Productivity estimates from 4-50 object points/month, depending on experience and the availability/maturity of tools

Early Design Model Used once requirements are agreed to get going on an architectural design PM=2.94 x Size^B x M B= M=Proj characteristics

Reuse model PM = (LOC needing to be adjusted X % auto-generated)/productivity Productivity ~ 2,400 LOC/Month

Post-Architectural Model Organic projects - relatively small, simple projects with small teams and good application experience to less than rigid requirements. (A=2.4, B=1.05) Semi-detached projects - intermediate (in size and complexity) projects with mixed experience teams and a mix of requirements. (A=3.0, B=1.12) Embedded projects - software projects that must be developed within a set of tight hardware, software, and operational constraints. (A=3.6, B=1.20) PM=A x Size^B x M