CSE 7315 - SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315 v3.0.

Slides:



Advertisements
Similar presentations
Design of Experiments Lecture I
Advertisements

Programming Types of Testing.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M30 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
The Comparison of the Software Cost Estimating Methods
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
GPII-2A Planning a software project: Estimation & Measurement.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
HIT241 - COST MANAGEMENT Introduction
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 CHAPTER M4 Cost Behavior © 2007 Pearson Custom Publishing.
Models for Software Reliability N. El Kadri SEG3202.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Section 8.1 Estimating  When  is Known In this section, we develop techniques for estimating the population mean μ using sample data. We assume that.
Software cost estimation Predicting the resources required for a software development process 1.
LECTURER PROF.Dr. DEMIR BAYKA AUTOMOTIVE ENGINEERING LABORATORY I.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M14 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
1 CS 391L: Machine Learning: Experimental Evaluation Raymond J. Mooney University of Texas at Austin.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M11 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Applied Software Project Management LESSON 3: ESTIMATION Applied Software Project Management 12:02:37 PM 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 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.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #4 Software Engineering.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 3, Lecture 1.
6.1 Inference for a Single Proportion  Statistical confidence  Confidence intervals  How confidence intervals behave.
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.
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.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M18 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
CSE SW Project Management / Module 20 - More Effort Estimation Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M20 Slide.
Chapter 1 Introduction. Chapter 1 -- Introduction2  Def: Compiler --  a program that translates a program written in a language like Pascal, C, PL/I,
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
CSE SW Project Management / Module 13 - Function Points and Related Methods Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M13.
CSE SW Measurement and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M15 version 5.09Slide 1 SMU CSE.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
CSE SW Project Management / Module 10 - WBS Construction Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M10 Slide 1 January.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M37 8/20/2001Slide 1 SMU CSE 8314 /
CSE SW Project Management / Module 30 - Managing with Earned Value / Measurement Issues Copyright © , Dennis J. Frailey, All Rights Reserved.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M21 - 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.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
CSE SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M14.
CSE SW Project Management / Module 11 - Overview of Size Estimating Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M11 Slide.
CSE SW Project Management / Module 19 - Some Popular Effort Estimation Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M19.
CSE SW Project Management / Module 18 - Introduction to Effort Estimating Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M18.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M20 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Chapter 5: Software effort estimation
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 8/8/2004 Day 2, Part 1 Estimating Software Size Section 1 Estimating.
INFSY 570 DR. R. OCKER Software Project Planning.

Two-Sample Hypothesis Testing
Software Cost estimation
Chapter 5: Software effort estimation
Software Metrics “How do we measure the software?”
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Presentation transcript:

CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 1 January 7, 2004 SMU CSE 7315 / NTU SE 584-N Planning and Managing a Software Project Module 12 Size Estimating Methods Part 1 - Analogy and Expert Methods

CSE7315 v3.0 M12 Slide # 2 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Objective of This Module To discuss several basic size estimating methods based on analogy or expertise

CSE7315 v3.0 M12 Slide # 3 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Detailed Planning - Processes Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost ScheduleOK Complete Detailed Planning Revise & Negotiate Not OK Estimate Size Estimate Effort and Cost

CSE7315 v3.0 M12 Slide # 4 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Architecture of Spreadsheet for assignments 3 and 4 Cocomo Based Effort Estimate Other Effort Estimates... Analogy based Size Estimate Software Reuse Analysis Size / Reuse EffortEffort & Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Other Size Estimates... Final Size Estimate Expert Based Size Estimate

CSE7315 v3.0 M12 Slide # 5 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Size Estimating Method #1: Compare with Existing Code If you have existing software that is similar to the code being developed, you have a good way to estimate the size of the new code This is a bottom-up, analogy method

CSE7315 v3.0 M12 Slide # 6 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Compare With Past Experience Knowledge or experience on a similar system can be a good starting point

CSE7315 v3.0 M12 Slide # 7 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved If the New Code Is Not Identical... Indicate your level of confidence in the estimate, or Compute three different numbers – Minimum – Likely – Maximum These techniques help you understand the level of risk in the estimate

CSE7315 v3.0 M12 Slide # 8 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Example

CSE7315 v3.0 M12 Slide # 9 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Guideline for Min and Max Guideline: the chances of the actual size being less than the minimum or greater than the maximum should be very low -- less than 1 chance in 300 (we will see why later)

