Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.

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

Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Project Estimation: Metrics and Measurement
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
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.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
CSC 395 – Software Engineering
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.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Metric capture notions of size and complexity.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Cost22 1 Question of the day u If you were the boss, what would you do for cost estimation?
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?
Chapter 6 : Software Metrics
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 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Quality Assurance vs. Quality Control Quality Assurance An overall management plan to guarantee the integrity of data (The “system”) Quality Control A.
Software cost estimation Predicting the resources required for a software development process 1.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Lecture 4 Software Metrics
Student Curriculum Planning System MSE Project Presentation I Kevin Sung.
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.
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.
Software complexity estimation by Adam Bondarowicz by Adam Bondarowicz.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Software Project Estimation IMRAN ASHRAF
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Cost9a 1 Software Estimating Technology: A Survey Richard Stutzke Crosstalk, May96 text pp
Effort Estimation Has been an “art” for a long time because
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
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.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
Rating Very Very Extra Cost Drivers Low Low Nominal High High High Product Attributes Required software reliability Database size.
FUNCTION POINT ANALYSIS & ESTIMATION
Effort Estimation Review Class 11 Effort estimation General Estimation Model COCOMO Model CEN 4021 Class 12 – 02/21.
بشرا رجائی برآورد هزینه نرم افزار.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Function Point Analysis
Software Project Estimation
Software Planning
Constructive Cost Model
COCOMO Model Basic.
Function Point.
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
Activities During SPP Size 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.
COnstructive COst MOdel
COCOMO MODEL.
Presentation transcript:

Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that deliverable Effort = Size / Productivity e.g. Effort = 500 loc / (100 loc/person-day) = 5 person-days

Effort Estimation (in General) Has been an “art” for a long time because –many parameters to consider –unclear of relative importance of the parameters –unknown inter-relationship among the parameters –unknown metrics for the parameters Historically, project managers –consulted others with past experiences –drew analogy from projects with “similar” characteristics –broke the projects down to components and used past history of workers who have worked on “similar” components; then combined the estimates For example? What if you are new at this and have no dependable contacts ?

General (MACRO) Model There have been many proposed models for estimation of effort in software. They all have a similar general form: – Effort ≡ (product size) & (other influencing factors) or more formally – Effort = [a + (b * ((Size)**c))] * [PROD(f’s)] where : –Size is the estimated size of the project in loc or function points –a, b, c, are coefficients derived from past data and curve fitting »a = base cost to do business regardless of size »b = fixed marginal cost per unit of change of size »c = nature of influence of size on cost –f’s are a set of additional factors, besides Size, that are deemd important –PROD (f’s) is the “multiplicative product” of the f’s

COCOMO (macro) Estimating Technique Developed by Barry Boehm in early 1980’s who had a long history with TRW and government projects (initially LOC based) Later modified into COCOMO II in the mid-1990’s (FP included for size, besides LOC) Included process activities : –Product Design –Detailed Design –Code and Unit Test –Integration and Test Utilized by some but many people still rely on experience and/or own company proprietary data. (some use COCOMO as a companion estimate) Note that requirements gathering and spec. are not included

Basic Form for Effort Effort = A * B * (size ** C) or more “generally” – Effort = [A * (size**C)] * [B ] –Effort is in “person-months” –A = scaling coefficient –B = coefficient based on 15 parameters –C = a scaling factor for process –Size = delivered source lines of code in “KLOC”

Basic form for Time Time = D * (Effort ** E) –Time = total number of “calendar months” –D = A constant scaling factor for schedule –E = a coefficient to describe the potential parallelism in managing software development Past experiences indicate that “time estimate” has usually been more than actual

COCOMO I Originally based on 56 projects Reflecting 3 modes of projects –Organic : less complex and flexible process –Semidetached : average complexity project –Embedded : complex, real-time defense projects

3 Modes are Based on 8 Characteristics A. Team’s understanding of the project objective B. Team’s experience with similar or related project C. Project’s needs to conform with established requirements D. Project’s needs to conform with established interfaces E. Project developed with “new” operational environments F. Project’s need for new technology, architecture, etc. G. Project’s need for schedule integrity H. Project’s size range

Understand requirement Exp. w/similar project Conform w/req. Conform w/int. New oper. env. New tech/meth. Schedule int. Size

COCOMO I For the basic forms: –Effort = A * B *(size ** C) –Time = D * (Effort ** E) Organic : A = 3.2 ; C = 1.05 ; D= 2.5; E =.38 Semidetached : A = 3.0 ; C= 1.12 ; D= 2.5; E =.35 Embedded : A = 2.8 ; C = 1.2 ; D= 2.5; E =.32

