Existen muchas maneras de medir, evaluar y administrar la
calidad de un programa. PSP proporciona un sistema de medición de la calidad
que ayuda a los ingenieros a examinar la calidad de sus programas desde varias
perspectivas. Ninguna medida puede indicar adecuadamente la calidad total de un
programa. El cuadro completo de medidas de PSP es un indicador generalmente confiable
de la calidad.
Responsable: Implementador
A quien se entregan: No se entregan, son para uso personal.
% Tiempo en cada Fase
Determinar cuánto tiempo se pasa en cada fase. Esto permite realizar
mejores estimaciones de tiempo.
También proporciona información para proyectar la
distribución de tiempo de un nuevo proyecto, basado en la distribución de
tiempo de proyectos anteriores
% Defectos inyectados y Removidos
por Fase
Determinar % de defectos inyectados y removidos en cada
fase. Esto permite realizar estimaciones de calidad, pues proporciona información
para proyectar la distribución de defectos de un nuevo proyecto, basado en la
distribución de defectos de proyectos anteriores
Permite también identificar las fases problemáticas en lo
que refiere a inyección de defectos y trabajar para mejorarlas.
Productividad
Tamaño de producto desarrollado por hora.
Proporciona una base para comparar los planes, contra el
rendimiento histórico
%Reused
Conocer la tasa de reutilización de código previamente
desarrollado.
%New Reused
Conocer la tasa de incorporación de nuevo código
reutilizable.
Defectos encontrados por unidad de tamaño
También llamada Densidad de defectos. Se refiere a los
defectos por KLOC encontrados en un programa. Se mide para el proceso completo
de desarrollo y para algunas fases de proceso específicas.
El número de defectos encontrados en la fase de pruebas es
una buena indicación del número de defectos que quedan en el producto después
que las pruebas se terminan.
Nota: En PSP un programa con 5 o menos
defectos/KLOC se considera un programa de buena calidad.
Rendimiento de Fase (Yield Phase).
Es una medida de la calidad del proceso. Mide la eficiencia
de los filtros de defectos (Revisiones de código, Revisiones de diseño)
% de defectos encontrados por un filtro, considerando todos
los defectos que llegan al filtro. Se utiliza para medir la eficacia de las
revisiones de diseño y de código, inspecciones, compilación, y testing.
Yield (de una fase) = 100 * (def. encontrados)
/ (def. encontrados + no encontrados)
Defectos no encontrados, son aquellos defectos que fueron
inyectados antes o durante la fase, pero que no fueron detectados, antes o
durante la fase.
Rendimiento del Proceso (Yield).
Se calcula para el proceso completo. Es el porcentaje de
defectos infectados y removidos antes de la primer
compilación.
Tasa de revisión.
En las revisiones de diseño y de código de PSP, los
ingenieros deben revisar personalmente sus programas. Los datos de PSP
demuestran que cuando los ingenieros revisan a una velocidad de
PSP sugiere las siguientes cotas superiores para la tasa de
revisión.
- código (utilizando LOC como medida): 200 LOC/hora
- documentos: 4 páginas/hora
Test Defects
Per KLOC
Es un indicador de la calidad del
programa cuando ingresa a testing.
Total Defects Per
KLOC
Es una medida del total de defectos
inyectados durante el proceso
Defect Removal
Efficiency.
Muestra el número de defectos
removidos por hora en Revisión de diseño, Revisión de código, Compilación y Test.
Defect Removal
Leverage (DRL)
DRL se encarga de medir la
efectividad relativa de dos etapas de supresión de defectos. Compara la
eficiencia en la remoción de defectos, entre Design Review vs. Unit Test, Code
Review vs. Unit Test, Compile vs. Unit Test
Si por ejemplo, el nivel de
supresión de defectos para la fase de revisión de código contra la fase de
pruebas unitarias es de 3.06/1.71 = 1.79. Esto quiere decir que el
desarrollador será 1.79 más efectivo en encontrar defectos en la fase de revisión
que en la fase de pruebas unitarias.
Costo de la Calidad (COQ)
COQ mide la calidad del proceso de una forma significativa
para la gerencia.
Dos de sus elementos son,
n
Costo
de fallas.
n
Costo
de evaluación (appraisal)
Costo de fallas
Es el tiempo dedicado a la reparación y re-trabajo.
Failure COQ = 100*(tpo
comp + tpo test) / (tpo total)
Costo de evaluación
Es el costo de inspeccionar buscando defectos.
Appraisal COQ = 100*(tpo
rev diseño + tpo rev código) / (tpo total)
A/FR
Cociente entre costo de evaluación y costo de fallas
(A/FR). Un alto A/FR esta asociado con
un bajo número de defectos en test y una alta calidad
de producto.
A/FR = Appraisal
COQ / Failure COQ
Nota: A/FR debería estar alrededor de 2.0