Está en la página 1de 44

This material is approved for public release.

Distribution is limited by the


Software Engineering Institute to attendees.

Sponsored by the U.S. Department of Defense
2006 by Carnegie Mellon University
PSP I Estimacin con PROBE I - 1
Personal Software Process

Estimacin con PROBE I
SM
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 2
Tpicos
Revisin de la Planificacin

Por qu estimar el tamao?

Principios de estimacin del tamao

El mtodo de estimacin PROBE

Tamao de la estimacin de proxies

Examples de Estimacin
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 3
Revisin de la Planificacin
Planes
Permitir realizar compromisos que se puedan cumplir
Proveer las bases para acuerdos sobre el mbito del
trabajo, cronograma y recursos
Guiar el trabajo
Facilitar el progreso del seguimiento y reportes
Ayudar a asegurar que las tareas claves no se pasen
por alto
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 4
El Framework de Planificacin del
Proyecto
Product
delivery
Tracking
reports
Define
requirements
Produce
conceptual
design
Estimate
size
Estimate
resources
Produce
schedule
Develop
product
Size, resource,
schedule
data
Process
analysis
Resources
available
Size
database
Productivity
database
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 5
El Proceso de Planificacin
Antes de realizar el plan, se debe de tener un requisito.
Entre mejor sea el requisito, mejor el plan
Con requisitos mal definidos, espere realizar frecuentes
actualizaciones del plan.

Planes son ms precisos cuando estn basados en
estimaciones del tamao e informacin histrica.

Con una estimacin del tamao e informacin histrica, se
puede
Identificar la informacin
Identificar la informacin de la mayora de los trabajos
anteriores.
Basar la estimacin del recurso sobre esta informacin
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 6
Principios de Estimacin del
Tamao -1
Estimacin es un proceso incierto.
Nadie sabe cuan grande ser el producto
Entre ms temprana la estimacin, es menos
conocida.
Estimacin puede ser influenciada por negocios y otras
presiones.

Estimacin es un proceso de aprendizaje intuitivo.
Mejora de habilidades con experiencia e informacin.
Algunas personas sern mejores al estimar que otras.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 7
Estimacin es una habilidad.
La mejora puede ser gradual
Nunca podr ser muy buena


El objetivo es llegar a ser consistente.
Entender la variabilidad de sus estimaciones
Buscar un balance entre sub y sobreestimado
Principios de Estimacin del
Tamao -2
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 8
Estimaciones Balanceadas
Mayormente son sub
estimaciones




Balancear sobre y sub
estimaciones



Muchos balances
ajustados alrededor de
cero
PSP 0
PSP 1
PSP 2
100% 0% - 100% - 200% 100% 0% - 100% - 200%
0
20
40
0
20
40
100% 0% - 100% - 200% 100% 0% - 100% - 200%
0
20
40
0
20
40
100% 0% - 100% - 200% 100% 0% - 100% - 200%
0
20
40
0
20
40
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 9
Las ventajas de usar mtodos de estimacin definidos
son aquellas que:
Se tienen prcticas conocidas que se pueden mejorar
Tienen un framework para recolectar informacin de
estimacin
Pueden consistentemente usar informacin histrica
para producir estimaciones balanceadas
Principios de Estimacin del
Tamao -3
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 10
PSP usa el mtodo PROBE para estimar y planificar
proyectos.

PROBE sirve de apoyo para la estimacin basada en
PROxy.

PROBE usa proxies para estimar el tamao del programa
y el tiempo de desarrollo.

Un buen proxy ayudar a realizar estimaciones precisas.
Estimando con PROBE
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 11
El Mtodo de Estimacin PROBE
Conceptual
design
Start
Identify and size the proxies
Number of
items
Part
Type
Relative
size
Reuse
categories
Estimate other
element sizes
Estimate
program size
Calculate
prediction interval
Size estimate
and range
Estimate
resources
Calculate
prediction interval
Resource estimate
and range
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 12
Diseo Conceptual -1
El primer paso de estimacin es hacer un diseo
conceptual.
Relacionar los requisitos para el producto
Definir los elementos del producto que producirn las
funciones deseadas
Estimar el tamao de lo que se planea construir

Para muchos proyectos, el diseo conceptual puede ser
relativamente producido rpidamente.