CSE7315 v3.0 M12 Slide # 10 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved You Might Also Add a Column to Document the Size of the Code in Memory... Estimated SizeRequired...MinLikelyMaxMemoryComment Identical Slightly more advanced Simpler Convert C to Ada etc.etc.etc.etc.etc.etc.

CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 11 January 7, 2004 See Appendix A For Issues Related to Accurate Estimation of Memory Size

CSE7315 v3.0 M12 Slide # 12 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Sources of Inaccuracies with Method 1 L -- Different Programming Languages C -- Different Levels of Complexity F -- Different Functionality D -- Different Application Domain A -- Different Algorithms R -- Different Level of Reality – Simulation vs. Actual Application; Simulation vs. Emulation

CSE7315 v3.0 M12 Slide # 13 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved One View of the Risks Involved RiskSameDifferentNote LowestL, A, D, R, C, F NothingReuse of Old SW...A, D, R, C, FLanguageReuse of Old Design...A, D, C, FL, ROld was Simulated...L, D, R, C, FAlgorithmsCan have big impact...D, R, C, FA, LMultiple changes...D, C, FA, L, R“ Highest D, FA, L, R, C “ I.e., changing language is the least risky; changing algorithms or functions is more risky; changing more than one of these is even more risky

CSE7315 v3.0 M12 Slide # 14 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Programming Language Size Comparison Given the same program written in different languages, how does it compare in source lines of code (NOT size of object code)? There are many studies of this with different results, thus all such data must be taken as only a general guide

CSE7315 v3.0 M12 Slide # 15 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Programming Language Size Comparison (continued) Ideally, you should develop your own data based on your own type of application Data on next slide come from: Jones, T. Capers, Programming Productivity, McGraw Hill, 1986.

CSE7315 v3.0 M12 Slide # 16 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Language vs. Size From\ToBasicAdaPascalCobolFortranJovialC Assemb Basic Ada Pascal Cobol Fortran Jovial C Assemb I.e., 1 line of Basic takes 5 lines of assembly language, etc.

CSE7315 v3.0 M12 Slide # 17 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Factors that Cause the Previous Numbers to Vary Quality of compiler (compactness of code produced) Style and quality of source code Use of language-specific features that may not be present in other languages

CSE7315 v3.0 M12 Slide # 18 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Factors that Cause the Previous Numbers to Vary (continued) Experience of programmer with language Subroutine libraries available The nature of the application Others? (Class Discussion)

CSE7315 v3.0 M12 Slide # 19 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Quiz If a 100 line Ada program translates to 500 lines of assembly Then a 500 line assembly program should translate into 100 lines of Ada Right? or Wrong? DISCUSSION

CSE7315 v3.0 M12 Slide # 20 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Warning Lines of assembly are not equivalent to bytes or words of target machine memory Some assembly lines generate more target space than others But ratio of source lines to target space is more reliable in assembly language than it is in high level languages

CSE7315 v3.0 M12 Slide # 21 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Which Lines of Code do you Count? Jones’ translation table counts only source statements and data declarations Most cost estimating tools use this approach as well Comments should translate 1-1, if you count them

CSE7315 v3.0 M12 Slide # 22 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved So Isn’t There Something Better than Lines of Code? You can argue about this all day We will show examples of alternatives - function points, feature points, and object points The most important thing is not what you measure, but how consistently you measure it and how well it represents your type of application

CSE7315 v3.0 M12 Slide # 23 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved So Isn’t There Something Better than Lines of Code? (continued) Much of the debate over “better” methods than lines of code has to do with how well a specific method happens to fit a given collection of data Consider: how do you measure the size of a house?

CSE7315 v3.0 M12 Slide # 24 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved An Example from a Study in England Software was rewritten from Cobol to C++ Design technique was changed from “none” to “object oriented” The size went down by 30% when measured by lines of code - because they designed it better

CSE7315 v3.0 M12 Slide # 25 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved An Example from a Study in England (continued) But the functionality and quality went up The cost per line of code was 10% higher! An apparent loss in productivity - but not really -- it was actually about a 20% improvement!

CSE7315 v3.0 M12 Slide # 26 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Don Riefer’s Suggestion The most important thing to do is to develop a “line of code counter” program and use it consistently to measure the size of all software that you develop It does not matter nearly as much how you count lines of code (but it may take you longer to agree than it will to write the program)

