• Keine Ergebnisse gefunden

Manual Techniques, Rules of Thumb

N/A
N/A
Protected

Academic year: 2021

Aktie "Manual Techniques, Rules of Thumb"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Manual Techniques, Rules of Thumb

Seminar on Software Cost Estimation WS 2002/2003

Pascal Ziegler

Manual Techniques,

Rules of Thumb

(2)

2

Manual Techniques, Rules of Thumb

Introduction

• good software measurement and estimation are important

• simple methods are widely used

• simple, but not very accurate

• can be calculated mentally or with a pocket calculator

(3)

Manual Techniques, Rules of Thumb

• Early estimates before requirements are known

• Small projects needing only one or more programmers

• Low-value projects with no critical business impacts Where manual estimation techniques are useful:

(4)

4

Manual Techniques, Rules of Thumb

• Contract purpose for software development or maintenance

• Projects larger than 100 function points or 10'000 source code statements

• Projects with significant business impact

Where manual estimation techniques are NOT useful :

(5)

Manual Techniques, Rules of Thumb

Content

[Boehm81] Boehm, B. (1981). Software Engineering Economics.

Englewood Cliffs, N.J.: Prentice Hall.

Other manual techniques (B. Boehm)

[Jones98] Jones, T.C. (1998). Estimating Software Costs.

New York : McGraw-Hill.

&

&

Function Point Sizing Rules of Thumb

(6)

6

Manual Techniques, Rules of Thumb

Productivity Quality

In Any Known

Programming Language

In Any Combination of Language

All Class of Software

Discussions with Clients

Software Contracts

Large-scale Statistical Analysis

Value Analysis

see [Jones98], p182

Design Goals of FP

(7)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Sizing function point totals prior completion of requirements

• FP cannot be calculated accurately until the requirements analysis is terminated

• Method for estimating a rough approximation of FP total

• Three kind of factors: Scope, Class, Type

• A rough sizing method:

Three Steps:

Apply the numeric list values to the project to be sized in terms of the scope, class, and type factors.

Sum the numeric values from the three lists.

Raise the total to the 2.35 power.

(8)

8

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Examples:

Client/server application:

Step 3

182.35 = 891 Step 2

Sum = 18 Step 1

Scope = 6 (standalone program) Class = 4 (internal-single site) Type = 8 (client/server)

Personal application:

Step 3 62.35 = 67 Step 2

Sum = 6 Step 1

Scope = 4 (disposable prototype) Class = 1 (individual software) Type = 1 (nonprocedural)

(9)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Estimation Methods derived from Function Points

• different metrics based on function points

• Capers Jones describes 12 rules

(10)

10

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 1 - Sizing source code volumes:

One function point = 320 statements for basic assembly language One function point = 213 statements for macro assembly language One function point = 128 statements for the C programming language One function point = 107 statements for the COBOL language

One function point = 107 statements for the FORTRAN language One function point = 80 statements for the PL/I language

One function point = 71 statements for the ADA 83 language One function point = 53 statements for the C++ language

One function point = 15 statements for the Smalltalk language

LOC FP

Programming style and programming language can vary the results significantly!

(11)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 2 - Sizing Software Plans, Specifications, and Manuals:

Function points raised to the 1.15 power predict approximate page counts for paper documents associated with software projects.

• Software development is very paper intensive.

• For large systems: The documentation costs more than the coding.

“For a few really large systems in the 100’000-function point range, the specifications can actually exceed the lifetime reading speed of a single person, and could not be finished even by reading 8 hours a day for a entire career!” [Jones98], p192

(12)

12

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 3 - Sizing Creeping User Requirements:

Creeping user requirements will grow at an average rate of 2 percent per month from the design through coding phases.

Creeping User Requirements:

• serious problem

• additional expense

• to avoid disagreement => specify in contract

• time-dependent => the later the changes, the bigger the costs

(13)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 4 - Sizing Test-Case Volumes:

Function points raised to the 1.2 power predict the approximate number of test cases created.

Sum of the number of all test cases unit testing

new function testing system testing

….

=

(14)

14

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 5 - Sizing Software Defect Potentials:

Function points raised to the 1.25 power predict the approximate defect potential for new software projects.

Major kinds of error:

1. Requirements errors 2. Design errors

3. Coding errors

4. User documentation errors

5. Bad fixes, or secondary errors introduced in the act of fixing a prior error

Example:

• personal application: 70 FP

• 701.25 = about 200 bugs

(15)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 6 - Sizing Testing Defect-Removal Efficiency:

Each software test step will find and remove 30 percent of the bugs that are present.

Step Bugs 30% of the Bugs

1 200 60

2 140 42

3 98 29

4 69 21

5 48 14

6 34 10

7 24 7

8 16 5

9 12 3

10 8 2

Example:

