Date post: | 20-Dec-2015 |
Category: |
Documents |
View: | 215 times |
Download: | 1 times |
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.
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