PSP 2 última parte Conclusiones, utilización de...
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
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