Para los programas de los ejercicios de PSP, intenta
limitar el tiempo del diseo conceptual a 10, o a los
mucho 20 minutos.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 13
Diseo Conceptual -2
Para realizar un diseo conceptual, identificar las
funciones del producto y las partes del programa
necesarias para producirlas.

De hecho, dices: Si tuviera las siguientes partes, podra
construir este producto.

Entonces, compara estas partes para programas que
tienes ya escritos y estima sus tamaos.

Finalmente, combina las partes estimadas para obtener el
tamao total.

Si no entiendes el producto bastante bien para realizar un
diseo conceptual, no sabes lo suficiente para hacer un
plan.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 14
Tamao de la estimacin de Proxies -1
La cuestin bsica
Buenas medidas de tamao son detalladas.
Es generalmente difcil visualizar detalles iniciales del
producto en un proyecto.

Alternativas
Esperar a estimar hasta que se tenga el detalle.
Realiza tu mejor conjetura
Identificar un proxy apropiado
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 15
Tamao de la estimacin de Proxies -2
Un buen proxy debera correlacionar cercanamente a los
costes de desarrollo.

Un buen proxy debera ser fcil para visualizar
tempranamente en el desarrollo

Debera tambin ser una entidad fsica que puede ser
medida.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 16
Ejemplo: Costes de Construccin
Problema
El constructor necesita saber el rea del piso para
estimar el coste de la construccin.
Clientes normalmente no pueden describir sus
necesidades en pies cuadrados.
Ellos usualmente pueden describir el tipo y nmero de
salas que ellos desean.

Solucin
Usar salas como un proxy para el tamao
Usar informacin histrica para traducir salas a pies
cuadrados.

2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 17
Ejemplo: Requisitos del Cliente
Dormitorios: 1 grande, 2 medianos, y 1 pequeo
Baos: 1 grande y 2 medianos
Cocina: 1 mediano
Sala: 1 grande
Comedor: 1 mediano
Sala familiar: 1 grande
Almacn de
herramientas:
1 mediano
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 18
Datos histricos de Construccin
Pequeo Mediano Grande
Dormitorios 90 140 200
Baos 25 60 120
Cocinas 100 130 160
Salas 150 250 400
Comedores 100 140 200
Salas familiares 150 240 340
Almacn de
herramientas
25 50 80
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 19
Clculo del Proxy
Dormitorio 1 grande = 1 x 200 = 200
Dormitorio 2 mediano = 2 x 140 = 280
Dormitorio 1 pequeo = 1 x 90 = 90
Bao 1 grande = 1 x 120 = 120
Bao 2 mediano = 2 x 60 = 120
Cocina 1 mediano = 1 x 130 = 130
Sala 1 grande = 1 x 400 = 400
Comedor 1 mediano = 1 x 140 = 140
Sala familiar 1 grande = 1 x 340 = 340
Almacn de
herramientas
1 mediano = 1 x 50 = 50
Total (pies
2
.) = 1870
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 20
Ejemplo: La estimacin del constructor
El primer paso de estimacin provee al constructor con la
informacin del proxy para el tamao del ambiente.

Sin embargo, hay muchos otros elementos de coste en la
construccin de la casa.

Constructores tpicamente tienen amplia informacin para
relacionar el tamao de un ambiente con los costes de
construccin.

Con planes iniciales acordados, los constructores
tpicamente requieren detalladas especificaciones
arquitecturales y estimaciones antes de citar un precio.

2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 21
Ejemplo Proxies Producto
Clases, funciones, y procedimientos

Elementos del producto
Elementos de la base de datos
Pantallas, reportes, scripts, archivos
Captulos del libro
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 22
Clases como Proxies -1
Correlacin con horas de desarrollo
Nmeros de clases que correlacionan razonablemente
bien
Tamao de la clase que correlaciona muy
cercanamente
Tamao de la clase puede ser estimada usando datos
histricos
Estimacin del tamao del programa es luego
calculada a partir de la relacin histrica entre el
tamao de la clase total y el tamao del programa

Con una buena correlacin, calcule el tamao del
programa a partir de la relacin entre el tamao de la
clase y el tamao del programa.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 23
Clases como Proxies -2
Cuando las clases son seleccionadas como entidades de
aplicacin, pueden ser visualizadas empezando el
desarrollo