Coefficient B Coefficient B is an effort adjustment factor based on 15 parameters which varied from very low, low, nominal, high, very high to extra high B = product (15 parameters) –Product attributes: Required Software Reliability :.75 ;.88; 1.00; 1.15; 1.40; Database Size : ;.94; 1.00; 1.08; 1.16; Product Complexity :. 70 ;.85; 1.00; 1.15; 1.30; 1.65 –Computer Attributes Execution Time Constraints : ; ; 1.00; 1.11; 1.30; 1.66 Main Storage Constraints : ; ; 1.00; 1.06; 1.21; 1.56 Virtual Machine Volatility : ;.87; 1.00; 1.15; 1.30; Computer Turnaround time : ;.87; 1.00; 1.07; 1.15;

Coefficient B (cont.) Personnel attributes Analyst Capabilities : 1.46 ; 1.19; 1.00;.86;.71; Application Experience : 1.29; 1.13; 1.00;.91;.82; Programmer Capability : 1.42; 1.17; 1.00;.86;.70; Virtual Machine Experience : 1.21; 1.10; 1.00;.90; ; Programming lang. Exper. : 1.14; 1.07; 1.00;.95; ; Project attributes Use of Modern Practices : 1.24; 1.10; 1.00;.91;.82; Use of Software Tools : 1.24; 1.10; 1.00;.91;.83; Required Develop schedule : 1.23; 1.08; 1.00; 1.04; 1.10;

An example Consider an averag e(semidetached) project of 10Kloc: –Effort = 3.0 * B * (10** 1.12) = 3 * 1 * 13.2 = 39.6 pm –Where B = 1.0 (all nominal) –Time = 2.5 *( 39.6 **.35) = 2.5 * 3.6 = 9 months –This requires an additional 8% more effort and 36% more schedule time if we include product plan and requirements: Effort = (39.6 *.08) = = pm Time = 9 + (9 *.36) = = months Any problem?

Try another example Go through the assessment of 15 parameters for the effort adjustment factor, B. You may have some concerns : –Are we interpreting each parameter the same way –Do we have a consistent way to assess the range of values for each of the parameters –-How good is my size (loc) estimate?

COCOMO II Effort performed at USC with many industrial corporations participating Has a database of over 80 some projects “Early” estimate, preferred to use Function Point instead of LOC for size; “later” estimate may use LOC for size. (loc is harder to estimate without some experience) Coefficient B based on 15 parameters for early estimate is “rolled” up to 7 parameters, and for late estimates use 17 parameters. Scaling factor for process has 6 categories ranging in value from.00 to.05, in increments of.01

Function Point A non-LOC based estimator Often used to assess software “size” and “complexity” Started by Albrecht of IBM in late 1970’s

Function Point an estimation of “size” LOC as an estimate of “size” has many drawbacks but still used because of physical analogy: –Different programming languages has different loc meaning –Measures source code which is not available until implementation phase; it so hard to estimate during early phases of project

FP Utility Where is FP used? –Comparing software in a “normalized fashion” independent of op. system, languages, etc. –Benchmarking and “Projection” based on “size”: size -> effort or cost size -> development schedule size -> defect rate –Outsourcing Negotiation

Function Point Provides you a way to estimate the size* of the project based on estimating (items from requirements & high level design): –Inputs –Outputs –Inquiries –Files –Interfaces After getting the size, then --- still need to have an estimate on productivity and other factors to get effort in person-months: – productivity in: function-point/person-month –** *Divide the estimated total project function points by the productivity to get an estimate of person-month or person-days needed.*** Functional/Transaction related Data related

Function Point (FP) Computation Composed of 5 “Primary Factors” –Inputting items (external input items from user or another application) –Outputting items (external outputs such as reports, messages, screens – not each data item) –Inquiry (a query that results in a response of one or more data) –Master and logical files (internal file or data structure or data table) –External interfaces (data or sets of data sent to external devices, applications, etc.) And a “complexity level index” matrix : SimpleAverage Complex Input Output Inquiry Logical files Interface

Function Point Computation (cont.) 1.Initial Function Point : – ∑ (# of Primary Factor (i) x Complexity Level Index for i) 2.There are 14 more “Degree of Influences” ( 0 to 5 scale) : data communications distributed data processing performance criteria heavy hardware utilization high transaction rate online data entry end user efficiency on-line update complex computation reusability ease of installation ease of operation portability maintainability

Function Point Computation (cont.) Define Technical Complexity Factor (TCF): – TCF =.65 + (.01 x DI ) – where DI = ∑ ( influence factor values) So note that.65 < TCF < 1.35 Function Point (FP) = Initial FP x TCF

What’s one Function Point? Do you have any experience in converting say function points to effort in person months? Is there any standard conversion factor that you may use? –In IBM, during 90s, about 20 function points to 1 person month of effort (this was back in late 1990’s - -- may be more productive now).