En el ámbito del desarrollo de software, la calidad del código no es simplemente una consideración técnica; es un imperativo comercial. La calidad del código determina no solo la funcionalidad y eficiencia de una aplicación, sino que también tiene un impacto directo en su mantenibilidad, escalabilidad y seguridad.
La necesidad de asegurar la calidad del código de manera continua se vuelve aún más crítica en contextos donde los equipos están en constante rotación, evolución, enfrentando desafíos complejos o adaptándose a nuevas tecnologías. La vigilancia en esta área es vital para evitar costos innecesarios y riesgos potenciales.
La evidencia del alto costo de corregir errores una vez que el software está en operación ha sido bien documentada.
En 1981, Barry Boehm llevó a cabo uno de los primeros estudios de costos para determinar los factores asociados con la corrección de errores en diferentes fases del ciclo de vida del software. Según este estudio, encontrar y corregir un problema de software después de la entrega puede ser hasta 1000 veces más caro que identificarlo en las etapas tempranas. La siguiente gráfica ilustra este costo relativo para corregir un error en el software:
Más recientemente, un estudio titulado “The Cost of Poor Software Quality in the US: A 2020 Report” de la empresa Consortium for Information & Software Quality (CISQ) determinó que el Costo Total de la Mala Calidad del Software (CPSQ) en EE. UU. en 2020 fue de $2.08 billones. Los detalles de este costo se desglosan de la siguiente manera:
- El mayor contribuyente al CPSQ son los fallos operativos del software. Esto podría ser una subestimación debido al aumento de los fallos de ciberseguridad y a que muchos fallos no se informan. La causa principal son los defectos no mitigados en el software.
- El siguiente mayor contribuyente son los proyectos de desarrollo fallidos. La tasa de fracaso del proyecto ha sido constante en ~19% durante más de una década. Las causas son variadas, pero un tema constante ha sido la falta de atención a la calidad.
- Los problemas de los sistemas heredados contribuyeron con $520k millones al CPSQ, principalmente debido a “desperdicios” que no agregan valor.
Estos hallazgos resaltan la complejidad y la importancia de abordar la calidad del software en la industria, y cómo diferentes factores contribuyen al costo total. La atención a los detalles y la mitigación de los defectos pueden jugar un papel clave en la reducción de estos costos en el futuro.
Actualmente, en varios países de Latinoamérica, la calidad del software se aborda principalmente desde un punto funcional. Es decir, se verifica que el software cumpla con la funcionalidad definida en un requerimiento, pero no se aborda adecuadamente el aseguramiento técnico. Esta perspectiva limitada puede llevar a problemas subyacentes en la calidad del código, que pueden afectar negativamente la eficiencia, seguridad y escalabilidad del software. La adopción de enfoques más holísticos y herramientas de análisis estático de código puede ayudar a los equipos de desarrollo en la región a abordar estos desafíos y asegurar una calidad de software más robusta y completa.