inspección continua
16
May

Retos clave en la gestión de la calidad del código. La inspección continua

El enfoque tradicional de la auditoría de calidad de código se basa en la realización de auditorías puntuales, que se ejecutan, por diseño, a intervalos específicos y no de forma continua.

Este enfoque de la gestión de la calidad del código tiene cuatro grandes retos a superar:

  • Demasiado poco, demasiado tarde: los resultados de las auditorías se definen demasiado tarde en el proceso, de manera que para poder incluir las mejoras se tiene que retrasar la fecha de lanzamiento, o peor todavía, el software se pondrá en producción con el nivel bajo de calidad (ya que las mejoras se incorporarán después).
  • El rechazo de los desarrolladores: los desarrolladores tienden a rechazar los planes de acción generados a partir de auditorías puntuales, ya que se generan fuera del equipo, y son vistos como una nueva restricción en el trabajo diario. Son subjetivos; hallazgos que se basan en el juicio de los auditores, más que en medidas objetivas y rápidamente quedan obsoletos, puesto que el código evoluciona constantemente.
  • Falta de propiedad de los procesos: hay una clara falta de apropiación del proceso de calidad dentro de la organización. Los auditores no pueden poseer el proceso, debido a que ni son propietarios del código ni tienen control sobre la resolución de problemas.
  • Heterogeneidad de los requisitos: Los enfoques tradicionales miden el software en valores absolutos, como el número total de problemas encontrados en unos umbrales de calidad, y esto fuerza a los evaluadores a medir cada aplicación contra diferentes requisitos, en función de su origen. El uso de este tipo de valores absolutos implica que sea casi imposible de conseguir requisitos comunes para todas las aplicaciones, y por lo tanto difícil de adoptar buenas prácticas en todos los ámbitos.

Los retos clave en la gestión de la calidad del código señalados anteriormente se combinan, a menudo, para crear una percepción de que la “creación de software de calidad es cara”.

Bajo el enfoque tradicional, para ser eficaz la gestión de calidad, llega demasiado tarde en el proceso y altera el ciclo de desarrollo, causando retrasos inesperados, repitiendo trabajo no planificado o perdiendo características funcionales. Para agravar el problema, los equipos de desarrollo frenan o rechazan las evaluaciones de calidad, las ven como algo que reduce la productividad y la colaboración del equipo. Además, las empresas no obtienen mejoras a largo plazo en la calidad general, debido a que el enfoque tradicional no tiene en cuenta la necesidad de educar a los desarrolladores. Como resultado, los mismos o similares problemas de calidad surgen repetidamente durante el ciclo de vida del proyecto.

La inspección continua al rescate

La inspección continua es un nuevo paradigma en la gestión de la calidad del código que está diseñado para hacer que la calidad del software interno forme parte integral del ciclo de vida de desarrollo de software.

La inspección continua proporciona una gestión continua de la calidad del código, aumentando drásticamente el ROI de un proyecto de desarrollo.

La clave del concepto de la inspección continua es detectar problemas a tiempo, cuando resolverlos sigue siendo barato y fácil. Bajo este modelo, las auditorías de código automatizadas se realizan sobre una base diaria y se colocan a disposición de toda la organización.

Las auditorías se completan con herramientas que detectan los problemas directamente en el entorno del desarrollador, al igual que el corrector ortográfico de Microsoft Word. Los miembros del equipo son alertados tan pronto como se encuentren nuevas evidencias para que puedan abordarse lo antes posible, mientras que el código está todavía fresco en la mente de los desarrolladores. La puntualidad de estas alertas tiene el beneficio añadido de que informa a los programadores de los malos hábitos y los conduce a codificar según los buenos.

La inspección continua goza de mayor aprobación entre los equipos de desarrollo debido a su naturaleza de colaboración, que conduce a un sentimiento de verdadera propiedad del código, y ayuda a los equipos a ofrecer un mejor software.

Con sus pequeños ciclos, con identificaciones rápidas y tratamiento de estas evidencias, se ha demostrado que aumentan la eficiencia de los equipos de desarrollo y aumentar la longevidad de las aplicaciones, mediante el fomento del desarrollo de código de mayor calidad.

Artículo redactado por Antonio Calero Monteagudo, CEO y co-fundador de excentia

Leave a Reply