PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf ·...

14
PARTE III PSP 2 continuación 2 Estructura de PSP

Transcript of PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf ·...

Page 1: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

1

PARTE III PSP 2continuación

2

Estructura de PSP

Page 2: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

2

3

PSP 2.0

4

Estimando cantidad de Defectos

Analizar los defectos nos permitirá determinar cual es el mejor método de depurar nuestro códigoEl desarrollo de software no es un proceso estable. La inventiva y creatividad del ser humano lo torna inestableEl estandar de defectos inyectados es de 50 a 250 x KLOC.

Page 3: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

3

5

La dificultad de estimar defectos

La estimación no es tarea exacta1-Los conocimientos y la experiencia varían2-El desarrollo de por si no es estable3-El proceso de depuración inserta más errores

PSP intenta estabilizar la inyección de defectos y así estimar con exactitud.

6

Densidad de defectos

La densidad de errores inyectados por cada 1000 lineas de código es la medida que utilizaremosDd= 1000*D/N

Dd densidad de defectosD cantidad de defectos encontradosN cantidad nuevas y modific. Líneas de códigoPj: Un programa de 96 LOC con 14 defectos

Dd= 1000*14/96 = 145,85 defectos/KLOC

Page 4: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

4

7

Estimando los defectos a inyectar1- Estimar la cantidad de LOC, supongamos 56 líneas2- Calcular el promedio de Dd de programas anteriores

Ddplan=1000(D1+....+D2)/(N1+.....+Ni) Ddplan= 1000(6+11+7+9+5)/(37+62+49+53+28) Ddplan=1000*38/229= 165,94 defectos/KLOC

22938Total

2855

5394

4973

62112

3761

LOC (N)Defectos (D)Programa

8

Proceso de estimación

Asumiendo que el nuevo programa tendrá la misma densidad de defectos obtenemos los defectos.

Dplan = Nplan * Ddplan / 1000

Dplan = 56 * 165,94 / 1000 = 9,29

Page 5: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

5

9

10

Resumen

Estimamos la Densidad de defectos de programas anterioresEn base a la Densidad estimamos los defectos a inyectar en un nuevo programaProyectando errores con mayor proximidad nos permitirá mejorar la calidad de nuestro proceso

Page 6: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

6

11

Costos de remover defectosEquilibrio entre calidad, tiempo y costos.A medida que avanzamos en etapa de depuración aumenta el tiempo de solución (10x)Los desarrollos crecen en complejidad pero no así el proceso de desarrollo. Lo típico es codificar y depurar en las etapas de compilación y pruebas.Windows NT fue desarrollado con 30.000 defectos, llevo 1 año a 250 desarrolladores depurar el código, 16 hs. / defecto.

12

Relación defectos inyectados y removidos

Page 7: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

7

13

PSP y los costos de remover defectos

14

PSP y el cálculo de los defectos/hsPSP enfoca a optimizar el proceso de desarrolloLa optimización apunta a desarrollar código libre de erroresPara desarrollar código libre de errores debemos aprender de nuestros errores y así poder prevenirlos. Aquellos que indefectiblemente insertamos debemos depurarlos antes de compilar.Para analizar y optimizar nuestro proceso de depuración vamos a conocer nuestro patron de defectos removidos e inyectados

Page 8: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

8

15

Defectos encontrados y removidosCalculamos nuestros valores históricos de defectos encontrados y removidos en el lapso de 60 minutos.

1-Defectos insertados en la etapa de diseño2-Defectos insertados en la etapa de codificación3-Defectos removidos en la revisión de código4-Defectos removidos en la etapa de compilación5-Defectos removidos en la etapa de pruebas

16

PSP –Resumen

del Plan de Proyecto

Lo nuevo...To Date%Def./Hour

Page 9: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

9

17

Histórico de Defectos encontrados y removidos

1-Histórico de Defectos inyectados en el diseño

60 * / (def. inyectados en diseño / minutos acumulados en el diseño)

= 60*5/195 = 1,54

2-Histórico de defectos inyectados en la codificación.

60 * / (def. inyectados en codif. / minutos acumulados en la codificación)

= 60*25/792 = 1,89

18

Defectos encontrados y removidos3-Histórico de Defectos removidos en la revisión del código

60 * / (def. removidos en Rev. Código / minutos acumulados en la Revisión de Código)

= 60*12/145 = 4,97

4-Histórico de Defectos removidos en la compilación60 * / (def. removidos en Rev. Código / minutos acumulados en la compilación)

= 60*13/100 = 7,80

5-Histórico de Defectos removidos en las pruebas60 * / (def. removidos en las pruebas / minutos acumulados en las pruebas)= 60*6/279 = 1,29

Page 10: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

10

19

Medida para evaluar el proceso de remoción de defectos

