📝 Tema8
← Volver

Tema de Composición 8: Calidad, Auditoría y Gestión del Rendimiento en los Sistemas de Información Municipal

Introducción

Los sistemas de información constituyen hoy el soporte sobre el que se asienta la prestación de prácticamente la totalidad de los servicios que el Ayuntamiento de Madrid presta a la ciudadanía. Trámites tan cotidianos como el alta en el Padrón municipal, la domiciliación del Impuesto sobre Bienes Inmuebles o la solicitud de una licencia urbanística dependen, en última instancia, de que las aplicaciones, las bases de datos y las infraestructuras que los soportan funcionen correctamente, de forma segura y con un nivel de servicio adecuado a las expectativas del ciudadano. Esta dependencia obliga a la Administración a abandonar una visión meramente técnica o reactiva de la informática y a adoptar, en su lugar, un enfoque de gestión integral de la calidad, en el que la medición, la verificación y el control continuo del rendimiento no son actividades aisladas, sino fases sucesivas de un mismo ciclo que se retroalimenta permanentemente.

En las páginas que siguen se desarrolla precisamente ese ciclo. Se parte de la pregunta más elemental, que es qué se entiende por calidad del software y cómo puede medirse de forma objetiva, recurriendo para ello a los modelos y normas de referencia, fundamentalmente la familia ISO/IEC 25000 y el modelo de madurez CMMI. A partir de esa base conceptual se explica por qué la medición de la calidad resulta insuficiente si no va acompañada de mecanismos de verificación independiente, lo que nos conduce de forma natural a la auditoría informática, sus objetivos, su alcance y su metodología de trabajo. En tercer lugar se aborda cómo el control no puede limitarse a una fotografía periódica, sino que exige una vigilancia continua del comportamiento de los sistemas en producción, lo que se traduce en la evaluación del rendimiento, el análisis de la carga de trabajo y la planificación de la capacidad. Por último, se cierra el círculo explicando cómo las distintas modalidades de mantenimiento, preventivo, correctivo y perfectivo, son el instrumento operativo que traduce en mejoras concretas todo lo detectado en las fases anteriores, devolviendo así el sistema a un nivel de calidad que vuelve a ser objeto de medición, cerrando el ciclo y comenzando de nuevo.

La calidad del software: concepto, modelos y métricas

Cuando se habla de calidad del software no se hace referencia a una propiedad única y homogénea, sino a un conjunto de características que determinan en qué medida un producto satisface las necesidades explícitas e implícitas de quienes lo utilizan. Durante años el referente normativo internacional fue la norma ISO/IEC 9126, que estableció un modelo de características y subcaracterísticas de calidad. Esta norma ha sido sustituida por la familia ISO/IEC 25000, conocida habitualmente como SQuaRE, acrónimo de Software Product Quality Requirements and Evaluation, que organiza de forma sistemática los requisitos y la evaluación de la calidad de los productos software. Dentro de esta familia, la norma ISO/IEC 25010 es la que define el modelo de calidad propiamente dicho, distinguiendo entre la calidad en uso, que mide la experiencia del usuario final en un contexto concreto de utilización, y la calidad del producto, que se descompone en ocho características principales.

La primera de ellas es la adecuación funcional, que valora si el software proporciona las funciones necesarias para realizar las tareas y alcanzar los objetivos para los que fue concebido. La segunda es la eficiencia de desempeño, que mide el comportamiento del sistema en términos de tiempos de respuesta, consumo de recursos y capacidad. La tercera es la compatibilidad, entendida como la aptitud del producto para intercambiar información con otros sistemas y para coexistir con ellos en un mismo entorno sin generar interferencias. La cuarta característica es la usabilidad, que recoge el grado en que el sistema puede ser utilizado por usuarios concretos para alcanzar sus objetivos con eficacia, eficiencia y satisfacción. La quinta es la fiabilidad, que expresa la capacidad del sistema para mantener un nivel de prestaciones determinado bajo condiciones específicas durante un periodo de tiempo, incluyendo aspectos como la madurez, la disponibilidad, la tolerancia a fallos y la capacidad de recuperación. La sexta característica es la seguridad, que protege la información y los datos de manera que las personas u otros sistemas tengan el grado de acceso adecuado a sus niveles de autorización. La séptima es la mantenibilidad, que mide la facilidad con la que el software puede ser modificado para corregirlo, mejorarlo o adaptarlo a cambios en el entorno o en los requisitos. Y la octava y última es la portabilidad, que determina la facilidad con la que el sistema puede transferirse de un entorno a otro.

