PSP 2 última parte Conclusiones, utilización de...

13
PSP 2 última parte Conclusiones, utilización de formularios y script. 2 Objetivo de PSP Medir, estimar, planificar, seguir, controlar y mejorar la calidad del proceso de desarrollo. Lograr una disciplina de mejora contínua en el proceso personal de desarrollo de software En general, PSP provee calidad y productividad Watts Humphrey SEI-UCM

Transcript of PSP 2 última parte Conclusiones, utilización de...

1

PSP 2 última parte

Conclusiones,utilización de formularios y script.

2

Objetivo de PSPMedir, estimar, planificar, seguir, controlar y mejorar la calidad del proceso de desarrollo.

Lograr una disciplina de mejora contínua en el proceso personal de desarrollo de software

En general, PSP provee calidad y productividad

Watts Humphrey

SEI-UCM

2

3

Enfoque de CMM

4

Primera aproximación a PSP

7 pasos y 4 niveles de mejoramientoPSP0 + PSP0.1 Métrica y estandarización

PSP1 + PSP1.1 Mejora la estimación y planificación

PSP2 + PSP2.1 Incrementamos calidad

PSP 3 Repetición para escalar a grandes desarrollos

3

5

Esquema evolutivo de PSP

6

Gráfico -Tiempo de compilación

4

7

Gráfico – Defectos encontrados

8

Gráfico - Productividad

5

9

Beneficios concretos

1- Alta calidad: Enfoca a remover defectos una vez escrito el código. En organizaciones se logró reducir hasta un 58% los errores inyectados.Ademas habilita a fijar objetivos

numéricos de calidad (densidad de defectos (Dd), AF/R, eficiencia del proceso (Process Yield) y fases (Yield).

10

Beneficios concretos

2- Acercamiento a los tiempos planificados: Comunmente es muy dificil cumplir los compromisos tomados sobre tiempos de un desarrollo. PSP nos permite estimar en forma segura basandonos en nuestros registros históricos. Ejemplo de aplicaciones de PSP permitieron reducir el desvío a un 10% del tiempo comprometido frente a un 39,4 % antes de utilzar PSP.

6

11

Beneficios concretos

3- Incremento de la productividad: El conocimiento que adquirimos de nuestro proceso de desarrollo nos permite mejorarlo, (Script de revisión de código). Puede reducir tiempo de las pruebas entre 4 a 5 veces.

4- La disciplina inserta por PSP al desarrollador y TSP a los equipos permite asentar las bases de una organización para lograr un espiritu de mejoramiento contínuo.

12

Compromiso con la Calidad

La calidad del producto es críticoLos desarrollos crecen en complejidad y funcionalidad, por ejemplo Sistemas de control aereo, control de planta nucleares.En otros campos existen sistemas de control, por ejemplo un harnesEn nuestro campo, el control, es otro software que será efectivo mientras los defectos sigan el comportamiento esperado

7

13

Compromiso con la CalidadGeneralmente la complejidad de sistemas es altamente cuidada y estudiada, se falla en pequeñas cosas. (variables no declaradas, ciclos no cerrados, funciones no existentes, etc)La calidad depende de los módulos y aquí es donde debe existir el compromiso de desarrollo libre de errores.De esta forma pocos errores serán encontrados en la compilación, pruebas, pruebas de integración y en el producto final entregado al cliente.

14

Compromiso con la CalidadNo debemos tratar a los defectos como bugs, estos son impersonales.Nosotros inyectamos los defectos, nuestro producto es defectivo.Somos humanos es imposible evitar las fallas. Lo meritorio es administrar nuestros defectos.1- Pensar que la calidad es importante2-Definir las medidas de la calidad3-Mejorar hasta alcanzarlas

8

Ejemplo de cálculo de PSP

Formulario principal -Resumen Plan de Proyecto

PSP0 + PSP0.1 Métrica y estandarización

Antes del desarrollo

post desarrollo

futuras estimaciones

Form. Reg. De tiempos

1-Estimación de las líneas de código- LOC Form. Resumen Plan de Proyecto

2-Estimación de las

Tasa de Minutos/LOC

3-Loc/Hora=60/7.82=7.67

3

2

2

4-Tiempo Total= 7.82 * 26 = 203.32

Max = 7.82 * 36 = 281.52

9

Actual

Minutos/LOC=Tiempo Total/LOC

=137 / 19 = 7.21

LOC/Hora = 60 / Minutos/LOC

= 60 / 7.21 = 8.32

Actual + En el tiempo = En el tiempo +1

En el tiempo %

Planeamiento = Tiempo de fase * 100

Tiempo total

Planeamiento = 4 / 137 * 100 = 2.90 %

Codificación = 61/ 137 * 100 = 44.60 %

Compilación = 21 / 137 * 100 = 15.30 %

.

.

.Una vez finalizado el desarrollo se actualiza el formulario en los valores Actuales y En el tiempo

1

2

3

Estimar

•En base al programa 8 planificamos el 9

Los % de tiempos x fase de Prog. 8 nos permite estimar los tiempos por fase del prog. 9

•Ej. Planeamiento = 2.9 * 166 / 100= 4.51 = 5

•Los tiempos acumulados

•Planeamiento = Actual + En el tiempo = 11+4=15

•Minutos/LOC = Tiempo Total / LOC = 333 / 48 = 333 / 48=6.93

1

1

2

2

3

3

Los nuevos resultados me

permiten estimar con > precisión

Estimar

PSP1 + PSP1.1 Mejora la estimación y planificación

10

Nos permite analizar y mejorar nuestra productividad

Nos permite analizar y comparar los planeado con lo realizado por fases

Nos permite estimar tiempos

de futuros desarrollos

Nos permite estimar el tiempo total de desarrollo

RESUMEN

Analizando defectos para incrementar la calidad

Sector inferior

11

PSP2 + PSP2.1 Incrementamos calidad

Form. Resum Plan Proyecto (parcial)

Interface50

Asignación40

Ejecutable30

Sintaxis20

Documentación10

NombreTipo

Ambiente100

Sistema90

Funciones80

Datos70

Chequeos60

NombreTipo

1

2

3

4-Optimización

Construcción y optimización del checklist

12

- Registramos la etapa de Revisión de código

Defectos/KLOC -> densidadDd= 1000*D/N

Dd= densidad de defectosD=cantidad de defectos encontradosN=cantidad nuevas y modific. Líneas

de códigoEn el tiempo = Dd =1000 * 20 / 211

= 94.79

2 2

1

La densidad del prog. 12 nos permite planificar los defectos a i nyectar en el prog.13 Dplan=Nplan*Ddplan/1000 = 58*94.79/1000=5.49 = 6

La distribución de defectos por etapa lo hacemos en base a las tasas de defectos inyectados y removidos del prog. 12 = Def. Inyectados en codif. = 80.0 * 6 /100=4.8 = 5

1

1

1

2

2

2

88=22+66

3 3

13

Analizamos la eficiencia del proceso de remoción de defectos

Yield – Def. / Hora

a) Def. / Hora

