Calidad de código
Mediante el servicio de Calidad de Código, MTP propone una solución personalizable al problema del control de la calidad del código fuente del producto software.
Este control se lleva a cabo a través de la inspección de dicho código manualmente o automáticamente, mediante el análisis estático. La solución ideal pasa por aplicar ambas operativas, aunque las revisiones manuales resultan más caras y requieren de recursos especializados que no siempre se encuentran disponibles.
El Análisis de Calidad de Código software realizado por MTP se basa en:
- La experiencia real en la puesta en marcha de servicios de estas características.
- Experiencia contrastada realizando un análisis de código para distintas tecnologías, entre las que se incluyen Siebel o SAP.
- El proceso automatizado de envío a los “stakeholders” de los informes de calidad de código software.
- La existencia de modelos estándar de medida de calidad de proveedores:
- Definición de modelos de calidad.
- Definición de modelos de aceptación: identificación KPIs.
- Definición de un procedimiento de entregas.
En los primeros meses de actividad, se llevarían a cabo las siguientes acciones:
- Análisis de las diez aplicaciones más críticas del portfolio.
- Definición de un modelo de aceptación.
- Definición de un circuito de certificación (Integración /Aceptación).
- Definición de modelo de informes.
- Automatización de los análisis (ejecución e informes).
- Integración en modelos de IC/EC/DevOps…
Más información
¿En qué consiste el servicio de Calidad de Código?
La calidad de código fuente, como elemento en continua construcción y evolución, ha de medirse y evaluarse de forma constante, objetiva y fiable.
El servicio de Análisis de Código contempla la revisión sistemática, automatizada y periódica de los factores de salud más importantes asociados al software, cuyo análisis posterior sirva para obtener cotas de calidad cada vez mayores en el dominio no funcional: Robustez, Mantenibilidad, Eficiencia, Reusabilidad, Seguridad, entre otros ámbitos.
Importancia de la calidad del código fuente del producto software
Mantener buenos niveles de calidad en el código desarrollado contribuye a reducir incidencias en todo producto software, así como los costes asociados al mantenimiento correctivo y la refactorización tardías sobre el diseño original del mismo. Una constante en todo proceso de desarrollo ha de ser la gestión, el control y la reducción de la deuda técnica. Así mismo, la identificación temprana defectos que repercuten en la calidad general del software es una actividad esencial.
¿Cómo realizar una inspección de Calidad de Código? ¿En qué se basa?
La técnica principal es el análisis manual y/o automatizado de los módulos constituyentes de un programa, aplicación o producto software para cuantificar características intrínsecas del código fuente, que conocemos como Factores de Salud. Todo producto posee un número de características que determinan lo que se considera como calidad y que podrán diferir según los estándares y modelos que se apliquen en la Organización.
De forma general, podemos agrupar estas características del código en torno a cinco grandes grupos:
- Confiabilidad: también llamada Robustez o tolerancia a fallos, es la capacidad del software de no producir resultados inesperados o no realizar operaciones que provoquen resultados indeterminados.
- Rendimiento: entendido como la eficiencia aplicada al uso de recursos existentes y disponibles
- Seguridad: existencia de vulnerabilidades o defectos de configuración que puedan comprometer la confidencialidad, integridad o disponibilidad del software
- Mantenibilidad: La capacidad del software de ser modificado. Las modificaciones pueden ser correctivos, evolutivos, o cambios relativos al entorno. Cuanto más complejo y peor documentado sea el código, más dificultad tendrá a la hora de ser refactorizado y mantenido
- Portabilidad: Capacidad del software de ser transferido de un entorno a otro.
- La experiencia real en la puesta en marcha de servicios de estas características.
- Experiencia contrastada realizando un análisis de código para distintas tecnologías, entre las que se incluyen Siebel o SAP.
- El proceso automatizado de envío a los “stakeholders” de los informes de calidad de código software.
- La existencia de modelos estándar de medida de calidad de proveedores:
- Definición de modelos de calidad.
- Definición de modelos de aceptación: identificación KPIs.
- Definición de un procedimiento de entregas.
Diferencia entre la inspección de calidad de código manual y automática
Para el análisis manual de código no es necesario disponer de ninguna herramienta ya que el análisis se realiza por inspección directamente sobre los módulos fuente del programa o aplicación. Este tipo de análisis es lento y tedioso aunque puede llegar a ser más exhaustivo y particularizado que el análisis dinámico si se cuenta con un profundo conocimiento:
- Del lenguaje y sus buenas prácticas,
- Del entorno y el contexto del desarrollo
- La tecnología que se pretende analizar,
- El método de licenciamiento preferido por la organización o
- El establecimiento de prioridades, es decir la necesidad de una mayor profundidad en el análisis frente a un mayor tiempo de respuesta
¿Cuánto tiempo se tarda en realizar el análisis de calidad del código?
Dependiendo del enfoque y método elegido para ello, el análisis puede ser de unos minutos, de varias horas o incluso de días de duración según el método empleado, el volumen de código bajo análisis y de la exhaustividad y profundidad de la evaluación de resultados.
Trataremos siempre de automatizar y agilizar las fases más tediosas del proceso de análisis (inspección de fuentes / evaluación de resultados), apoyándonos en herramientas que:
- Incorporan modelos de calidad
- Ejecutan las revisiones de código
- Aportan capacidades de generación de informes y apertura de incidencias sobre plataformas para su debida gestión (ej. Mantis, Jira, etc.)
- Incluyen, por lo general, cuadros de mando con métricas gráficas y estadísticas para la presentación de resultados
¿Cuáles serán los beneficios de contratar el análisis de Calidad de código?
El análisis de calidad de código aporta importantes beneficios para la empresa:
- Detección temprana y prevención de defectos potenciales en las etapas iniciales del ciclo de vida del software
- Identificación de frentes de mejora
- Seguimiento y control de evolución como apoyo a la toma de decisiones informadas
- Reducción de tiempos, costes y recursos en el mantenimiento del software
- Alineamiento del desarrollo con estándares y buenas prácticas de codificación