=> low efficiency

#

(16)

16

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 7 - Sizing Formal Inspection Defect Removal Efficiency:

Each formal design inspection will find and remove 65 percent of the bugs present.

Each formal code inspection will find and remove 60 percent of the bugs present.

Formal Inspection:

• higher efficiency

• not cheap

• best ROI

(17)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 8 - Postrelease Defect-Repair Rates:

Maintenance programmers can repair 8 bugs per staff month.

Maintenance repair rate:

• has been around the software industry for more than 30 years

• Good defined process and tools => improve this value

(18)

18

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rules of Thumb for Schedules, Resources, and Costs

• important topic for clients, project managers, software executives

• just rough approximations!

Rule 9 - Estimating Software Schedules:

Function points raised to the 0.4 power predict the approximate development schedule in calendar months.

Example:

MS Word = about 5000 FP

Rule 9: 5000 FP 0.4 = about 30 calendar months

(19)

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 10 - Estimating Software Development Staffing Levels:

Function points divided by 150 predict the approximate number of personnel required for the application.

Rule 11 - Estimating Software Maintenance Staffing Levels:

Function points divided by 750 predict the approximate number of maintenance personnel required to keep the application updated.

Example:

MS Word = about 5000 FP

Rule 9: 5000 FP 0.4 = about 30 calendar months Rule 10: 5000 FP / 150 = 33,3 full-time personnel

(20)

20

Manual Techniques, Rules of Thumb

Function Point Sizing Rules of Thumb

Rule 12 - Estimating Software Effort:

Multiply software development schedules by number of personnel to predict the approximate number of staff months of effort.

Example:

MS Word = about 5000 FP

Rule 9: 5000 FP 0.4 = about 30 calendar months Rule 10: 5000 FP / 150 = 33,3 full-time personnel

Rule 12: 30 months * 33,3 personnel = about 999 staff months

(21)

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Further Manual Software Cost-Estimation Methods

• Expert Judgment: Delphi Technique

• Parkinsonian Estimation

• Price-to-win Estimation

• Top-Down Estimation

• Bottom-Up Estimation

(22)

22

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Expert Judgment

= one ore more experts hand in an estimation

+ Expert is able to factor in the difference between past and future projects.

+ Personal characteristics and interactions

- Depends on the objectivity

(23)

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Coordinator presents a specification and an estimation form

Experts fill out forms anonymously.

Coordinator prepares a summary.

Standard Delphi Technique Wideband Delphi Technique

Estimation

Group meeting

Experts fill out forms anonymously.

Coordinator prepares a summary.

Estimation

(24)

24

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Estimation by Analogy

• Compare with other similar projects

• Example: 10000 CHF + 2000 CHF - 1000 CHF = 11000 CHF

+ based on experience

- correlation to older projects not clear

(25)

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Parkinsonian Estimation

Cost estimation = available resource

Price-to-win Estimation

Cost estimation = customers budget

“The price-to-win technique has won a large number of software contracts for a large number of software companies. Almost all of them are out of business today.”

NOT RECOMMENDED!!

(26)

26

Manual Techniques, Rules of Thumb

Further Manual Software Cost-Estimation Methods

Overall Cost

Component Component Component

Overall Cost

Component Component Component

Top-Down Estimation Bottom-Up Estimation

+ focus on system level

- difficult to recognize low-level technical problems

+ component is estimated by the responsible person

- missing system level focus

(27)

Manual Techniques, Rules of Thumb

Conclusion

• Rules of Thumb are not accurate!

• We have seen different simple tools.

It is important to question the

result of such estimations and

to compare it with other values!

Referenzen

ÄHNLICHE DOKUMENTE

In the preceding section, we have seen that a voting mechanism leads to higher transfers if and only if it is coupled with electoral promises con- cerning the future choices

The randomly seleted president deides on how to distribute 100 points. among the itizens in his group

Methods Inpatient mortality, dysphagia, severity of burn injury (ABSI, TBSA) and complications in tracheotomized burn patients were compared to (I) non-tracheotomized burn

Fatty acid profiles were analysed in 76 herbage samples from 14 dairy farms situated in contrasting climatic zones in Switzerland to document changes in the nutrient and fatty

After calculating water treatment costs, the total OPEX of the Bockfließ Area were calculated, based on the gross production rate increase of pre- defined wells defined by the

The impacts of lateral movement of soil organic carbon (SOC) by soil erosion on global carbon (C) cycling and climate change have been the subject of a controversial debate

In this paragraph, we shall combine t h e general dynamics of 4.1 with an optimality criterion including a more general 'cost' function.. b) Dtpensatory case;the

This Policy Brief synthesises the main findings and policy recommendations put forward in the CEPS e-book “The Triangular Relationship between Fundamental Rights, Democracy and Rule