Junto a este modelo de características, el otro gran referente en la gestión de la calidad es el modelo de madurez de capacidades, conocido por sus siglas CMMI, Capability Maturity Model Integration, desarrollado originalmente por el Software Engineering Institute de la Universidad Carnegie Mellon. A diferencia de la ISO 25010, que evalúa la calidad del producto final, el CMMI evalúa la madurez de los procesos de la organización que desarrolla o mantiene el software, bajo la premisa de que unos procesos maduros y disciplinados conducen, de forma consistente y repetible, a productos de mayor calidad. El modelo distingue cinco niveles de madurez. El nivel uno, denominado inicial, corresponde a organizaciones donde los procesos son impredecibles, escasamente controlados y reactivos. El nivel dos, gestionado, implica que los proyectos planifican y ejecutan su trabajo de acuerdo con una política establecida, empleando personal cualificado y recursos adecuados. El nivel tres, definido, supone que los procesos están caracterizados y comprendidos a nivel de toda la organización, y se describen mediante estándares, procedimientos y métodos. El nivel cuatro, gestionado cuantitativamente, añade el control estadístico de los procesos mediante objetivos cuantitativos de calidad y rendimiento. Y el nivel cinco, optimización, es el de las organizaciones que mejoran sus procesos de forma continua a partir de un enfoque cuantitativo de las causas comunes de variación.

Tanto el modelo de características de la ISO 25010 como los niveles de madurez del CMMI necesitan, para ser operativos, de métricas concretas que permitan cuantificar el grado de cumplimiento de cada característica o de cada práctica de proceso. Las métricas del software suelen clasificarse en tres grandes grupos: métricas de producto, que miden atributos del propio software, como la complejidad ciclomática de McCabe, que cuantifica el número de caminos independientes en el código y, por tanto, su dificultad de prueba y mantenimiento, o el recuento de líneas de código y de puntos de función; métricas de proceso, que valoran la eficacia y la eficiencia de las actividades de desarrollo y mantenimiento, como la densidad de defectos detectados por fase o el esfuerzo invertido en cada actividad; y métricas de proyecto, referidas a la planificación, los costes y los plazos, como las desviaciones entre lo estimado y lo ejecutado. La combinación de estas métricas con los modelos normativos descritos es lo que permite a una organización, y en particular a una Administración Pública, disponer de un cuadro de indicadores objetivo sobre el que fundamentar decisiones de mejora.

De la medición a la verificación: la auditoría informática

Disponer de métricas y de modelos de calidad resulta imprescindible, pero no es suficiente. Toda medición interna corre el riesgo de estar sesgada por quien la realiza, de centrarse únicamente en los aspectos que resultan más cómodos de evaluar o de perder de vista el cumplimiento de la normativa externa que resulta de obligada observancia para una Administración Pública, como el Esquema Nacional de Seguridad o la normativa de protección de datos. Por ello, el ciclo de la calidad exige un segundo nivel de control, de naturaleza independiente y sistemática, que es precisamente el que proporciona la auditoría informática.

La auditoría informática puede definirse como el proceso de recogida y evaluación de evidencias para determinar si los sistemas de información de una organización salvaguardan adecuadamente los activos, mantienen la integridad de los datos, permiten alcanzar de forma eficaz los objetivos de la organización y utilizan los recursos de manera eficiente. Sus objetivos principales son, por tanto, verificar la eficacia de los controles internos establecidos sobre los sistemas, comprobar el cumplimiento de la normativa legal y de los estándares técnicos de aplicación, evaluar el grado de seguridad de la información frente a riesgos y amenazas, y emitir recomendaciones que permitan corregir las deficiencias detectadas y mejorar el funcionamiento global de los sistemas.

En cuanto a su alcance, la auditoría informática no se limita a un único ámbito, sino que puede desplegarse sobre distintas áreas de los sistemas de información en función de los objetivos perseguidos. Así, se distingue habitualmente entre la auditoría de explotación, centrada en la operación diaria de los sistemas en producción, la auditoría de desarrollo, que revisa la metodología seguida en la construcción de las aplicaciones, la auditoría de seguridad, que analiza los controles físicos y lógicos de protección de la información, la auditoría de bases de datos, que valora la integridad, la consistencia y el rendimiento de los repositorios de información, y la auditoría de comunicaciones y redes, que examina la arquitectura y la seguridad de las infraestructuras de interconexión. Además, según quién la realice, la auditoría puede ser interna, cuando es llevada a cabo por personal de la propia organización, habitualmente con una finalidad de mejora continua, o externa, cuando es realizada por terceros independientes, lo que aporta una garantía adicional de objetividad, especialmente relevante de cara al cumplimiento de obligaciones legales o a la certificación frente a estándares como la propia ISO o el marco de buenas prácticas COBIT, ampliamente utilizado como referencia para el gobierno y la auditoría de las tecnologías de la información.

