+ All Categories
Home > Documents > CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived...

CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived...

Date post: 18-Jan-2016
Category:
Upload: alexina-holland
View: 216 times
Download: 0 times
Share this document with a friend
32
CSE Senior Design I CSE Senior Design I Your Plan: Estimation Your Plan: Estimation Instructor: Manfred Huber Instructor: Manfred Huber This presentations was derived from the textbook used for this This presentations was derived from the textbook used for this class, McConnell, Steve, class, McConnell, Steve, Rapid Development Rapid Development , Chapter 8, further , Chapter 8, further expanded on by Mike O’Dell and Mr. Tom Rethard for this course. expanded on by Mike O’Dell and Mr. Tom Rethard for this course.
Transcript
Page 1: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

CSE Senior Design ICSE Senior Design I

Your Plan: EstimationYour Plan: Estimation

Instructor: Manfred HuberInstructor: Manfred Huber

This presentations was derived from the textbook used for this class, McConnell, This presentations was derived from the textbook used for this class, McConnell, Steve, Steve, Rapid DevelopmentRapid Development, Chapter 8, further expanded on by Mike O’Dell and Mr. , Chapter 8, further expanded on by Mike O’Dell and Mr.

Tom Rethard for this course.Tom Rethard for this course.

Page 2: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

2

Estimations and SchedulingEstimations and Scheduling

Discussion: Case Study 8.1 (pp. 164-165) 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?

Page 3: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

3

OverviewOverview

The Software-Estimation Story (Synopsis)Estimation-Process OverviewSize EstimationEffort EstimationSchedule EstimationBallpark Schedule EstimatesEstimate Refinement

Page 4: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

4

The Software Estimation StoryThe 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?)

Present your estimate as a rangerange instead of a “single point in time” estimate.

The tendency of most developers is to under-estimate and over-commit!

* Copyright 2007, Chris Weber, The DSW Group Ltd.

Page 5: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

5

Estimate-Convergence GraphEstimate-Convergence Graph

Initialproduct

definition

Approvedproduct

definition

Requirementsspecification

Architecturedesign

specification

Detaileddesign

specification

Productcomplete

1.0

0.25

4

2

0.5

1.5

0.67

1.25

0.81.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

High Estimate

Low Estimate

Low Estimate

Actual CostActual Cost

Page 6: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

6

Estimation vs. ControlEstimation vs. Control

Initially, customers want morecustomers want more than they can afford, somethingsomething’’s gotta gives gotta give…

Pro

duct

Siz

e/F

eatu

res

Evolution of Project(fixed resources)

Initially availableresources

Initially desiredfeature set

Features

Resources

Evolution of Project(fixed requirements)

Initially availableresources

Initially desiredfeature set Features

Resources

Developers and customers must choose between estimation accuracy and project control.

Pro

duct

Siz

e/F

eatu

res

Page 7: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

7

Cooperation, Cooperation, RefinementRefinement Explain to stakeholders that you will have better better

estimatesestimates at each project milestone. You can’t estimate what you don’t know.

ActualSchedule

Estimated Schedule

Minimum actual schedule

Actual schedule = Estimated Schedule

Estimate too high:costs higher due

to Parkinson’s law

Estimate too low:

costs higher dueto planning

inefficiencies andmistakes

Estimate Estimate ConvergenceConvergence

Page 8: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

8

Estimation-Process OverviewEstimation-Process Overview

Step 1: Estimate the sizesize of the product (lines of code or function points)

Step 2: Estimate the efforteffort (man-months)

Step 3: Estimate the scheduleschedule(calendar months)

Step 4 (Meta-Step): Provide estimates in ranges and periodically (periodically (frequentlyfrequently) refine) refine the ranges to provide increasing precision as the project progresses

Page 9: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

9

Size EstimationSize Estimation

Use an algorithmic approach, that estimates a program’s size from its features

Use size-estimation softwareCompare to similar projects in your

organization, by pieces.Software programs and algorithmic

approaches should be calibrated to your environment.

Page 10: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

10

Estimation tipsEstimation 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

Page 11: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

11

Function-Point EstimationFunction-Point EstimationBased 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)

Page 12: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

12

Function-Point MultipliersFunction-Point MultipliersFunction Points