PSP enfoca a remover errores antes de compilarLa medida para evaluar nuestro avance en este objetivo es conocer los % de errores encontrados y removidos antes de compilar por primera vez.Esta medida es conocida como Process YIELD.Process YIELD es el % de errores detectados antes de la primera compilaciónComo siempre calculamos, lo Planeado, lo sucedido y lo acumulado en el tiempo

20

Cálculo de Process YIELDLo planificado:

Yield planificado=100*(plan de defectos a remover antes de compilar/plan de defectos inyectados antes de compilar)

= 100*2/(1+5) = 33,3 %

Lo sucedido:Yield actual=100*(Defectos a removidos antes de compilar/Defectos inyectados antes de compilar)

= 100*4/(1+4) = 80,0 %

Lo sucedido en el tiempo (acumulado):Yield ToDatel=100*(Defectos acumulados removidos antes de compilar/Defectos acumulados inyectados antes de compilar)

= 100*12/(5+25) = 40,0 %

Page 11: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

11

21

Mejorando la remoción de defectosEl objetivo es remover el 100% de defectos.Inicialmente nuestro objetivo será menor

(70%)Utilizar el checklist para hacer la revisión del códigoOptimizar el checklist agregando y eliminando controles que no ayuden a encontrar defectos.Una definición de locura es hacer siempre lo mismo y esperar que ocurra algo distinto [Brown]. Significa, si no cambiamos el checklist se nos filtrarán los mismos defectos

22

Resumen de Remoción de DefectosLos defectos son inevitablesImpactan en nuestros costos, tiempo y calidad de nuestro trabajoEl método eficiente es la revisión del código.

En las pruebas se detectan 2-4 defectos / horaEn la revisión del código, 6-12 defectos / horaEl compilador es eficiente en defectos de sintaxis

Para mejorar el proceso de remoción de errores introducimos dos nuevas medidas:

Defectos / horas por fase inyectados y removidosProcess YIELD , relación en % entre removidos / inyectos

Analizando cada fase sabremos que debemos mejorar

Page 12: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

12

23

Calidad del ProductoVamos a analizar la relación de defectos encontrados y los que quedan remanentes para el clientePSP enfoca a iniciar con calidad los primeros pasos del proceso de desarrolloLa realidad es que ser descuidado en el desarrollo no hay herramienta que lo corrija.Esto se demuestra que cuando mayor cantidad de errores detectamos en la compilación, mayor cantidad pasan a la etapa de pruebas y mayor cantidad quedan remanentes.

24

Efectividad de métodosCada etapa de depuración es un filtro de defectosCuantos más errores entran a cada etapa de filtrado, revisión de código, compilación y testeo mas errores se filtran.Si el proceso de depuración tendría una tasa Process YIELD (porcentaje de removidos sobre los insertados) de 100% no existiría ningun problema, pero no es la realidad.

45PruebaRequerim.

45Prueba Integración

40-50Pruebas

50Compilación

50-70Inspección

70-80Revisión de código

Tasa Yield

Método

Page 13: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

13

25

Calculando la efectividad de cada método de remoción

YIELD=100 * def. encontradosdef.removidos

DEFECTOSFASE

2 encontrados-Pruebas Yield=2/4 50 %-Comp. Yield= 3/7 = 42,9%-Rev. Yield=5/12 41,7 %

0 defectosremanentesDespues de las pruebas

O en uso

2 encontrados-Pruebas Yield=2/2 100%-Comp. Yield= 3/5 = 60%-Rev. Yield=5/10 50 %

2 defectosRemanentesPruebas

3 encontrados-Comp. Yield= 3/3 = 100%-Rev. Yield=5/8 62,5 %

4 defectosRemanentesCompilación

5 encontrados-Rev. Yield=5/5 100%

7 defectosRemanentesRev. Código

Def. encontrados/removidos12 defectosCódigo

26

Calculando la tasa YIELD final

La única forma de obtener certeza de cuantos errores son entregados al cliente, es tener el registro de todos los errores del producto hasta que el producto no se utilice más.La regla aceptada para este cálculo es que la cantidad de defectos entregadas es igual a la última etapa de depuración.Esto es aceptar que la tasa YIELD de la última fase es el 50%. Esto es crítico.

Page 14: PARTE III PSP 2 continuación - …sistemas.uarg.unpa.edu.ar/~osofia/$GestionP/PSP/04psp.pdf · para el cliente PSP enfoca a iniciar con calidad los primeros pasos del proceso de

14

27

Calculando la tasa YIELD final

Ejemplos:A) 17/(17+2+1)=85% agregando los errores entregados al cliente:• 17/(17+2+1+1)=80,95%

B) 17/(17+15+8)=42,5% agregando los errores entregados al cliente:• 17/(17+15+8+8+8)=35,40%

28

Resumen

La depuración de defectos es un proceso de filtrado. Más defectos colocamos en el filtro más encontramos , pero más pasan el filtro.La tasa Yield de la fase de Testeo es a los sumo 50%.La única forma de obtener un desarrollo de calidad es poner un desarrollo de calidad en el filtro de la etapa de Testeo