process - software - programa de estadistica y probabilidad
¿Qué tipo de estadísticas recopila su empresa para definir la calidad del código/producto de software? (2)
La mayoría de las casas de programación / gerentes que conozco solo pueden definir la calidad en términos del no de errores creados / resueltos en retrospectiva.
Sin embargo, la mayoría de los buenos programadores pueden detectar la calidad de manera innata una vez que comienzan a entrometerse en el código. (¿Verdad?)
¿Alguna de las empresas de programación que conoces ha traducido con éxito esta información en métricas que las organizaciones pueden medir y seguir para garantizar la calidad?
Lo pregunto porque a menudo escucho los desvaríos de los gerentes descontentos que simplemente no pueden entender qué calidad realmente es. Pero algunas organizaciones como HoneyWell que oigo tienen muchos números para rastrear el rendimiento del programador, todo lo cual se traduce en números y se puede marcar durante las evaluaciones. De ahí mi pregunta a la comunidad en general para sacar a la luz las estadísticas que conocen.
Las sugerencias sobre herramientas que pueden hacer un buen trabajo al medir códigos desordenados también ayudarán.
En un sitio de un cliente usamos la métrica CRAP que se define como:
CRAP (m) = comp (m) ^ 2 * (1 - cov (m) / 100) ^ 3 + comp (m)
Donde comp (m) es la complejidad ciclomática de un método dado y co (m) es el nivel de cobertura de la prueba unitaria para ese método. Usamos NDepend y NCover para proporcionar la información bruta para calcular la métrica. Fue útil para encontrar áreas particulares de la base de código donde se debe prestar atención. Además, en lugar de especificar un valor particular como objetivo, apuntamos a la mejora en el tiempo.
No es perfecto por ningún tramo, pero sigue siendo útil.
Solo un recordatorio rápido:
La calidad del código es:
no definido por un solo criterio: hay varios grupos de personas involucradas en la calidad del código: desarrolladores, gerentes de proyecto y partes interesadas , y todos necesitan ver la calidad del código representada de manera diferente.
no definido por un número que proviene de una fórmula, sino por la tendencia de ese número : una nota "mala" en sí misma no significa nada, especialmente si se trata de un código heredado, sino una mala nota que sigue empeorando ... que es preocupante;)