Desde el punto de vista metodológico, una auditoría informática se desarrolla habitualmente en varias fases sucesivas. La primera es la fase de planificación, en la que se define el alcance, los objetivos, los recursos necesarios y el calendario de trabajo, y se identifican los riesgos sobre los que se va a centrar el análisis. La segunda es la fase de ejecución, en la que el equipo auditor recopila las evidencias necesarias mediante entrevistas con el personal responsable, revisión de la documentación técnica y de los procedimientos establecidos, pruebas de cumplimiento que verifican si los controles diseñados se aplican efectivamente, y pruebas sustantivas que comprueban la fiabilidad de los datos y de los resultados producidos por los sistemas. La tercera es la fase de elaboración del informe, en la que se documentan los hallazgos detectados, valorando su importancia y el riesgo asociado, y se formulan recomendaciones concretas y realistas para su subsanación. Y la cuarta y última es la fase de seguimiento, en la que se verifica que las recomendaciones formuladas han sido efectivamente implantadas, cerrando así el círculo y aportando, de nuevo, información que retroalimenta tanto los modelos de calidad como los propios controles internos de la organización.

El control continuo: evaluación del rendimiento y planificación de la capacidad

Tan importante como la medición de la calidad del producto y la verificación periódica mediante auditorías es la vigilancia continua del comportamiento de los sistemas mientras están en funcionamiento, puesto que muchos problemas de calidad no se manifiestan en condiciones de uso normal, sino precisamente cuando la demanda se incrementa de forma significativa. Esta vigilancia continua es la que proporciona el control de la ejecución de los trabajos y la evaluación del rendimiento.

El control de la ejecución de los trabajos consiste en la supervisión sistemática de los procesos que se ejecutan en los sistemas de información, habitualmente a través de lenguajes de control de trabajos y de herramientas de planificación que gestionan las colas de ejecución, asignan prioridades y garantizan que los procesos críticos para el servicio municipal, como los procesos batch de liquidación de tributos o de generación de notificaciones, se completan dentro de las ventanas de tiempo previstas. Sobre esta base de control se construye la evaluación del rendimiento propiamente dicha, que consiste en medir, de forma objetiva y continuada, indicadores como el tiempo de respuesta percibido por el usuario, el caudal o número de transacciones procesadas por unidad de tiempo, la tasa de errores producidos y la disponibilidad efectiva del servicio. Estos indicadores se obtienen mediante herramientas de monitorización que recogen información en tiempo real sobre el estado de los servidores, las bases de datos, las redes y las propias aplicaciones, y que permiten generar alertas automáticas cuando alguno de los parámetros se aproxima a los umbrales considerados críticos.

A partir de los datos recogidos por la monitorización se realiza el análisis de la carga de trabajo, que estudia la evolución de la demanda sobre los sistemas, identificando patrones estacionales, picos previsibles y tendencias de crecimiento. En el contexto de un Ayuntamiento como el de Madrid, este análisis resulta especialmente relevante porque determinados servicios municipales experimentan picos de demanda perfectamente identificables, como ocurre con el padrón municipal en los periodos de escolarización o con la sede electrónica en las fechas de pago voluntario del Impuesto sobre Bienes Inmuebles, momentos en los que el volumen de transacciones puede multiplicarse respecto a la actividad habitual. El análisis de la carga permite, por tanto, anticipar estos picos y dimensionar los sistemas en consecuencia, evitando que la calidad del servicio se degrade precisamente en los momentos de mayor afluencia ciudadana.

Esta anticipación es, en definitiva, el objeto de la planificación de la capacidad, que consiste en determinar con suficiente antelación los recursos de procesamiento, almacenamiento y comunicaciones que serán necesarios para atender la demanda futura, manteniendo los niveles de servicio comprometidos. La planificación de la capacidad se apoya tanto en las series históricas de carga como en las previsiones de crecimiento de los servicios municipales, y se sirve de herramientas de modelado y simulación que permiten estimar el comportamiento del sistema ante distintos escenarios de demanda antes de que estos se produzcan realmente, lo que resulta mucho más eficiente, en términos de coste y de riesgo, que reaccionar una vez que el problema de rendimiento ya se ha materializado.

