planning a software project: estimation and measurement josé onofre montesa andrés universidad...

25
Planning a software project: Estimation and Measurement José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004

Post on 20-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Planning a software project: Estimation and Measurement

José Onofre Montesa AndrésUniversidad Politécnica de

ValenciaEscuela Superior de Informática Aplicada

2003-2004

GPII-2A Planning a software project: Estimation & Measurement.

2

Effort evaluation

• Two variables:– Size of the system to be developed– Productivity of our people.

Start

Finish

Distanc

e

speed

GPII-2A Planning a software project: Estimation & Measurement.

3

Estimation problem.

• Find out the cost for developing an application .(man-month, euros, …)

• Moment when we wish to know the cost (Boehm graphic)

• It’s always wonted very soon (Yourdon)

GPII-2A Planning a software project: Estimation & Measurement.

4

Software cost estimation accuracy versus phase.

00.5

11.5

22.5

33.5

44.5

Feasi

bili

ty

Plans

and

requ

irem

ent

s

Prod

uct

desi

gn

Deta

iled

desi

gn

Deve

lopm

ent

and

test

Acc

ept

ed

soft

ware

GPII-2A Planning a software project: Estimation & Measurement.

5

Proposed estimate process.

Measure what the users

wants

Estimate the effort

Split up in stages and

tasks

Enterprise records

Requirements specifications

Effort estimation

Tasks to be done

Requirements to carry out

Measurement what the users wants

GPII-2A Planning a software project: Estimation & Measurement.

6

Measure what the user wants.

GPII-2A Planning a software project: Estimation & Measurement.

7

Effort estimation.

• Individual expertise.

• Enterprise expertise.

GPII-2A Planning a software project: Estimation & Measurement.

8

Methods used for the project estimation.

• Based on experience.• Based on Resources exclusively.• Method Based on Market exclusively.• Based on the product components or

on development process.• Algorithmic Methods

GPII-2A Planning a software project: Estimation & Measurement.

9

methods Based on experience exclusively:

• Expert judgment– Pure, – Delphi

• Analogy• Using the life cycle resource

distribution.

GPII-2A Planning a software project: Estimation & Measurement.

10

Expert judgment: Pure

• An expert studies the specifications and make his estimation.

• It is mainly based on the expert knowledge.

• If the expert disappears the enterprise stop estimating.

GPII-2A Planning a software project: Estimation & Measurement.

11

Expert judgment : Wideband Delphi

• A group of people are informed and tried to guess the development cost in effort as well as in time.

• Estimations in group are usually – better than the – individual ones.

GPII-2A Planning a software project: Estimation & Measurement.

12

Working method of Wideband Delphi

• The specifications are given to a group of experts.• They meet to discuss the product as well as

estimation.• The individual estimations are send to de coordinator.• Each estimator receives information about his

estimation and the others but anonymously.• They meet again in order to discuss their estimations.• Each one checks his own estimation and sends it to

the coordinator.• The whole process is repeated till the estimation

converge in a reasonable way.

GPII-2A Planning a software project: Estimation & Measurement.

13

Working method of Wideband Delphi

Juan *

Alicia *

José *

María *

Estimaciones

Juan *

Alicia *

José *

María *

Estimaciones

GPII-2A Planning a software project: Estimation & Measurement.

14

Analogy

• This method involves reasoning by analogy with one or more projects to relate the actual cost to an estimate of the cost of similar new project.

GPII-2A Planning a software project: Estimation & Measurement.

15

Analogy, we can take into account factors as:

• Size: larger or smaller?• Complexity: More or less complex?• Users: More users more difficulties.• Unknown factors:

• Operating software (The first time).• Hardware. Is it the first time to be used?• Project staff. Are they new to the

organization?

GPII-2A Planning a software project: Estimation & Measurement.

16

Feasibility Planning and Requirements

General Design

Detailed Design

Code Test

10% 17% 15% 15% 33% 10%

Using the life cycle resources distribution.

• Organizations often know the distribution of costs across the stages.

• If we have already achieved some stages in a project, the costs are expected to be distributed in this way.

2 m. ?

GPII-2A Planning a software project: Estimation & Measurement.

17

Method based on available resources exclusively: Parkinson

• Estimation is based on how many staff is available and how long for.

• In the development:– “Work expands to fill the – available volume”– (Parkinson Law)

GPII-2A Planning a software project: Estimation & Measurement.

18

Method based on market only: price to win.

• The important think is to get contract.

• The price is fixed according to what the client is prepared to pay.

• If it is used together with other methods it can be acceptable, to adjust the offer.

• Dangerous if it is the only method applied.

GPII-2A Planning a software project: Estimation & Measurement.

19

Method based on the product components or on development

process:• Top-Down

• The whole project is seen, it is split in large stages.

• The cost of each component is estimated.

• Bottom-up• The project is split up in smaller as possible

units. • Each unit is estimated and the total cost is

calculate.

GPII-2A Planning a software project: Estimation & Measurement.

20

Application to be

developed

Cost

...

Characteristics f(x)x

y

z

vu

Algorithmic methods

• Provide one or more algorithms which produce a software cost estimate as a function of a number of variables which are considered to be the major cost drivers from a top down or bottom up view

GPII-2A Planning a software project: Estimation & Measurement.

21

COCOMO: The constructive cost model

• The variables user are thinks like:– The size of the product in lines of code,– The development environment...

• Organic, There are two more.– Nominal-effort = 3.2 (KLOC)1.05

– Schedule = 2.5 (MM)0.38

GPII-2A Planning a software project: Estimation & Measurement.

22

COCOMO

• Determine effort multipliers:– B.D. Size, analyst experience, tools , …

(15 total, vary from 0.75-1.66)

• Effort estimation with corrections.• Related factors estimation ($, phase

elapsed time ,…)

GPII-2A Planning a software project: Estimation & Measurement.

23

Function Point analysis

• To be applied on the first phases of the development.

• It is mainly based on “external” characteristics of the application to be developed.

• It measures two characteristic types:– The function elements (inputs, outputs,

files) – The complexity factors.

GPII-2A Planning a software project: Estimation & Measurement.

24

Required effort estimation.

• We use historical data on previous projects.

• Effort = PFA*Average_cost_FP(Language)

GPII-2A Planning a software project: Estimation & Measurement.

25

Required effort estimation

Nombre Proyecto Puntos de Función Lenguaje Esfuerzo en horas

Sénia 200 COBOL 5.017

Mijares 300 PASCAL 5.410

Paláncia 150 PASCAL 2.569

Turia 375 4GL 3.011

Albufera 500 PASCAL 9.479

Magro 425 4GL 3.342

Cabriel 800 PASCAL 13.349

Júcar 180 PASCAL 2.800

Serpis 325 4GL 2.541

Montnegre 225 PASCAL 4.528

Vinalopó 310 PASCAL 5.628

Segura 470 COBOL 13.218