CSE7315 v3.0 M12 Slide # 27 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Method #2 - Wideband Delphi Method This is a disciplined method of using the experience of several people to reach an estimate that incorporates all of their knowledge This method can also be used to estimate cost directly (see Humphrey - Textbook) This is an expert judgment method

CSE7315 v3.0 M12 Slide # 28 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Big Picture of Wideband Delphi Steps Meeting 1 – Inform the Experts Step 3-4 – Experts form Independent Opinions Steps Meeting 2 – Experts Meet and Compare Estimates – Experts Seek Consensus Step 12 – Consolidate the Data

CSE7315 v3.0 M12 Slide # 29 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 1 1) Get a few experts (typically three to five) – Include experience in all of the “risk” areas e.g. application domain, programming language, algorithms, target hardware, operating system, etc.

CSE7315 v3.0 M12 Slide # 30 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 1 (continued) 2) Discuss issues and describe the software to the experts – Specifications, source documents, WBS, etc. – Let them add their own info, questions, etc. – All take notes

CSE7315 v3.0 M12 Slide # 31 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Between Meetings 3) Each expert develops an estimate – Independent and anonymous 4) Record estimates anonymously – Usually done by a facilitator x xx x x

CSE7315 v3.0 M12 Slide # 32 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 5) Meet and have each expert discuss his/her estimate – Assumptions – Rationale x xx x x

CSE7315 v3.0 M12 Slide # 33 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 6) Seek consensus on assumptions, etc. – May result in action items to gather factual data 7) Each expert updates his or her estimate based on the new information 8) Record the new estimates x x x x x

CSE7315 v3.0 M12 Slide # 34 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 9) Discuss again – Typically, new questions will come up – But this round is typically much shorter 10) Repeat from step 7 until you reach a consensus x x x x x

CSE7315 v3.0 M12 Slide # 35 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method - Meeting 2 (continued) 11) If no consensus, break until you can gather additional data, then repeat from step 7

CSE7315 v3.0 M12 Slide # 36 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method (Concluded) Stop repeating when either: a) The experts agree on an estimate, OR b) There is no significant change in the estimate over two consecutive cycles and no significant additional data are available At the end, you have a consensus estimate on the expected value. You should also agree on the degree of confidence (i.e., the risk) in the estimate.

CSE7315 v3.0 M12 Slide # 37 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Wideband Delphi Method Consolidation Step 12) Gather all of the detailed estimates and resolve remaining issues – Major discrepancies between experts’ views on individual components – Unknowns that can be resolved by gathering data – Assumptions that can be verified

CSE7315 v3.0 M12 Slide # 38 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Advantages of Wideband Delphi Method Takes advantage of the expertise of several people All participants become better educated about the software Buy-in to final estimate Does not require historical data (although it can be useful input if it is available)

CSE7315 v3.0 M12 Slide # 39 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Drawbacks of Wideband Delphi Method You can reach consensus on an incorrect estimate – Because you all “buy in”, you may not be skeptical enough when actual data shows the estimate is wrong You can develop a false sense of confidence You may fail to reach a consensus

CSE7315 v3.0 M12 Slide # 40 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Method #3: Prototyping Build a prototype of the software, including certain important functions – especially those whose size is unknown Use the prototype to answer questions raised by other estimating methods Then revisit previous estimates with the new information

CSE7315 v3.0 M12 Slide # 41 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Method #4: Statistical Method (1) This is really a method of evaluating the results of other methods to determine the level of uncertainty and risk (1) Boehm, Barry, Software Engineering Economics, Prentice- Hall. Also in Software Cost Estimation with Cocomo II. Note: every software organization should have at least one copy of one of these books.

CSE7315 v3.0 M12 Slide # 42 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Statistical Method Formula This method is designed to tell you something about the most probable or “expected” size, given the minimum, likely, and maximum values developed by earlier methods For each component, the expected size is: Expected = min + 4*likely + max 6

CSE7315 v3.0 M12 Slide # 43 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Notes on the Statistical Method The method is only valid from a statistical viewpoint if the min and max values cover 3 standard deviation limits This means that the probability of the actual size being inside these limits is 99.7% or 99.7 times out of 100 (i.e., 299 times out of 300)

CSE7315 v3.0 M12 Slide # 44 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Notes on the Statistical Method (continued) The “3 standard deviations” assumption must be taken into consideration when people estimate min and max “Are you reasonably confident that the chances of being below min or above max are less than 1 in 300?”