Program Low Medium HighCharacteristic Complexity Complexity ComplexityNumber of inputs 3 4 6Number of outputs 4 5 7Inquiries 3 4 6Logical internal files 7 10 15External 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 ofinstallation.

All of this gives a total function-point count.Use this with Jones’ First-Order Estimation Practice, orcompare to previous projects for an estimate

Page 13: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3 Jones First-Order Estimate: Jones First-Order Estimate: Influence Multipliers Influence Multipliers

General System General System Characteristic Characteristic Brief DescriptionBrief 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 processing

How are distributed data and processing functions handled?

3. Performance Was 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 rate How frequently are transactions executed daily, weekly, monthly, etc.?

6. On-Line data entry What percentage of the information is entered On-Line?

7. End-user efficiency Was the application designed for end-user efficiency?

8. On-Line update How many ILF’s are updated by On-Line transaction?

9. Complex processing Does the application have extensive logical or mathematical processing?

10. Reusability Was the application developed to meet one or many user’s needs?

11. Installation ease How difficult is conversion and installation?

12. Operational ease How 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

Page 14: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

14

Effort EstimationEffort 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 dataUse algorithmic approach (COCOMO,

Putnam)

Page 15: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

15

Schedule EstimationSchedule 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.

Page 16: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

16

JonesJones’’ First-Order Estimation First-Order Estimation

Kind of Software Best in Class Average Worst in Class

Systems 0.43 0.45 0.48

Business 0.41 0.43 0.46

Shrink-wrap 0.39 0.42 0.45

Take the function-point total and raise it to the appropriate power.Example:

350 function pointsaverage shrink-wrap development organization

3500.42 12 calendar months

This method works well for quick reality checks. (No magic!)

Organization’s Skills/Abilities

Page 17: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

17

Ballpark Schedule EstimatesBallpark Schedule Estimates Usable, concrete information is either:

embedded in expensive software-estimation systems in books with dozens of equations and multipliers

McConnell’s tables tables describe systems software business software shrink-wrap software

Size in lines of codelines of code Accuracy of McConnell’s tables… better than seat

of the pants, but should be validated.

Page 18: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

18

Shortest Possible ScheduleShortest Possible Schedule

Probability ofCompleting

Exactly on theScheduled Date

Scheduled Completion Date

Shortestpossible

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.8Table 8.8High Risk of late High Risk of late

completion.completion.

Page 19: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

19

Efficient Schedules (Table 8-9)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”

Page 20: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

20

Nominal Schedules (Table 8-10)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.

Page 21: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

21

Estimate Presentation StylesEstimate Presentation Styles

Plus-or-minus qualifiers“6 months, +3 months, -2

months” Ranges

“5-9 months” Risk quantification

“6 months...+1 month for late subcontractor,+0.5 month for staff sickness,etc...”

CasesBest case April 1Planned case May 15Current case May 30Worst case July

15

Coarse dates and time periods“3rd quarter 97”

Confidence factorsApril 1 5%

May 15 50%

July 1 95%

Page 22: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

22

Schedule Estimation - ExampleSchedule Estimation - Example Software Project Size and Productivity ApproachSoftware Project Size and Productivity Approach

Low Side High Side(Aggressive) (Conservative)

Size Estimate 10000 LOC 30000 LOC

Productivity 400 LOC/PM 200 LOC/PM

Effort 25 PM 150 PM

Duration 5 months 30 months(5 person team)

McConnell Table 8-10 (p. 196), Nominal Schedule, System ProductMcConnell Table 8-10 (p. 196), Nominal Schedule, System Product

Duration 10 months 16 months

Page 23: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

23

Schedule Estimation - ExampleSchedule Estimation - Example Rule of Thumb (Duration = 3 x PMRule of Thumb (Duration = 3 x PM1/31/3))

Low Side High Side(Aggressive) (Conservative)

3 x 251/3 = 3 x 1501/3 =Duration 8.8 (9) months 15.9 (16) months

# FnPts

Inputs 10 40

Outputs 5 25

Inquiries 10 40

Logical Int. Files 3030

Logical Ext. Files 214

