Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.

Slides:



Advertisements
Similar presentations
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Advertisements

Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
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.
GPII-2A Planning a software project: Estimation & Measurement.
COCOMO II 資管研一 張永昌. Agenda Overall Model Definition COCOMO II Models for the Software Marketplace Sectors COCOMO II Model Rationale and Elaboration Development.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
CSC 395 – Software Engineering
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
Information Technology Project Management
1 Project Planning CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Management Week 6-7 Learning Objectives
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Project Cost Estimation
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
©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.
1.  Project: temporary endeavor to achieve some specific objectives in a defined time  Project management ◦ Dynamic process ◦ Controlled and structured.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
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.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Quality Software Project Management Software Size and Reuse Estimating.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
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.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
FUNCTION POINT ANALYSIS & ESTIMATION
SOFTWARE PROJECT MANAGEMENT
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
THE FAMU-CIS ALUMNI SYSTEM
Project Cost Management
Constructive Cost Model
Software Development & Project Management
Cost Estimation Two days. Need to do the function point counting. Not sure cocomo is useful unless we show the actual parameters and have the estimate.
Personal Software Process Software Estimation
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
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.
Software metrics.
The role of Planning in the Software Development Process
Software Cost Estimation
Software Sizing and Costing
Software Effort Estimation
COCOMO MODEL.
Presentation transcript:

Cost Estimation 2009

Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman R. Augustine

Goal The cost estimation community is working to improve estimations so that sophisticated organizations can produce products with 5% of the estimated cost (instead of 10%).

Requirements for Estimations What are cost estimates used for?

Requirements for Estimations What are cost estimates used for? What are the important characteristics of a cost estimate?

Scenario A typical software development shop. A boss is speaking with the lead developer.

Definitions Estimate Target Commitment Plan

Estimate

Commitment Target: Commitment: Plan:

Terms Note that target, estimate, and commitment are not the same concept, and the dates given for these may differ.

Scenario 3 Suppose I give an estimate of 90 days.

Scenario 3: Bell curve What does it mean?

Scenario 3: What does this mean?

Accuracy and the cost of inaccuracy What is the cost of overestimating?

Accuracy and the cost of inaccuracy What is the cost of underestimating?

How are we doing? KSLOC is 1,000 lines of source code MSLOC is 1,000,000 lines of source code With your partner, what does this graph say?

Benefits of Accurate Estimates Improved status visibility Higher quality Better coordination with non-software functions Better budgeting Increased credibility for team Early risk information

Approaches to arriving at a number Count Compute Judge

Counting vs. Estimating Similarities: Differences:

Proxy A value that is used to represent some other value Example: Estimate the weight of the people in the airplane from the number of people in the airplane (requires that we also know the average weight of people)

Things we want to estimate in software Cost Resources Revenue

Sources of uncertainty Inaccurate information about project Inaccurate information about ability of project team Too much chaos in project Inaccuracies in estimation process

Wideband Delphi 1.Estimators prepare initial estimates 2.The estimators meet with a coordinator to discuss estimation issues 3.Estimators give their estimates to the coordinator anonymously 4.The estimates are summarized on an iteration form 5.Estimators meet to discuss differences 6.Estimators vote to accept the average. If any votes “no”, return to step 2

Wideband Delphi Votes and estimates are anonymous Reduces political pressure Coordinator must prevent dominant personalities from controlling discussions (Frequently, the most reserved person has the best insights)

Results of Wideband Delphi Estimation error cut by 40% compared to initial group average Accuracy improves in 80% of the cases Useful for early estimates, particularly with unfamiliar systems Not so useful for detailed estimates

LOC, SLOC, KSLOC, MSLOC Lines of code Standard measure of size Often a measure of cost (i.e., time)

Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements Standards at the International Function Point Users Group (IFPUG)

FP Rules: #FPs depends on: External Inputs External Outputs External Queries Internal Logical Files External Interface Files

FP Rules: Complexity Multipliers Low Complexity Medium Complexity High Complexity External Inputs 346 External Outputs 457 External Queries 346 Internal Logical Files External Interface Files 5710

LOC vs FP (Boehm 2000, Stutzke 2005) LanguageLOC per FP Ada50 C128 C#55 C++55 Java55 Assembly213 Perl20 VB32

FP results Certified counters vary by 10% Untrained counters vary by much more The multipliers may or may not be useful (some research indicates unadjusted FPs are more closely correlated with effort) The LOC have on average a range of 3x wrt FPs

COCOMO II

COCOMO  COnstructive COst MOdel Model to help you reason about the cost and schedule implications of any software decisions you may need to make. –Project Budgets –Scheduling –Planning –Risk Management Decisions

COCOMO II Objective cost model for planning and executing software projects. Concerned with: –Software Development Effort –Software Cost –Software Schedule Estimation

COCOMO II Model Definition Two Models to be concerned with: –Post-Architecture Model –Early Design Model

COCOMO II Model Definition Two Models to be concerned with: –Post-Architecture Model – –Early Design Model –

COCOMO II Variables Sizing Variables –Source Lines of Code (SLOC) –Unadjusted Function Points (UFP) Cost Drivers Scale Factors

Sizing Variables Concerned with the Size (SLOC) of the product being developed. Looking at data that influences new code to better: –Estimate the amount of Effort –Estimate the amount of Calendar Time

SLOC Expressed in thousands of source line of code (KSLOC). Again, only looking at data that will influence effort based on: –New Code –Copied & Modified Code Historical data based on previous software project used to derive estimate.

Unadjusted Function Points Approach: values based upon functionality in a software project. Based on information available early in the software project life cycle. –Requirements Definition –SRS –Design Documents

Unadjusted Function Points Basically, looking at all external data and input control to the system. Looking at all possible outputs produced by the system. Looking for any file types that my be associated with the system.

Project Schedule

Effort Per Phase Schedule