Software Cost and Schedule Estimation Dr. Harry R. Erwin University of Sunderland.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Lecture 8: Testing, Verification and Validation
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Project phases and the life cycle
HIT241 - COST MANAGEMENT Introduction
Software maintenance Managing the processes of system change.
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 Management Week 6-7 Learning Objectives
Information System Economics Software Project Cost Estimation.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
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?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Group Members: Ayush Newatia, Barry Foye, Billy Felton, Kevin Anderson, Shahnaz Begum and Adam Jasinski Constructive Cost Model is a technique used to.
Software cost estimation Predicting the resources required for a software development process 1.
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.
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.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Measurement (II)1 Measurement - Productivity, Estimation, Effort Advanced Software Engineering COM360 University of Sunderland © 1998.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Overview of COCOMO Reporter:Hui Zhang
©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
1. What do you understand by software engineering? Discuss the role of engineering software development. 2. What do you understand by software requirement.
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.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M19 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
CSE SW Project Management / Module 19 - Some Popular Effort Estimation Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M19.
بشرا رجائی برآورد هزینه نرم افزار.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Software Size and Cost Estimation
Project Cost Management
כ"ז/שבט/תשע"ח An Overview of Software Development Effort and Cost Estimation Techniques Professor Ron Kenett Tel Aviv University School of Engineering.
Estimate Testing Size and Effort Using Test Case Point Analysis
Software Engineering.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
Constructive Cost Model
Software Engineering.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
COCOMO Model Basic.
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
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.
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.
Software Cost Estimation
Presentation transcript:

Software Cost and Schedule Estimation Dr. Harry R. Erwin University of Sunderland

The Problems Predicting software cost Predicting software schedule Controlling software risk

Criteria for a Good Model Defined—clear what is estimated Accurate Objective—avoids subjective factors Results understandable Detailed Stable—second order relationships Right Scope Easy to Use Causal—future data not required Parsimonious—everything present is important

Early Models 1965 SDC Model Putnam SLIM Model Doty Model RCA PRICE S Model IBM-FSD Model 1977 Boeing Model 1979 GRC Model Bailey-Basili Meta-Model CoCoMo

1965 SDC Model (Nelson 1966) A linear regression of 104 attributes of 169 early software projects Produces a MM estimate Mean of 40 MM Standard deviation of 62 MM Counterintuitive—too much non-linearity in real program development

Putnam SLIM Model (Putnam 1978) Commercially available Popular with the US Government Uses a Rayleigh distribution of project personnel level against time DSI = C*(MM) (1/3) *(Schedule) (4/3) Radical trade-off relationships

Doty Model (Herd et al., 1977) Extended the SDC Model MM = C(special factors)*(DSI) Problems with stability

RCA PRICE S Model (Freiman- Park, 1979) Commercially available Aerospace applications Similar to CoCoMo (see below)

IBM-FSD Model (Walston-Felix, 1977) Not fully described Used by IBM to estimate programs Some statistical concerns

1977 Boeing Model (Black et al., 1977) Similar to CoCoMo, but simpler Out of use Poor estimates

1979 GRC Model (Carriere- Thibodeau, 1979) Limited information available Obvious typos and mistakes

Bailey-Basili Meta-Model (Bailey- Basili, 1981) Rigorous statistical analysis of factors and size. Not much experience

CoCoMo Waterfall Model Can be adapted to other models Estimates: –Requirements analysis –Product design –Programming –Test planning –Verification and validation –Project office –CM and QA –Documentation

Where to Find CoCoMo Or do a Google search on Barry Boehm.

Nature of Estimates Man Months (or Person Months), defined as 152 man-hours of direct-charged labor Schedule in months (requirements complete to acceptance) Well-managed program

Input Data Delivered source instructions (DSI) Various scale factors: –Experience –Process maturity –Required reliability –Complexity –Developmental constraints

Basic Effort Model MM = 2.4(KDSI) 1.05 –More complex models reflecting the factors listed on the previous slide and phases of the program –The exponent of 1.05 reflects management overhead

Basic Schedule Model #include using namespace std; //introduces namespace std int main() { cout << "This is COCOMO Calc" << endl << endl; double old,newer,mm; for(;;) { cout << "Enter the manmonths estimated for the task. Enter 0 to quit" << endl; cin>>mm; if(mm<=0.0)break; cout<<endl<<"The following are 10/50/90 percentile estimates:"<<endl; old = pow(mm,0.32); newer = pow(mm,0.28); cout<<"Old COCOMO: "<<2.0*old<<'\t'<<2.5*old<<'\t'<<3.0*old<<endl; cout<<"New COCOMO: "<<0.8*3.67*newer<<'\t'<<3.67*newer<<'\t'<<1.2*3.67*newer<<endl; } return 0; }

Productivity Levels Tends to be constant for a given programming shop developing a specific product. ~100 SLOC/MM for life-critical code ~320 SLOC/MM for US Government quality code ~1000 SLOC/MM for commercial code

Nominal Project Profiles Size2000 SLOC 8000 SLOC SLOC SLOC MM Schedule Months Staff SLOC/ MM

What About Function Points? Can also be used to estimate productivity. Capers Jones (use Google to find) provides conversion factors between FPs and SLOC. The development organization needs previous experience with the problem domain to estimate FPs accurately. SLOC are easier to estimate with no experience.

More Sophisticated Modeling Incorporates: Development Modes Activity Distribution Product Level Estimates Component Level Estimates Cost Drivers

Risk Analysis A risk is a vulnerability that is actually likely to happen and will result in some significant effect Standard software development risks: –Cost –Schedule (covaries with cost) –Technical (opposes cost) Approach: –Identify them –Track them –Spend money to control them (Spiral Model)

Spiral Model Defines early development activities to buy down risk Maintains the interest of stakeholders Takes longer and costs more Ends with a standard Waterfall

Effects of Parallelism Without parallelism, you do a critical path analysis. With parallelism, statistical factors affect which task completes first. With several parallel tasks of equal length, the mean schedule is about one standard deviation beyond that length. Use Monte Carlo to study this.

Conclusions Experience shows that seat-of-the-pants estimates of cost and schedule are only about 75% of the actuals. This amount of error is enough to get a manager fired in many companies. Lack of hands-on experience is associated with massive cost overruns. Technical risks are associated with massive cost overruns. Do your estimates carefully! Keep them up-to-date! Manage to them!