Funciones y procedimientos pueden frecuentemente ser
estimados de la misma forma

Clases, funciones, procedimientos, y sus tamaos
pueden ser automticamente contados.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 24
Correlacin entre LOC Clases y Horas de Desarrollo
0
20
40
60
80
100
120
140
160
180
0 200 400 600 800 1000 1200 1400 1600 1800
Class LOC
H
o
u
r
s
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 25
Otros Ejemplos de Proxies
Posibles candidatos
Pantallas, reportes, scripts, archivos
Captulos del libro

Si el nmero de items correlaciona con el desarrollo,
estime el nmero de items.

Con un apropiado tamao del proxy, se puede estimar el
tamao del proxy repetidas veces.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 26
Pginas del captulo Versus Tiempo
0
5
10
15
20
25
30
35
40
45
0 5 10 15 20
Chapter Pages
W
r
i
t
i
n
g

T
i
m
e
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 27
Elementos de la base de datos
Versus Tiempo
0
5
10
15
20
25
30
0 20 40 60 80 100 120 140 160 180
Actual Size - database elements
A
c
t
u
a
l

T
i
m
e

-

h
o
u
r
s
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 28
Estimando con Proxies
Una vez que se ha seleccionado un proxy, debe
Obtener informacin del proxy
Organizar la informacin para usarla en la estimacin
Usar la informacin para estimar el tamao de los
proxies en el nuevo programa
Combinar las estimaciones del proxy con la estimacin
del producto
Realizar una estimacin del recurso
Producir un plan del proyecto

El mtodo PROBE muestra cmo realizar estos pasos.


2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 29
Organizando datos del Proxy
Una forma comn para estimar es
Fraccionar el producto planificado en partes
Relacionar estas partes planificadas con partes ya
construidas
Usar el tamao de las partes previamente construidas
para estimar los tamaos de las nuevas partes

Para hacer esto, se necesitan rangos de tamao para los
tipos de partes que tpicamente desarrolla.

Para cada tipo de producto, tambin se necesitan rangos
de tamaos para ayudar a tener una idea de los tamaos
de las nuevas partes
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 30
Ejemplo Rangos de tamao de clase
en C++
Tipo VS S M L VL
Clculo 2.34 5.13 11.25 24.66 54.04
Datos 2.60 4.79 8.84 16.31 30.09
I/O 9.01 12.06 16.15 21.62 28.93
Lgica 7.55 10.98 15.98 23.25 33.83
Set-up 3.88 5.04 6.56 8.53 11.09
Texto 3.75 8.00 17.07 36.41 77.66
LOC por item
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 31
Estimando el tamao del programa
Precisamente como las casas tienen pies cuadrados que
no estn en habitaciones, los programas tienen cdigo
que no est en partes del programa.
inclusiones
declaraciones
otras funciones en general

El trabajo de desarrollo, sin embargo, debe tambin
producir cdigo general.

El tamao de este cdigo adicional general es
usualmente proporcional al tamao de las partes del
programa.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 32
Estimando el Tiempo de Desarrollo
Con mtodos de estimacin acertados, el tamao real del
programa estar cercanamente relacionado al tamao del
programa estimado.

Las diferencias se debern al cdigo general y al error de
estimacin.

El tiempo de desarrollo real es tambin frecuentemente
relacionado al tamao del programa estimado.

De nuevo, con mtodos acertados, las diferencias sern
mayormente debido a las actividades generales y de
estimacin del error.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 33
Estimaciones Basadas
Estadsticamente
PROBE usa datos histricos, regresin lineal, y el intervalo
de prediccin para producir estimaciones de precisin
conocida.

La regresin provee el mejor ajuste, o mnima varianza, de
una lnea para estos datos.

La varianza de los datos es usada para determinar la
probabilidad de estimacin del error.

A mayor varianza, mayor probabilidad de error.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 34
Lnea de regresin para el tamao del
programa
0
100
200
300
400
500
600
700
800
0 100 200 300 400 500
Estimated Class Size
A
c
t
u
a
l

A
d
d
e
d

a
n
d

M
o
d
i
f
i
e
d