CSE7315 v3.0 M12 Slide # 45 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Calculations Standard Deviation for component i is: max i - min i  i = Standard Deviation for whole product is: ______  = \ / E  i 2 The above formulas assume min and max represent 3 sigma limits (1 chance in 300)

CSE7315 v3.0 M12 Slide # 46 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Normal Distribution Curve Value of Product Characteristic Number of Products with This Value 68.26% of the time, results are within 1 sigma of the mean 95.44% of the time, results are within 2 sigma of the mean 99.7% of the time, results are within 3 sigma of the mean + 1  - 1  + 2  Likely (mean) Max Min

CSE7315 v3.0 M12 Slide # 47 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Example of the Statistical Method ComponentMinimumLikelyMaximumExpected  File System User I/F I/O Package Parser TOTAL # 3354 # 68.3% chance the result will be between and (1 sigma) 95.4% chance the result will be between and (2 sigma) 99.7% chance the result will be between and (3 sigma) # --  may be see next several slides

CSE7315 v3.0 M12 Slide # 48 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Two Ways to Compute the Expected Value of the Total and  First way: use statistical formula on the total line Expected E = E min + 4* E likely + E max 6

CSE7315 v3.0 M12 Slide # 49 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Notes on First Way Statistically, this is the expected value for the whole system, assuming the components are independent of each other. And the Standard Deviation (  ) applies to the whole system, assuming components tend independently toward their individual expected values.

CSE7315 v3.0 M12 Slide # 50 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Second Way Use the sum of the individual expected values  Expected E = E Expected i E max i - E min i  =

CSE7315 v3.0 M12 Slide # 51 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Notes on Second Way In this case the values represent the best and worst cases of the individual components and the standard deviation assumes best & worst cases

CSE7315 v3.0 M12 Slide # 52 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Warning --- Assumptions The statistical method has statistical validity only if the estimates are reliable and min/max meet the conditions described before (1 chance in 300) The method also assumes each component is independent

CSE7315 v3.0 M12 Slide # 53 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Warning --- Assumptions (continued) Thus in many cases the statistical validity may be questionable But the standard deviation still gives a measure of the risk inherent in the size estimate

CSE7315 v3.0 M12 Slide # 54 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Module Summary Size estimates help you estimate effort and memory size They can also be helpful for tracking (this will be shown in later modules) Most estimating methods benefit from past experience or history data Units of size must be chosen based on availability of data in those units

CSE7315 v3.0 M12 Slide # 55 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved END OF MODULE 12

CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315 v3.0 M12 Slide 56 January 7, 2004 Appendix A Issues Related to Accurate Estimation of Memory Size (object code size)

CSE7315 v3.0 M12 Slide # 57 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Issues for Estimating Memory Requirements (Size of Object Code, etc.) Source language – The higher the level, the more memory required per “line of code” Compiler – Compilers can be optimized for speed or space – Some compilers are not very good; others are very good

CSE7315 v3.0 M12 Slide # 58 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Issues for Estimating Memory Requirements (continued) Target machine – RISC architectures require more memory than others Run-time libraries and environments – These can vary greatly with the language and the way the program is designed Operating system

CSE7315 v3.0 M12 Slide # 59 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Translation Process Operating System Object Code Compiler C or Ada Source Code Object Code Assembler Assembly Source Code Run Time Library Memory

CSE7315 v3.0 M12 Slide # 60 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size Compiler or Assembler Target Computer and Operating System Representative Software Modules Representative Object Code b bytes of memory m lines of code b/m = bytes per line of code

CSE7315 v3.0 M12 Slide # 61 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size - Part 1 Determine the compiler and target system Develop some representative software modules for different functions Compile using the planned compiler for the planned target system

CSE7315 v3.0 M12 Slide # 62 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Part 1 - Notes Note how important it is to know what the compiler and the target system will be If these are subject to change, be sure to record this as a risk and plan to re-estimate size if they change

CSE7315 v3.0 M12 Slide # 63 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Best Way to Determine Object Code Size - Part 2 Determine the ratio of source lines to target lines, with the compiler you will be using b/m = bytes per line of code

CSE7315 v3.0 M12 Slide # 64 January 7, 2004 CSE SW Project Management / Module 12 - Size Estimating Methods Part 1 Copyright © , Dennis J. Frailey, All Rights Reserved Part 2 - Notes If the ratio varies a lot from one sample to another, try some additional representative software modules until you get a reasonably consistent range of values Use this ratio for estimating target size based on lines of source code