Diseño=60 * / (def. inyectados en diseño / minutos acumulados en el diseño)= 60*5/195 = 1,54

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

= 60*25/792 = 1,89

Rev.Código=60 * / (def. removidos en Rev. Código / minutos acumulados en la Revisión de Código)= 60*12/145 = 4,97

Compilación=60 * / (def. removidos en Rev. Código / minutos acumulados en la compilación)= 60*13/100 = 7,80Pruebas=60 * / (def. removidos en las pruebas / minutos acumulados en las pruebas)= 60*6/279 = 1,29

1

2

2

3

34

45

56

6

B- Yield planificado=100*(plan de defectos a remover antes de compilar/plan de defectos inyectados antes de compilar) = 100*2/(1+5) = 33,3 %

Yield actual=100*(Defectos a removidos antes de compilar/Defectos inyectados antes de compilar) = 100*4/(1+4) = 80,0 %

Yield ToDate=100*(Defectos acumulados removidos antes de compilar /Defectos acumulados inyectados antes de compilar)=100*12/(5+25)=40,0%

7

7

8

8

9

9

7

8

9

Objetivo Yield Process

> 70%

Analizamos la calidad del proceso a través de AF/R

(Appraisal/Failure)

Appraisal = Rev. Código

Failure = Compilación+Pruebas

A/FR Actual = Tiempo Total Rev. Código Tiempo Total Compilación. + Pruebas

A/FR= 29 / ( 5+10) = 1,93

A/FR= Es la medida relativa del tiempo de revisión de código sobre el tiempo de la primera compilación y pruebas

A/FR < 1 -> > cantidad de erroresA/FR debemos intentar alcanzar el valor 2

1

1

A/FR En el tiempol = Total en Tiempo. Rev. Código Total en tiempo Compilación. + Pruebas

A/FR En el tiempol = 174 / (105+289) = 0,442

2