Estimation Techniques - Nyu

convoyafternoonΛογισμικό & κατασκευή λογ/κού

13 Νοε 2013 (πριν από 3 χρόνια και 7 μήνες)

279 εμφανίσεις

Estimation Techniques
Prof. Arthur Goldberg
NYU
2
Software Effort Estimation

Questions

When will the bleeping system be done?

How much will it cost?

If I give you Joe’s team, when will it be ready?

Approaches

Little or no estimation

XP, agile programming

Estimation techniques

Function point analysis

Lister’s “Estimating Quality Factor”

Wideband Delphi
3
Function Point Analysis

A conceptual measure of software
complexity

A linear sum, approximately
Simplistically,
Function Point Count =
4 x numberOf( Internal_logical_files ) +
10 x numberOf( External_interface_files ) +
4 x numberOf( External_inputs ) +
7 x numberOf( External_outputs ) +
5 x numberOf( External_inquiries )
Definitions

Data features

Internal Logical Files
Essentially data structures or internal files

logical groupings of data in a system, maintained by an end user”

External Interface Files
Essentially configuration data or files

Groupings of data from another system that are used only for reference purposes”

Transactional features

External Inputs
A UI to the ILFs

An External Input gives the user the capability to maintain the data in ILF's through adding,
changing and deleting its contents.”

External Outputs
An output

External Inquiries

A user inputs selection information that is used to retrieve data that meets the specific criteria”
Quotes from Roger Heller, An Introduction to Function Point Analysis, http://www.qpmg.com/fp-intro.htm
5
Functional complexity modifier

The multipliers vary with complexity

Data element type (DET) count

File type reference (FTR) count

Review tables in ‘Group Programming Practices
Handout’
FP Accuracy

To +/- 10%

IFPUG study by Kemerer at MIT in 1993

Capers Jones likes

But rarely used

Most people don't know how

Most people don't like taking the trouble

Some people don't believe the results
7
FP ‘Priesthood’: International Function
Point User’s Group
www.ifpug.org

Rules Version 4.1 1999

Certified Function Point Specialist

Examination

http://www.spr.com/products/function.htm
,
http://www.spr.com/products/programming.htm
8
Backfiring

Convert SLOC to FPs

Driven by tables in ‘Group Programming
Practices Data’

About +/- 20% accurate
9
Estimating Quality Factor (EQF)

Tim Lister’s

Lister

The Atlantic Systems Guild, Inc.

Books

DeMarco and Lister, Waltzing With Bears: Managing Risk on
Software Projects. Dorset House, 2003.

DeMarco, Tom, and Timothy Lister: Peopleware: Productive
Projects and Teams. Dorset House, New York, 1999.

Seminars

Risk Management for Software

Leading Successful Projects
Software Effort Estimation
Wideband Delphi
11
Delphi History

Consensus without conflict

Invented by RAND

Santa Monica ‘thinktank’

Used to estimate nuclear bombing damage

Many other applications

Wideband Delphi

Developed by Barry Boehm in 70s; see his
Software Engineering Economics
12
Wideband Delphi Overview

Input

Specification

Outputs

Detailed task list

Estimation assumptions

Effort estimates from each participant
13
Wideband Delphi Process
Overview

Form group of experts

Estimate
: Each group member provides an
anonymous estimate

Coordinator assesses the estimates

Asks for reassessment of crazy estimates

Combines estimates

Presents combined results to experts

If combined results do not converge then goto
Estimate
14
Wideband Delphi

Benefits

Practical

Employ multiple minds; promote reasoning

Accurate estimate avoids the underestimate dilemma of “skip &
compromise quality vs. blow schedule”

Build comprehensive task list

Psycho-social

Reduce bias by influential people, or those with divergent agendas

May resolve disagreement among hostile parties


Buy-in’ of ‘stakeholders’

Other

Acknowledges uncertainty

Drawbacks / costs

Time

Takes power away from manager or ‘guru’ (their drawback)
15
Wideband Delphi - 1

Each individual develops an estimate which
is list of

Tasks

Assumption(s)

Effort

Rules

Assume you’ll do all the work

Assume uninterrupted effort
16
Wideband Delphi – 2

Moderator presents

Distribution of effort (anonymous) estimates

All task lists (or merged task lists)

All participants modify estimates
concurrently and secretly
17
Wideband Delphi

Termination—at earliest of

4 rounds

Acceptable convergence

Meeting time over

Nobody willing to change

Completion

Moderator assembles the tasks into single list

Moderator merges assumptions

Moderator combines estimates

Possibilities

Ave

Min, ave, max

Ave and std-dev
18
Practice

Is there something we can try these
techniques on?