CSE Senior Design I Your Plan: Estimation Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve,

Slides:



Advertisements
Similar presentations
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Advertisements

Software project management (intro)
CS 551 Estimation Fall December QSE Lambda Protocol Prospectus Measurable Operational Value Prototyping or Modeling sQFD Schedule, Staffing,
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Management Week 6-7 Learning Objectives
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
Project Cost Estimation
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture 6: Estimation Techniques Lecturer: Hermann Lehner.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
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.
CSE Senior Design I Critical Topic Review Instructor: Manfred Huber This presentations was adapted in part from Mike O’Dell.
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Software cost estimation Predicting the resources required for a software development process 1.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
1 Estimation Function Point Analysis December 5, 2006.
CSE Senior Design I Your Plan: Estimation Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve,
Lecture 4 Software Metrics
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.
Project Planning and Estimation
Quality Software Project Management Software Size and Reuse Estimating.
Systems Analysis and Design in a Changing World, Fourth Edition
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
©1999 Addison Wesley LongmanSlide 3.1 Managing IS Projects Planning –Decomposing Project into Activities –Estimating resources –Developing a schedule –Setting.
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.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
FUNCTION POINT ANALYSIS & ESTIMATION
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Development Estimation
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
THE FAMU-CIS ALUMNI SYSTEM
Alternative Software Size Measures for Cost Estimation
Project Management Chapter 3.
Lecture 11: Scheduling, Estimation, and Prioritization
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
Software Development & Project Management
Alternative Software Size Measures for Cost Estimation
Personal Software Process Software Estimation
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.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

CSE Senior Design I Your Plan: Estimation Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve, Rapid Development, Chapter 8, further expanded on by Mr. Tom Rethard for this course.

1 2 Estimations and Scheduling  Discussion: Case Study 8.1 (pp )  Has this ever happened to you (work/school)?  What was the underlying problem?  What should Carl have done?  Estimating the job by:  Seat of the pants, or  A proven, rational process?

1 3 Overview  The Software-Estimation Story (Synopsis)  Estimation-Process Overview  Size Estimation  Effort Estimation  Schedule Estimation  Ballpark Schedule Estimates  Estimate Refinement

1 4 The Software Estimation Story *  Software/System development, and thus estimation, is a process of gradual refinement.  Can you build a 3-bedroom house for $100,000? (Answer: It depends!)  Some organizations want cost estimates to within ± 10% before they’ll fund work on requirements definition. (Is this possible?) range  Present your estimate as a range instead of a “single point in time” estimate.  The tendency of most developers is to under- estimate and over-commit! * Copyright 2007, The DSW Group Ltd.

1 5 Estimate-Convergence Graph Initial product definition Approved product definition Requirements specification Architecture design specification Detailed design specification Product complete 1.0  0.25  44 22 0.5  1.5  0.67  1.25  0.8  1.0  0.6  1.6  1.25  0.8  1.15  0.85  1.1  0.9  Project Cost (effort and size) Project Schedule High Estimate Low Estimate

1 6 Estimation vs. Control customers want more something’s gotta give  Initially, customers want more than they can afford, something’s gotta give… Product Size/Features Evolution of Project (fixed resources) Initially available resources Initially desired feature set Features Resources Evolution of Project (fixed requirements) Initially available resources Initially desired feature set Features Resources  Developers and customers must choose between estimation accuracy and project control. Product Size/Features

1 7 Cooperation, Refinement better estimates  Explain to stakeholders that you will have better estimates at each project milestone.  You can’t estimate what you don’t know. Actual Schedule Estimated Schedule Minimum actual schedule Actual schedule = Estimated Schedule Estimate too high: costs higher due to Parkinson’s law Estimate too low: costs higher due to planning inefficiencies and mistakes Estimate Convergence

1 8 Estimation-Process Overview size Step 1: Estimate the size of the product (lines of code or function points) effort Step 2: Estimate the effort (man-months) schedule Step 3: Estimate the schedule (calendar months) periodically (frequently) refine Step 4 (Meta-Step): Provide estimates in ranges and periodically (frequently) refine the ranges to provide increasing precision as the project progresses

1 9 Size Estimation  Use an algorithmic approach, that estimates a program’s size from its features  Use size-estimation software  Compare to similar projects in your organization, by pieces.  Software programs and algorithmic approaches should be calibrated to your environment.

