Análisis de las métricas de complejidad y calidad
Aunque hay varias métricas de calidad, a continuación se enumeran algunas de las más importantes.
Las métricas de complejidad pueden ayudar a medir la calidad. La complejidad ciclomática mide el número de rutas de acceso independientes linealmente a través del código fuente de un programa. Otra forma de comprender la calidad consiste en calcular las medidas de complejidad de Halstead.
Estas permiten medir lo siguiente:
- El vocabulario del programa.
- La longitud del programa.
- La longitud calculada del programa.
- Volumen.
- La dificultad.
- El esfuerzo.
Se pueden usar herramientas de análisis de código para comprobar la seguridad, el rendimiento, la interoperabilidad, el uso del idioma y la globalización, y deben formar parte del proceso de compilación de software y el cuadro de herramientas de todos los desarrolladores.
Ejecutar regularmente una herramienta de análisis de código estático y leer su salida es una excelente forma de mejorar como desarrollador, ya que a menudo se puede aprender de lo que detectan las reglas de software.
Métricas comunes relacionadas con la calidad
Una de las promesas de DevOps es ofrecer software más rápido y con mayor calidad. Antes estas dos métricas eran casi opuestas. Cuanto más rápido se realizaban las operaciones, menor era la calidad. Cuanto mayor era la calidad, más tiempo se tardaba. Sin embargo, los procesos de DevOps pueden ayudarle a encontrar los problemas antes, lo que suele implicar que su corrección lleve menos tiempo.
Anteriormente se han tratado algunas métricas y KPI generales de los proyectos. A continuación se muestra una lista de métricas relacionadas directamente con la calidad del código que se genera y los procesos de compilación e implementación.
- Porcentaje de compilaciones con errores: en general, ¿en qué porcentaje de compilaciones se producen errores?
- Porcentaje de implementaciones con errores: en general, ¿en qué porcentaje de implementaciones se producen errores?
- Volumen de incidencias: ¿cuál es el volumen total de incidencias de cliente o de errores?
- Porcentaje de reincidencia de errores: ¿qué porcentaje de vales de cliente o de errores se está reabriendo?
- Porcentaje de trabajo no planeado: ¿qué porcentaje del trabajo total que se está realizando no está planeado?