S
i
z
e
27 programas C++
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 35
Lnea de regresin para el tiempo de
desarrollo
-10
0
10
20
30
40
50
60
70
80
90
0 100 200 300 400 500
Estimated Class Size
A
c
t
u
a
l

D
e
v
e
l
o
p
m
e
n
t

T
i
m
e

-

h
o
u
r
s
27 programas C++
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 36
Estimando el Tamao y el Tiempo -1
Para proyectar el tamao o tiempo de desarrollo del
programa, halle la ecuacin para la regresin lineal.

Luego use la frmula de regresin para proyectar el
tamao y el tiempo.

E es el tamao del proxy estimado.
( )
( ) E Time t Developmen
E Size Modified Added
x y
time time
size size
k k
* _
* _ &
*
1 0
1 0
1 0
! !
! !
! !
+ =
+ =
+ =
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 37
Estimando el Tamao y el Tiempo -2
Calcular los parmetros de regresin !
0
y !
1
a partir de la
informacin de los programas previamente desarrollados.
Para x, use el tamao estimado del proxy (E).
Para y, use el actual
- Tamao aadido y modificado para la estimacin
del tamao
- Tiempo total de desarrollo para la estimacin del
tiempo

Calcular dos conjuntos de los parmetros de regresin
lineal !
0
y !
1
: uno para el tamao y otro para el tiempo.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 38
Calculando el tamao total del
Programa
El tamao total del programa incluye cdigo aadido,
modificado, borrado, base y reusado.

Al modificar un programa existente, el cdigo base es el
tamao del programa existente sin modificacin.

Al modificar programas, incluye su tamao sin modificar
en el cdigo base y no en el reuso.

Mientras que el cdigo base es una forma de reuso, PSP
solo cuenta cdigo sin modificar de la librera de reuso
como reusado.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 39
Completando la Estimacin -1
Para completar el tamao de estimacin, calcular
El tamao aadido y modificado proyectado con los
parmetros de regresin del tamao
El tamao total del programa, incluyendo cdigo
aadido, modificado, borrado, base y reusado.
Cdigo nuevo reusable estimado a ser aadido a la
librera de reuso

La completa estimacin incluye tiempo de desarrollo
estimado calculado con los parmetros de regresin del
tiempo
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 40
Completando la Estimacin -2
Con el tamao y tiempo estimados, calcular
Intervalos de prediccin superiores (UPI) e inferiores
(LPI) al 70% para el tamao del programa proyectado
Intervalos de prediccin superiores (UPI) e inferiores
(LPI) al 70% para el tiempo del programa proyectado


2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 41
Ejemplo Completado -1
Programa Base (B) 695 LOC
Borrado (D) 0 LOC
Modificado (M) 5 LOC
Adiciones a la Base
(BA)
0 LOC
Partes aadidas (PA) 115+197+49 = 361LOC
Partes reusadas (R) 169 LOC
Tamao estimado E = BA + PA + M = 366 LOC
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 42
Empezando con E = 366, use los parmetros de
regresin del tamao para calcular el tamao proyectado
(P).

!
0Size
= 62 y !
1Size
= 1.3

Tamao proyectado P = 62 + 1.3 * 366 = 538 LOC

Tamao Total T = 538 + 695 - 5 + 169 = 1397 LOC

Nuevo Reusable Total Estimado = 49 LOC *
Ejemplo completado -2
Nota: El tamao modificado es substrado as que no es includo doblemente.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 43
Ejercicio completado -3
Empezando con E = 366, use los parmetros de regresin
del tiempo para calcular el tiempo de desarrollo.
( ) E Time t Developmen
time time
* _
1 0
! ! + =
!
0Time
= 108 y !
1Time
= 2.95

Tiempo de Desarrollo= 108 + 2.95 * 366 = 1186 min.
2006 Carnegie Mellon University PSP I Estimacin con PROBE I - 44
Mensajes a Recordar
Estimaciones precisas del tamao ayudarn a realizar
mejores planes de desarrollo.

La habilidad de la estimacin se mejora con la prctica.

Un proceso medido y definido provee unas bases
repetibles para la mejora.

Para realizar estimaciones precisas, debe usar
informacin histrica y seguir mtodos convenientes.

El mtodo PROBE muestra como hacerlo.