1 10 Estimation tips  Avoid off-the-cuff  Avoid off-the-cuff estimates  Allow time for the estimate (do it right!)  Use data from previous projects  Use developer-based estimates  Estimate by walk-through  Estimate by categories  Estimate at a low-level of detail  Don’t forget/omit common tasks  Use software estimation tools  Use several different techniques, and compare the results  Evolve estimation practices as the project progresses

1 11 Function-Point Estimation  Based on number of  Inputs (screens, dialogs, controls, messages)  Outputs (screens, reports, graphs, messages)  Inquiries (I/O resulting in a simple, immediate output)  Logical internal files (Major logical groups of end-user data, controlled by program)  External interface files (Files controlled by other programs that this program uses. Includes logical data that enters/leaves program)

1 12 Function-Point Multipliers Function Points ProgramLowMediumHigh CharacteristicComplexityComplexityComplexity Number of inputs  3  4  6 Number of outputs  4  5  7 Inquiries  3  4  6 Logical internal files  7  10  15 External interface files  5  7  10 Sum these to get an “unadjusted function-point total” Multiply this by an “influence multiplier” (0.65 to 1.35), based on 14 factors from data communication to ease of installation. All of this gives a total function-point count. Use this with Jones’ First-Order Estimation Practice, or compare to previous projects for an estimate

1 Jones First-Order Estimate: Influence Multipliers General System Characteristic Brief Description 1.Data communications How many communication facilities are there to aid in the transfer or exchange of information with the application or system? 2.Distributed data processingHow are distributed data and processing functions handled? 3.PerformanceWas response time or throughput required by the user? 4.Heavily used configuration How heavily used is the current hardware platform where the application will be executed? 5.Transaction rateHow frequently are transactions executed daily, weekly, monthly, etc.? 6.On-Line data entryWhat percentage of the information is entered On-Line? 7.End-user efficiencyWas the application designed for end-user efficiency? 8.On-Line updateHow many ILF’s are updated by On-Line transaction? 9.Complex processingDoes the application have extensive logical or mathematical processing? 10.ReusabilityWas the application developed to meet one or many user’s needs? 11.Installation easeHow difficult is conversion and installation? 12.Operational easeHow effective and/or automated are start-up, back-up, and recovery procedures? 13.Multiple sites Was the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations? 14.Facilitate change Was the application specifically designed, developed, and supported to facilitate change? 13

1 14 Effort Estimation  Use estimation software to create an effort estimate directly from size estimate  Use McConnell’s schedule tables (Tables 8- 8 through 8-10)  Use your organization's historical data  Use algorithmic approach (COCOMO, Putnam)

1 15 Schedule Estimation  Rule-of-thumb equation  schedule in months = 3.0 * man-months 1/3 This equation implies an optimal team size.  Use estimation software to compute the schedule from your size and effort estimates  Use historical data from your organization  Use McConnell’s Tables 8-8 through 8-10 to look up a schedule estimate based on the size estimate  Use the schedule estimation step from one of the algorithmic approaches (e.g., COCOMO) to get a more fine tunes estimate than the “Rule of thumb” equation.

1 16 Jones’ First-Order Estimation Kind of Software Best in Class Average Worst in Class Systems Business Shrink-wrap Take the function-point total and raise it to the appropriate power. Example: 350 function points average shrink-wrap development organization  12 calendar months This method works well for quick reality checks. (No magic!) Organization’s Skills/Abilities

1 17 Ballpark Schedule Estimates  Usable, concrete information is either:  embedded in expensive software-estimation systems  in books with dozens of equations and multipliers tables  McConnell’s tables describe  systems software  business software  shrink-wrap software lines of code  Size in lines of code  Accuracy of McConnell’s tables… better than seat of the pants, but should be validated.

1 18 Shortest Possible Schedule Probability of Completing Exactly on the Scheduled Date Scheduled Completion Date Shortest possible schedule Impossible schedule This tables assumes: - Top 10% of talent pool, all motivated, no turnover - entire staff starts working on Day 1, & continue until project released - advanced tools available to everyone - most time-efficient development methods used - requirements completely known, and do not change Table 8.8 High Risk of late completion.

