Métricas establecidas en Personal Software Process

Uno de los elementos fundamentales del proceso PSP radica en la generación y análisis de los indicadores del proceso. Para esto incluye métricas en cada uno de sus niveles de proceso para evaluar el desempeño individual de los programadores. En términos generales agrupa métricas de esfuerzo, defecto, tamaño, desempeño, planificación y calidad, que se presentan a continuación. 

Tiempo 
Tiempo empleado en la fase. En cada proyecto se emplea un tiempo por cada fase. Categorizando el tiempo por fases, se puede determinar que porción del tiempo total se aplica a cada una de las fases. Existen cuatro categorías para la métrica:
  • Tiempo planeado para la fase
  • Tiempo real empleado en la fase
  • Total del tiempo empleado en la fase hasta la fecha
  • Porcentaje del total del tiempo empleado en la fase hasta la fecha
Tiempo total El total del tiempo empleado en el proyecto 

Defecto 
Defectos introducidos en la fase Un defecto no aparece sin razón. El programador accidentalmente introduce defectos en el software, lo cual sucede en una de las fases. Determinar en que fase fue introducido un defecto puede ser difícil porque usualmente no se da cuenta de ellos hasta que se encuentran. 

Defectos corregidos en la fase La fase de corrección de un defecto es la fase que se está ejecutando en el momento que se corrige el defecto. PSP tiene cuatro categorías para las métricas de defectos:
  • Número pronosticado de defectos introducidos/corregidos
  • Defecto introducidos/corregidos por fase
  • Total de los defectos introducidos/corregidos por fase hasta la fecha
  • Porcentaje del total de los defectos introducidos/corregidos por fase hasta la fecha
Total de defectos introducidos/ corregidos De igual manera que en el total de tiempo, corresponde a la suma de los defectos introducidos/corregidos en todo el proyecto. El número total de defectos introducidos debe ser igual al número total de defectos corregidos 

Tamaño 
LOC modificadas Si una LOC (Línea de código) es cambiada en el programa base, debe ser registrada con el número total de LOC modificadas.

LOC reusadas Cualquier código importado de una biblioteca de reuso u otro programa terminado debe ser medida de manera independiente y considerada como código reusado. PSP requerirá del mantenimiento de una suma hasta la fecha para esta métrica. 

LOC agregadas LOC nuevas adicionadas al programa base. Puede ser calculado restando el total base y las reutilizadas del total de LOC. El total de LOC eliminadas se agregan a este resultado para contabilizar el número de LOC reemplazadas. 

LOC nuevas y modificadas Suma de las LOC modificadas y agregadas. PSP requerirá del mantenimiento de una suma hasta la fecha para esta métrica. Todos los datos de productividad y tamaño están basados en esta métrica. 

LOC para reuso Módulos que pueden ser reutilizados en el futuro o que pueden ser agregados a la biblioteca de reuso. PSP requerirá del mantenimiento de una suma hasta la fecha para esta métrica. 

Desempeño
LOC por hora Se calcula al dividir el total de LOC nuevas y modificadas por el tiempo total del proyecto. Se calcula a nivel de proyecto y para el histórico hasta la fecha. 

Indicador de costo de desempeño Se calcula dividiendo el tiempo total planeado hasta la fecha entre el tiempo total real hasta la fecha. Un valor cercano a 1 implica que está en tiempo. Si el resultado está muy por debajo de 1 implica que el programador está mal presupuestado. 

Porcentaje de reuso Es la proporción del tamaño total del programa que fue importado de la biblioteca de reuso o de otro programa. 

Porcentaje de nueva reusabilidad Es la proporción del tamaño total del código nuevo del programa que es candidato para reutilizar en el futuro. 

Planificación 
Valor planeado Porcentaje del tiempo total planeado que se asigna a una tarea. 

Valor planeado acumulado Suma de los valores planeados para la tarea y todas las que la anteceden. 

Valor ganado Es el valor planeado para una tarea una vez que la tarea ha sido completada.
Valor ganado acumulado Suma de todos los valores ganados en el proyecto hasta la fecha.

Calidad 
Densidad de defectos en pruebas Cantidad de defectos detectados en la fase de pruebas, medidos en defectos por mil LOC (KLOC) 

Densidad de defectos total Cantidad total de defectos en un programa, medidos en defectos por KLOC. 

Ganancia Porcentaje del total de defectos que fue eliminado en las fases de revisión. Mientras mayor sea este valor más efectiva es la técnica de revisión del programador. 

Defectos eliminados por hora en la fase Calculado como el número total de defectos eliminados en una fase dividido por el número de horas empleadas en la fase. 

Proporción de defectos eliminados entre fases Calculado como la proporción de la tasa de eliminación de defectos entre dos fases. Esta métrica permite apreciar que tan efectiva es una fase en eliminar defectos con respecto a otra. 

Costo de la calidad – Revisión Proporción del tiempo total de desarrollo que se emplea en las fases de revisión. 

Costo de la calidad – Corrección Proporción del tiempo total de desarrollo que se emplea en la fase de compilación y pruebas. 

Costo de la calidad – Tasa de revisión contra corrección Proporción del costo de la calidad en revisión en comparación con el costo de la calidad en corrección. Mientras mayor sea el valor implica que la técnica de revisión del programador es más efectiva.

4 comentarios:

  1. Buenos dias, me gustaria saber donde puedo acceder a informacion relacionada a PSP, en el Sei, para apliar mas esto que comentas aqui. Saludos-.

    ResponderEliminar
  2. Hola Marian, la información sobre PSP la puedes encontrar en http://www.sei.cmu.edu/tsp/tools/index.cfm en esa liga encontraras del lado derecho algunas referencias de interés entre las que se encuentra material de autoestudio.

    También en el libro que viene en referencias Para leer en el blog "PSP, A Self-Improvement Process for Software Engineers" puedes consultar esta información.

    ResponderEliminar
  3. Hola muy buena entrada, muy util, Tengo una pregunta. ¿Que significa LOC?, se da como un hecho que el lector lo sabe. Saludos.

    ResponderEliminar
  4. Muchas gracias por el comentario. Integro el detalle en el artículo. LOC se refiere a "Line of Code". Saludos

    ResponderEliminar

CMMI v2, cinco puntos para entender la nueva versión del modelo

El mes de marzo del 2018 fue el lanzamiento de la versión 2.0 del modelo CMMI (Capability Maturity Model for Integration) por el CMMI Ins...