Announcements � Assignment #3 is due on Monday INF 111 / CSE 121: � Quiz #3 regrades are due today Software Tools and Methods Lecture Notes for Summer, 2008 Michele Rousseau Lecture Note 10 – Effort Estimation Lecture Notes 10 - Effort Estimation 2 Today’s Lecture Previously in INF 111/ CSE 121… � Effort Estimations � Effort Estimation ● Better Techniques ● Algorithmic Cost Modeling ◘ COCOMO � Personal Software Process (PSP) ( ) Lecture Notes 10 - Effort Estimation 3 Lecture Notes 10 - Effort Estimation 4 Basic Equation Algorithmic Cost Modeling Constant: Organizational Effort for � Cost and development time for a project Large Projects Dependent Disproportionate is estimated from an equation Estimate Vector of cost factors � Equations can come from research or E = (a + S c )m(X) (x1..xn): industry Complexity of the product, Risk, resources, methods, ● Analysis of historical data A l i f hi t i l d t tools, etc… Multiplier: ● Work best if they are tailored using Size (LOC) Reflects product, personal and organizational data process & people attributes ◘ Adjust weights of metrics based on your � Most commonly used product attribute for cost estimation environment is code size � Most models are basically similar but with different values for a,c, & m Lecture Notes 10 - Effort Estimation 5 Lecture Notes 10 - Effort Estimation 6 1
Estimate Uncertainty Problems with Algorithmic Estimation � Effort estimates are based on size ● Highly inaccurate at start of project ● Size is usually given in lines of code � Lines of code does not reflect the difficulty ● Some short programs are harder to write than long ones ● Lines of code ≠ effort ◘ Not all activities produce code N t ll ti iti d d ● Programming Language: Java vs. assembler ● Number of Components ● Distribution of the system � Recall Brooks Chapter 2 ● Effort ≠ progress As you approach delivery, ● The B exponent is an attempt to account for the size estimate becomes communication and complexity costs, but basic more accurate problem remains Lecture Notes 10 - Effort Estimation 7 Lecture Notes 10 - Effort Estimation 8 COCOMO: Some Assumptions Boehm: COCOMO Constructive Cost Model (COCOMO) � Primary cost driver � DSI � COCOMO is one of the most widely used software estimation models in the world ● Delivered Source Instructions (DSI) developed by the project � An empirical model based on project experience ● Only code developed by staff � Well-documented, ‘independent’ model which is not tied to a specific software vendor ● Excludes � Long history from initial version published in 1981 (COCOMO-81) ◘ Test drivers & other support code ◘ Comments � COCOMO II takes into account different approaches to software development, reuse, etc. ◘ Declarations ◘ Code developed by application generators � predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of ● SLOC => Single logical line of code � eg. cost drivers that affect productivity If;then;else Lecture Notes 10 - Effort Estimation 9 Lecture Notes 10 - Effort Estimation 10 COCOMO: Three Models COCOMO: More Assumptions � 3 Models reflect the complexity : � COCOMO estimates assume that the project will enjoy ● the Basic Model good management by both the developer and the customer ● the Intermediate Model ● and the Detailed Model � Assumes the requirements specification is not substantially changed after the plans and requirements phase Lecture Notes 10 - Effort Estimation 11 Lecture Notes 10 - Effort Estimation 12 2
The Development Modes: Basic COCOMO Model: Project Characteristics Estimates the software development effort � Organic Mode ● developed in a familiar , stable environment, using only a single predictor variable ● similar to the previously developed projects (size in DSI) and 3 development modes ● relatively small and requires little innovation ● Eg. Payroll system � Semidetached Mode � Semidetached Mode � When Should You Use It ? ● intermediate between Organic and Embedded ● Good for quick, early, rough order of ● Eg. Banking System magnitude estimates of software costs � Embedded Mode ● tight, inflexible constraints and interface requirements ● The product requires great innovation ● Eg. Nuclear power plant system Lecture Notes 10 - Effort Estimation 13 Lecture Notes 10 - Effort Estimation 14 Basic COCOMO Model: Example Basic COCOMO Model: Equations � We have determined our project fits the characteristics of Semi-Detached mode Mode Effort Schedule � We estimate our project will have 32,000 Delivered E=2.4*(KDSI) 1.05 TDEV=2.5*(E) 0.38 Organic Source Instructions (DSI). E=3.0*(KDSI) 1.12 TDEV=2.5*(E) 0.35 Semi- Using the formulas, we can estimate: detached � Effort = 3.0*(32) 1.12 = 146 man-months � Schedule = 2.5*(146) 0.35 = 14 months Embedded E=3.6*(KDSI) 1.20 TDEV=2.5*(E) 0.32 � Productivity = 32,000 DSI / 146 MM = 219 DSI/MM � Average Staffing = 146 MM /14 months = 10 FSP Lecture Notes 10 - Effort Estimation 15 Lecture Notes 10 - Effort Estimation 16 Comparison of Basic Formula Basic COCOMO Model: Limitations � Its accuracy is necessarily limited because of its lack of factors which have a significant influence on software costs costs � Estimates are within a factor of… � Coefficients derived using actual project data ● 1.3 only 29% of the time & ● Variability in project characteristics ● 2 only 60% of the time � At best, yield estimates that are at most 25% off, 75% of the time, for projects used to derive the model . Lecture Notes 10 - Effort Estimation 17 Lecture Notes 10 - Effort Estimation 18 3
Intermediate COCOMO Model Take a break! � Get some Coffee Estimates effort by using fifteen cost driver � Wakey-Wakey variables besides the size variable used in When we return… Basic COCOMO � When should you use it? y � More on COCOMO ● Can be applied across the entire software product for easy and rough cost estimation during the early stage ● or it can be applied at the software product component level for more accurate cost estimation in more detailed stages Lecture Notes 10 - Effort Estimation Lecture Notes 10 - Effort Estimation 20 19 Cost Drivers Intermediate Model: Effort Multipliers Four areas for drivers � Product Attributes � Table of Effort Multipliers for each of the ● Reliability, Database Size, Complexity � Computer Attributes Cost Drivers is provided with ranges ● Execution Time Constraint, Main Storage Constraint, Virtual depending on the ratings Machine Volatility, Computer Turnaround Time � Personnel Attributes P l Att ib t ● Analyst Capability, Applications Experience, Programmer Very Very Extra Capability, Virtual Machine Experience, Programming Cost Driver Low Low Nom High High High Language Experience Product � Project Attributes Complexity 0.70 0.85 1.00 1.15 1.30 1.65 ● Modern Programming Practices, Use of Software Tools, Required Development Schedule Subjective Assessments Lecture Notes 10 - Effort Estimation 21 Lecture Notes 10 - Effort Estimation 22 COCOMO Effort Equation Intermediate Model: Equations Effort = 3.0 * EAF * (KSLOC) E ● Result is in Man-months Mode Effort Schedule ● EAF � Effort Adjustment Factor E=EAF*3.2*(KDSI) 1.05 TDEV=2.5*(E) 0.38 ◘ Derived from Cost Drivers Organic ● E � Exponent E=EAF*3.0*(KDSI) 1.12 TDEV=2.5*(E) 0.35 ◘ Derived from five scale drivers Semi- • Precedentedness detached • Development Flexibility • Architecture / Risk Resolution Embedded E=EAF*2.8*(KDSI) 1.20 TDEV=2.5*(E) 0.32 • Team Cohesion • Process Maturity Lecture Notes 10 - Effort Estimation 23 Lecture Notes 10 - Effort Estimation 24 4
Recommend
More recommend