Dr. M. Shamim HossainSWE 211 Effort, Duration and Cost Lec 3 1.

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

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)
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.
Information System Economics Software Project Cost Estimation.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
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?
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?
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 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.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
1 Software Cost Estimation. Outline  Introduction  Inputs and Outputs  Methods of Estimation  COCOMO  Conclusion 2.
Software cost estimation Predicting the resources required for a software development process 1.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.
The Systems Development Life Cycle
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 METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
©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.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software Project Estimation IMRAN ASHRAF
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M18 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
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
Empirical Estimation Models Based upon historic data Basic Structure E = A + B * (ev) C where A, B, c are empirical constants ‘ev’ is the effort in terms.
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.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
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 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
CSE SW Project Management / Module 18 - Introduction to Effort Estimating Models Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M18.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation.
INFSY 570 DR. R. OCKER Software Project Planning.
بشرا رجائی برآورد هزینه نرم افزار.
Project Cost Management
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
Software Project Management
Constructive Cost Model
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
Chapter 26 Estimation for Software Projects
COCOMO Model Basic.
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.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
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 Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
COnstructive COst MOdel
Software Project Management
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Dr. M. Shamim HossainSWE 211 Effort, Duration and Cost Lec 3 1

Dr. M. Shamim HossainSWE Software Project Estimation You can’t manage something which you can’t measure. We need some sort of measurement for: 1. Size of the project 2. Effort and cost Estimating software projects is notoriously poor. If performance doesn’t meet estimates then either 1. the performance was poor; or 2. the estimate was poor

Dr. M. Shamim HossainSWE The Estimation Process: In general, the Software Cost estimation process consist of the following four main steps: Estimate the size of the development product Estimate the effort in staff-months Estimate the schedule in calendar months Estimate the project cost in dollars (or reals)

Dr. M. Shamim HossainSWE Size Measurement or Complexity of Software Size matters! Direct impact on staffing, duration, and budget. Size indicators: size Lines of Code (KSLOC) Function Points estimated during the requirements analysis. It takes into account the inputs and outputs of the system Feature Points  number of algorithms used in the application Object Points Number of boxes on a data flow diagram Number of classes in a design diagram

Dr. M. Shamim HossainSWE Lines of Code Calculation The most commonly used size indicator. Not the best one! Prerequisite for LOC calculations: WBS Line = statement Line = data definition Line ≠ comments Line ≠ debug code Line ≠ test cases Different languages? Convert all to assembly Use tables: C=2.5, Fortran=3, Java=6, …

Dr. M. Shamim HossainSWE Function Points Uses the functionality of the software as a measure of its complexity. Analogy: For a given house, we can say how many square meters it has (LOC) or we can say how many bedrooms and bathrooms it has (FP). A measure of the functionality of a given software.

Dr. M. Shamim HossainSWE Effort and Duration Estimation Now that we have an idea about the size of the software, we can estimate the effort and duration required to complete the development. Effort: staff-months (staff-weeks, staff-days, …) Duration: months (days, years, …)

Steps in Sizing and Estimating Dr. M. Shamim HossainSWE 2118

Dr. M. Shamim HossainSWE Effort Estimation Given the size of the software, how many staff-months are needed to complete the project? Many methods to estimate effort: COCOMO (COnstructive COst MOdel) COCOMO II SLIM (Software LIfecycle Management) These methods use historical data for estimation. COCOMO uses regression: establishes a relationship between the mean value and the corresponding values of one or more independent cases. SLIM uses the Rayleigh distribution.

Dr. M. Shamim HossainSWE Duration Estimation Wait a minute! If we know the effort in staff-months already, doesn’t duration=effort/staff-size ? For software projects, duration depends not only on staff size but also on other factors: Environment effects Life cycle and development process Class and complexity of software (db, banking, real-time, scientific, multimedia, …) … That’s why duration should be calculated using mathematical methods based on historical data. Don’t forget: throwing more resources (e.g. staff) at a project can only shorten duration up to a certain point!

Dr. M. Shamim HossainSWE Environmental Factors 14 factors: Data Communications Distributed Computing Performance Requirements Constrained Configuration Transaction Rate Reusability Ease of Operation … For a given project, each factor is rated from 0 (no effect) to 5 (highly affects).

Dr. M. Shamim HossainSWE COCOMO Based on 63 projects from the 70s. Divides projects into 3 modes and 3 levels. Modes: Organic: little innovation, few deadlines and constraints, stable environment; e.g. payroll, inventory Semiattached: some innovation, moderate deadlines and constraints, environment somewhat fluid ;e.g., compilers, editors Embedded: much innovation, tight deadlines and constraints, complex environment ;e.g., real-time systems, traffic control, weapon systems.

