Métricas de Calidad del Proceso Personal

Introducción

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 150 a 200 LOC/Hora, pasan por alto, muchos defectos.

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