1 19 Efficient Schedules (Table 8-9)  This table assumes:  Top 25% of talent pool  Turnover < 6% per year  No significant personnel conflicts  Using efficient development practices from Chap 1-5  Note that less effort required on efficient schedule tables  For most projects, the efficient schedules represent “best-case”

1 20 Nominal Schedules (Table 8-10)  This table assumes:  Top 50% of talent pool  Turnover 10-12% per year  Risk-management less than ideal  Office environment only adequate  Sporadic use of efficient development practices  Achieving nominal schedule may be a 50/50 bet.

1 21 Estimate Presentation Styles  Plus-or-minus qualifiers “6 months, +3 months, -2 months”  Ranges “5-9 months”  Risk quantification “6 months month for late subcontractor, +0.5 month for staff sickness, etc...”  Cases Best caseApril 1 Planned caseMay 15 Current caseMay 30 Worst caseJuly 15  Coarse dates and time periods “3rd quarter 97”  Confidence factors April 15% May 1550% July 195%

1 22 Schedule Estimation - Example  Software Project Size and Productivity Approach Low SideHigh Side (Aggressive)(Conservative) Size Estimate10000 LOC30000 LOC Productivity400 LOC/PM200 LOC/PM Effort25 PM150 PM Duration 5 months30 months (5 person team)  McConnell Table 8-10 (p. 196), Nominal Schedule, System Product Duration10 months16 months

1 23 Schedule Estimation - Example  Rule of Thumb (Duration = 3 x PM 1/3 ) Low SideHigh Side (Aggressive)(Conservative) 3 x 25 1/3 =3 x 150 1/3 = Duration 8.8 (  9) months15.9 (  16) months # FnPts Inputs1040 Outputs525 Inquiries1040 Logical Int. Files3030 Logical Ext. Files (unadj.) Use Influence Multiplier of 1.2 Therefore: 1.2 x 149  180 adjusted fn points Assuming Nominal Skills, System Product, Jones’s First Order says: Duration = = months  Function Points, with Jones’s First Order Schedule Estimation (Medium complexity project – Table 8-2)

1 24 Schedule Estimation - Example  Basic CoCoMo Estimation Coefficients, based on project type/complexity:  CoCoMo – nominal, semi-detached Low SideHigh Side (Aggressive)(Conservative) Effort - PME = 3.0(10) 1.12 E = 3.0(30) 1.12 E = a(SLOC) b = PM= PM Duration – monthsE = 2.5(69).35 E = 2.5(136).35 D = c(E) d = 11 months= 14 months Coefficientabcd Organic Semi-detached Embedded

1 25 Schedule Estimation - Example  Comparing AggressiveConservative Size and Productivity5 months30 months McConnell Tables10 months16 months Rule of Thumb9 months16 months CoCoMo11 months14 months Function Points/Jones’s10.35 months  Sanity Test (Weiss & Wysocki, 1992) E = (O + 4M + P) / 6, where O = optimistic, M = Nominal, P = Pessimistic Therefore, our E = ( ) / 6 = 79/6 = (14) months

1 26 Estimate Refinement  Estimate can be refined only with a more refined definition of the software product  Developers often let themselves get trapped by a “single-point” estimate, and are held to it (Case study 1-1)  Impression of a slip over budget is created when the estimate increases  When estimate ranges decrease as the project progresses, customer confidence is built-up.

1 27 Estimate Refinement  Discussion: Case Study 8-2  Contrast this with Case Study 8-1  What was done right, up front  How often, and when was the estimate refined?  What was the result?

1 Recommendations  Do not depend on a single cost or schedule estimate.  Use several compare  Use several estimating techniques or cost models, compare the results, and determine the reasons for any large variations.  Document the assumptions  Document the assumptions made when making the estimates.  Monitor  Monitor the project to detect when assumptions that turn out to be wrong jeopardize the accuracy of the estimate. historical database  Maintain a historical database 28

1 29 Conclusions directly proportional  Estimate accuracy is directly proportional to product definition.  Before requirements specification, product is very vaguely defined  More effort, variety of approaches/methods  More effort, variety of approaches/methods used in estimating = better estimates.  Use ranges  Use ranges for estimates and gradually refine (tighten) them as the project progresses.  Measure progress and compare  Measure progress and compare to your historical data  Refine… Refine… Refine  Refine… Refine… Refine!!!