149(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 = 180.45 = 10.35 months

Function Points, with JonesFunction Points, with Jones’’s First Order Schedule Estimation (Medium s First Order Schedule Estimation (Medium complexity project – Table 8-2)complexity project – Table 8-2)

Page 24: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

24

Schedule Estimation - ExampleSchedule Estimation - Example

Basic CoCoMoBasic CoCoMo8181 Estimation Coefficients, based on project Estimation Coefficients, based on project type/complexity:type/complexity:

CoCoMoCoCoMo8181 – nominal, semi-detached – nominal, semi-detachedLow Side High Side(Aggressive) (Conservative)

Effort - PM E = 3.0(10)1.12 E = 3.0(30)1.12

E = a(SLOC)b = 68.45 PM = 135.36 PM

Duration – months E = 2.5(69).35 E = 2.5(136).35

D = c(E)d = 11 months = 14 months

Coefficient a b c d

Organic 2.4 1.05 2.5 0.38

Semi-detached 3.0 1.12 2.5 0.35

Embedded 3.6 1.20 2.5 0.32

Note: Also try CoCoMo-II

Page 25: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

25

Schedule Estimation - ExampleSchedule Estimation - Example

ComparingComparingAggressive Conservative

Size and Productivity 5 months 30 months

McConnell Tables 10 months 16 months

Rule of Thumb 9 months 16 months

CoCoMo 11 months 14 months

Function Points/Jones’s 10.35 months

Sanity Test (Weiss & Wysocki, 1992)Sanity Test (Weiss & Wysocki, 1992)

E = (O + 4M + P) / 6, where O = optimistic, M = Nominal, P = Pessimistic

Therefore, our E = (5 + 44 + 30) / 6 = 79/6 = 13.17 (14) months

Page 26: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

26

Schedule Estimation - ExampleSchedule Estimation - Example

Simplified Hybrid ApproachSimplified Hybrid Approach

1. Estimate sizesize using Adjusted Function Point total and

Source Lines-Of-Code per Function Point

2. Estimate efforteffort using Simplified CoCoMo (1.4 x KSLOC)

3. Estimate timetime to completion using Rule-of-Thumb

Page 27: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

27

Schedule Estimation - ExampleSchedule Estimation - Example

Lines-of-Code per Function Point*Lines-of-Code per Function Point*

*Source: Capers Jones, Software Productivity Research

Language Approximate LOC/Function Point

C 130

Java 55

C++ 50

Visual Basic 30

Power Builder 15

HTML 15

Package, e.g. Excel, Access, …

10-40

Page 28: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

28

Schedule Estimation - ExampleSchedule Estimation - Example

Our ExampleOur Example

Size: Size: Adjusted Function Points x SLOC/Function Point, Adjusted Function Points x SLOC/Function Point, assuming C++assuming C++

180 x 50 = 9000 SLOC180 x 50 = 9000 SLOC

Effort:Effort: 1.4 x KSLOC = 1.4 x 9 = 13.5 1.4 x KSLOC = 1.4 x 9 = 13.5

Time:Time: 3.0 x 13.5 3.0 x 13.51/3 1/3 = 7.14 months= 7.14 months

Page 29: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

29

Estimate RefinementEstimate 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 8-1) Impression of a slip over budget is created when

the estimate increasesWhen estimate ranges decrease as the project

progresses, customer confidence is built-up.

Page 30: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

30

Estimate RefinementEstimate 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?

Page 31: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3 RecommendationsRecommendations

Do not depend on a single cost or schedule estimate.

Use several Use several estimating techniques or cost models, comparecompare the results, and determine the reasons for any large variations.

Document the assumptions Document the assumptions made when making the estimates.

MonitorMonitor the project to detect when assumptions that turn out to be wrong jeopardize the accuracy of the estimate.

Maintain a historical databasehistorical database

31

Page 32: CSE Senior Design I Your Plan: Estimation Instructor: Manfred Huber This presentations was derived from the textbook used for this class, McConnell, Steve,

3

32

ConclusionsConclusions

Estimate accuracy is directly proportionaldirectly proportional to product definition. Before requirements specification, product is very vaguely

defined More effort, variety of approaches/methodsMore effort, variety of approaches/methods used in

estimating = better estimates. Use rangesUse ranges for estimates and gradually refine

(tighten) them as the project progresses. Measure progress and compareMeasure progress and compare to your historical

data Refine… Refine… RefineRefine… Refine… Refine!!!


Recommended