El mantenimiento como garantía de continuidad

El control del rendimiento y el análisis de la carga no tienen sentido si no van acompañados de la capacidad de actuar sobre los equipos y las instalaciones para corregir las deficiencias detectadas o para anticiparse a ellas. Esta es precisamente la función que cumplen las distintas modalidades de mantenimiento de equipos e instalaciones, que constituyen el brazo ejecutor del ciclo de calidad descrito hasta ahora.

El mantenimiento preventivo es aquel que se realiza de forma planificada y periódica, con independencia de que se haya producido o no una incidencia, con el objetivo de reducir la probabilidad de fallo de los equipos y de las instalaciones. Incluye actividades como la revisión periódica de la climatización y del suministro eléctrico del centro de procesamiento de datos, la actualización de firmware y de parches de seguridad, o la sustitución programada de componentes que se aproximan al final de su vida útil estimada. El mantenimiento correctivo, por su parte, es el que se ejecuta como respuesta a una incidencia ya producida, con el fin de restablecer el funcionamiento normal del sistema en el menor tiempo posible, minimizando el impacto sobre el servicio. Y el mantenimiento perfectivo es aquel orientado no a corregir un fallo, sino a mejorar las prestaciones del sistema, incorporando optimizaciones que aumentan su eficiencia, su capacidad o su facilidad de uso, muchas veces como consecuencia directa de las conclusiones obtenidas en el análisis de rendimiento y en la planificación de la capacidad descritos anteriormente.

La eficacia de estas tres modalidades de mantenimiento depende, a su vez, de que existan mecanismos adecuados de monitorización y de gestión de la capacidad que permitan decidir cuándo y sobre qué elementos actuar. La monitorización continua de los equipos y de las instalaciones aporta la información necesaria para programar el mantenimiento preventivo antes de que se produzca el fallo, para detectar con la mayor rapidez posible las incidencias que requieren mantenimiento correctivo, y para identificar las áreas de mejora que justifican una intervención de carácter perfectivo. De este modo, el mantenimiento no debe entenderse como una actividad aislada de naturaleza puramente técnica, sino como la fase final de un proceso continuo que comienza con la definición de qué se entiende por calidad, continúa con la verificación independiente de esa calidad a través de la auditoría, se retroalimenta con el control permanente del rendimiento en producción, y se cierra precisamente con las actuaciones de mantenimiento que devuelven al sistema, o elevan, el nivel de calidad inicialmente exigido.

Conclusión

El recorrido expuesto permite comprobar que la calidad, la auditoría, el control del rendimiento y el mantenimiento no son compartimentos estancos, sino fases sucesivas de un único ciclo de mejora continua que resulta plenamente aplicable a la gestión de los sistemas de información de un Ayuntamiento como el de Madrid. Todo comienza con la definición objetiva de qué se entiende por un sistema de calidad, a través de modelos como la ISO/IEC 25010 y el CMMI, y de las métricas que los hacen operativos. Esa definición permite, en una segunda fase, verificar de forma independiente, mediante la auditoría informática, si los sistemas y los procesos que los sostienen cumplen efectivamente los niveles de calidad exigidos y la normativa de aplicación. Pero ni la medición ni la auditoría, por sí solas, bastan para garantizar que esa calidad se mantenga en el tiempo, especialmente ante situaciones de demanda excepcional como las que generan procesos municipales tan relevantes como el empadronamiento o el pago de impuestos locales, razón por la cual resulta imprescindible un control continuo del rendimiento, basado en el análisis de la carga y en la planificación de la capacidad, capaz de anticipar los picos de demanda antes de que se produzcan. Y, finalmente, todo este conocimiento se traduce en acciones concretas a través del mantenimiento preventivo, correctivo y perfectivo de equipos e instalaciones, que constituye el instrumento que cierra el ciclo, devolviendo al sistema a un nivel de calidad que volverá, de nuevo, a ser medido, auditado y vigilado. Solo mediante la consolidación de este ciclo integral puede una Administración Pública moderna como el Ayuntamiento de Madrid garantizar que los servicios digitales que presta a la ciudadanía mantienen, de forma sostenida en el tiempo, los niveles de calidad, seguridad y disponibilidad que los vecinos de la ciudad tienen derecho a exigir.