Dr. M. Shamim HossainSWE COCOMO Levels Different factors are taken into account at each level to achieve greater accuracy in estimates: Basic: uses size Intermediate: uses size and 15 additional variables called “cost drivers” Detailed: uses Intermediate plus phase-sensitive effort multipliers (e.g., memory constraints during testing phase) and a 3-level product hierarchy: system, subsystem, and module. Hierarchy levels similar to WBS Each cost driver affects differently at each level; e.g., language experience might apply only at the module level, whereas reliability applies at all 3 levels.

Dr. M. Shamim HossainSWE COCOMO Modes and Levels

SEG WBS Example

Dr. M. Shamim HossainSWE COCOMO Basic Effort = a  Size b Basic Organic:E = 2.4  Size 1.05 TDEV = 2.5  E 0.38 Basic Semiattached: E = 3.0  Size 1.12 TDEV = 2.5  E 0.35 Basic Embedded:E = 3.6  Size 1.20 TDEV = 2.5  E 0.32 E =Effort in staff-months b=constant derived from regression analysis based on the project TDEV=Time to Development (duration) in months (project duration estimate) Size in KLOC (1000 lines of code)

Dr. M. Shamim HossainSWE Example An 8000 LOC basic organic project takes: E = 2.4  = 21.3 ≈ 22 staff-months TDEV = 2.5  = 8.09 ≈ 8.1 months How Many developers is needed? S(average Staff)=effort/TDEV P(Productivity)=size/effort

Example Dr. M. Shamim HossainSWE A Basic Semiattached software project has been estimated, using COCOMO, to require 100 staff-days. What is the size of this software? How long will it take to complete the development of this software? (1) E = 3 * Size ^ 1.12 (2) TDEV = 2.5 * E ^ 0.35 E = 100 staff days E = 100/20 staff months (20 working days per month is standard) = 5 staff-months Therefore, subbing into (1): 5 = 3 * Size ^ /3 = Size ^ 1.12 log (5/3) = 1.12 log (Size) Size = 1.58 KLOCs TDEV = 2.5*5^.35, Therefore, duration TDEV = 4.4 months

Example Dr. M. Shamim HossainSWE Using basic COCOMO, an innovative real-time software project with tight deadlines has been estimated to take 2 years. What is the approximate size of this software? Ans: 124,000 lines of code ** Basic Organic: E = 2.4  Size 1.05 TDEV = 2.5  E 0.38 Basic Semiattached: E = 3.0  Size 1.12 TDEV = 2.5  E 0.35 Basic Embedded: E = 3.6  Size 1.20 TDEV = 2.5  E 0.32 E =Effort in staff-months TDEV=Time to Development in months Size in KLOC

Dr. M. Shamim HossainSWE COCOMO Intermediate Intermediate Organic:E = 3.2  Size 1.05  C Intermediate Semiattached: E = 3.0  Size 1.12  C Intermediate Embedded:E = 2.8  Size 1.20  C Duration same as Basic. “C” is the product of all Cost Drivers. Sometimes referred to as Effort Adjustment Factor. C = RELY  DATA  CPLX  TIME  STOR  VIRT  TURN  ACAP  AEXP  PCAP  VEXP  LEXP  MODP  TOOL  SCED What’s wrong with these adjustment factors?

Dr. M. Shamim HossainSWE COCOMO pros and cons Pros: Historical data based on real projects Repeatable Organizations can tailor the process using the adjustment factors Relatively easy to use What are some disadvantages of COCOMO? Primarily represents development from planning to implementation. It doesn’t consider maintenance, rework, porting and integration, reuse. QA and configuration management is only about 5% of the total budget, that’s not true in practice in modern projects. It assumes waterfall, as opposed to spiral life cycle. It ignores management overhead. It ignores staff turnover. It ignore customer attributes: skill cooperation, responsiveness

Dr. M. Shamim HossainSWE COCOMO II Came out in mid 90’s COCOMO fits the conventional software development Modern software developments has different characteristics: Spiral Life Cycle CASE tools for rapid prototyping object-oriented software Software reuse COCOMO II: takes CMM levels into account matches with the modern development process looks at 161 projects

Dr. M. Shamim HossainSWE Observation Given the sequence of actions that took us to this point from the beginning, what is the most influential factor in having good estimates? Requirements WBSAnalysis Design Size Effort & Duration

Task Dependency Types 24

Dr. M. Shamim HossainSWE 211 متشکرم 25