Modelo de Calidad de Software (MCS)


 1. Introducción.

 2. Calidad de Software.

 3. Ciclo de Vida para la Construcción de Soluciones Tecnológicas.

 4. Niveles de Madurez de TI.

 5. Marco de Competencias.

 6. Marco de Procesos.

 7. Aspectos de Calidad por Nivel de Madurez (Foco)

 8. Indicadores

 

1. Introducción

 

El Modelo de Calidad de Software (MCS) es una herramienta concebida para guiar a las instituciones a la mejora continua, con el propósito de que fortalezcan sus procesos y puedan brindar productos y servicios de alto nivel a los ciudadanos, con el adecuado uso de las tecnologías.

El MCS está pensado para fortalecer las capacidades de los servidores públicos y los procesos de las instituciones en las áreas de TI. Se estructura en dos marcos de trabajo: 1) Marco de Competencias; 2) Marco de Procesos. Ambos marcos de trabajo corresponden directamente a la gestión de las áreas de TI.

Este modelo se fundamenta en el ciclo de vida para la construcción de software, desde el nacimiento de la idea, la cual es posteriormente conceptualizada y refinada, hasta lograr construir y poner en operación una solución tecnológica. Se parte de la premisa de que el ciclo de vida es independiente de la metodología a usar (tradicional / incremental / iterativa) para poner en práctica los procesos de TI.


2. Calidad de Software

 

Las organizaciones en su afán de proveer productos y servicios a los ciudadanos se ven en la necesidad de construir soluciones tecnológicas que fortalezcan sus procesos de gestión. Los ciudadanos son cada día más exigentes y demandan frecuentemente el uso de las tecnologías en sus relaciones con el gobierno, y son críticos naturales de la forma en que dichas tecnologías son aplicadas en el común uso de sus relaciones. La forma en que se conciba y construya una solución tecnológica puede brindar seguridad, agilidad, confianza o entorpecer la gestión de productos y servicios que se proveen a los ciudadanos. En caso de entorpecer generará incertidumbre, desconfianza y descontento.

Las soluciones tecnológicas continúan brindado resultados satisfactorios a la hora de proveer productos y servicios, haciéndose cada día más necesarias y comunes entre los ciudadanos, es por esto que la calidad de software juega un papel muy importante en la construcción de las soluciones tecnológicas ayudando en la definición de criterios necesarios para la obtención de soluciones aceptables y proveyendo una visión de organización para los proyectos de software en función a asegurar que los criterios se cumplan y de ser posible superen lo esperado por todos.

Un poco para comprender el significado que tiene la calidad del software, el estándar internacional IEEE 610 la define como “el grado en el cual un componente, sistema o proceso satisface requisitos especificados y/o necesidades y expectativas del usuario/cliente”. En este sentido, cobra significado ver involucrada la calidad del software desde la concepción de la idea y no desde las pruebas de software como comúnmente se le atribuye.

El cronómetro de satisfacción de los ciudadanos se mantendrá en verde en la medida que nuestros esfuerzos se consoliden de forma positiva, construyendo soluciones tecnológicas que brinden respuestas satisfactorias, que sean percibidas como fáciles e intuitivas al usar, y realmente ayuden a conseguir rápidamente lo que se necesita.


3. Ciclo de Vida para la Construcción de Soluciones Tecnológicas

 

Toda construcción de solución tecnológica corresponde a un ciclo de vida y aunque muchas metodologías reaccionan a un ciclo de vida, la realidad es que los procesos adoptados son siempre los mismos. Lo que puede divergir comúnmente son las técnicas y herramientas que aplicamos en los procesos, porque normalmente dependen de la metodología adoptada en nuestros proyectos (llamase ágil, tradicional, u otros).

Con este enfoque, el ciclo de vida adoptado por el modelo se adapta a las metodologías tradicionales y a las metodologías agiles, ya que no posee restricciones que den como absoluto el uso de una única metodología. Los procesos representados en este ciclo son comunes e indispensables para cualquier metodología.

La siguiente imagen es una representación del ciclo de vida considerado para el MCS. 
 
De click en la imagen y conozca la Guía Rápida del Modelo de Calidad de Software

 

Imagen: Ciclo de Vida para la Construcción de Soluciones Tecnológicas

 

La imagen representa un ciclo de vida que inicia en la identificación y evaluación de necesidades existentes, originando estas necesidades el inicio para la construcción o mejora de una solución tecnológica. Las necesidades se convierten en requerimientos del cliente necesarios para la planificación o estimación de un proyecto de software. Se refinan los requerimientos, se diseña y construye la solución y se ejecutan instancias de pruebas de software de acuerdo a la estrategia definida en la planificación. Se pone en operación la solución tecnológica y se mantiene en constante revisión brindado soporte a cualquier incidencia que puede ocurrir. La forma es que se ejecute el ciclo de vida, las técnicas a utilizar, entre otros, son aspectos que variaran conforme a la metodología seleccionada por el área de TI y el grado de madurez que tengan en sus procesos.

 

La Calidad del Software está vincula en todo el ciclo de vida y debe asegurarse la inclusión de las capacidades necesarias para el aseguramiento de la calidad, y concebirse como una cultura de trabajo que fomente la creación de soluciones tecnológicas con el menor número de defectos, con el foco de cumplir con los criterios de aceptación y de ser posible superar las expectativas de los ciudadanos. Se debe partir de la premisa "Prevenir defectos es mejor que detectar defectos para su posterior corrección". Es inevitable encontrar defectos que posteriormente deberán ser corregidos pero si adoptamos la cultura de prevención seguramente el número de defectos a conseguir será muy pequeño.                             

 


4. Niveles de Madurez de TI

 

El nivel de Madurez es el grado de cumplimiento y logro (desarrollo) del conjunto de prácticas específicas y genéricas que existen dentro de una organización. Para el modelo de calidad de software se asumen cuatro (4) niveles de madurez, es decir, cuatro (4) grados de desarrollo de las prácticas específicas y genéricas. Se parte de que el nivel de madurez 1 es el grado menor de desarrollo. Se uso el estándar internacional CMMI como referencia para la definición de los niveles de madurez. No fue una referencia absoluta, se consideraron variantes y premisas propias del contexto de las instituciones uruguayas. Los niveles de madurez definidos son:

1. Inicial: Los procesos son ad-hoc y no tienen un esquema formal. No proporciona un entorno estable para dar soporte a los procesos. El éxito depende de la competencia y disposición del personal de la organización y no del uso de procesos probados. Una misma persona podría estar cumpliendo varios roles al mismo tiempo. La calidad de los productos se centra en la verificación y validación de los requerimientos y necesidades del negocio con los referentes adecuados y son tenidas en cuenta para la aceptación del producto entregado.

2. Gestionado: La organización asegura que sus proyectos planifican  los procesos y los ejecutan de acuerdo a formas  específicamente definidas para ellos; los proyectos emplean personal con habilidades adecuadas, dispone de recursos necesarios para producir resultados controlados; involucran a los stakeholders relevantes; se monitorean, controlan y revisan; y se evalúan en cuanto a su adherencia a sus descripciones de proceso.  Incorpora los aspectos de calidad de nivel 1 para los productos y se consideran los aspectos técnicos y de integración.

3. Institucionalizado: Los procesos son bien caracterizados y comprendidos, y se describen en políticas, estándares, procedimientos, herramientas y métodos. El conjunto de procesos estándar de la organización son comunicados y utilizados de acuerdo a las adaptaciones necesarias para cada proyecto. Se establece y mejora a lo largo del tiempo. La calidad de los productos cumple los criterios de nivel 2 y comienza a asociarse al cumplimiento de los procesos de la organización. Se reutilizan activos y respetan estándares.

4. Optimizado: Mejora continua del rendimiento de procesos mediante mejoras incrementales e innovadoras de proceso y tecnologías. La organización y los proyectos establecen objetivos cualitativos y cuantitativos en cuanto al rendimiento para calidad y procesos, y los utilizan como criterios en la gestión. Los objetivos cuantitativos se basan en las necesidades del cliente, usuarios finales, organización e implementadores del proceso. El rendimiento de calidad y del proceso se comprende en términos estadísticos y se gestiona durante la vida de los procesos. Los objetivos cualitativos y cuantitativos para una organización se establecen y revisan continuamente para reflejar el cambio a los objetivos del negocio, y se utilizan como criterios para gestionar la mejora de procesos.

 

                                                                                                                                                                 


5. Marco de Competencias

 

En numerosas oportunidades nos encontramos con situaciones donde se cree que un profesional de TI debe ser conocedor y experto en todo lo que refiere a las tecnologías. Incluso, se confunden las capacidades necesarias para la construcción de nuevas soluciones tecnológicas con las capacidades para mantener operativa y en buen funcionamiento una solución en ambiente de producción.

Las instituciones se han venido educando en la diferenciación de estas capacidades. Muchas tienen un alto nivel de madurez en la diferenciación de las mismas, mientras que otras instituciones no. No obstante, es un reto para las instituciones conocer de forma asertiva cuales son las capacidades que deben estar presentes en los profesionales de TI para determinados esfuerzos. Incluso no siempre se da el mismo nombre a una misma capacidad, puede darse el caso de que hablemos todos de una misma capacidad y asignemos nombres diferentes. También, puede darse el caso de que ignoremos que algunas capacidades, por ejemplo, las asociadas a la gestión de compras y contratos son necesarias también para una adecuada gestión en TI. La falta de unificación y criterio en cuanto a la especificación de las capacidades dificulta que podamos tener el conocimiento adecuado para asignar profesionales de TI a los proyectos en consideración a las capacidades e incluso subestimemos o sobrestimemos sin saberlo.

Este marco ha sido concebido bajo la inspiración del "European e-Competence Framework” versión 3.0, 2014, el cual es un framework muy interesante que provee perfiles de TI creados a partir de las capacidades de TI.

Nuestro marco de competencias tiene su foco en proyectar las competencias necesarias dentro de las áreas de TI en función a cuatro niveles de madurez, independientemente del nivel de desarrollo asociado a las competencias. Se espera que las instituciones sean quienes asignen a sus roles y perfiles dichas competencias y surjan planes de acción para el desarrollo y fortalecimiento del talento humano en función a las necesidades y al contexto.

 

Para conocer el Marco de Competencias click aquí.                                                                                                     

6. Marco de Procesos

 

El Marco de Procesos para la construcción de soluciones tecnológicas pretende ser una herramienta para guiar la gestión de las TIC en los organismos del gobierno uruguayo. El mismo contempla los procesos mínimos necesarios para emprender soluciones tecnológicas con un alto grado de calidad.

Se espera que las instituciones que necesiten fortalecer sus procesos adopten este marco conforme al contexto que les aplique. También, se espera que aquellas instituciones que tienen sus procesos de TI organizados busquen conocer el modelo de calidad de software y contribuyan a la consolidación del mismo aportando sus buenas prácticas.

El marco de procesos fue basado principalmente en el ciclo de vida para la construcción de soluciones tecnológicas. Actualmente, contempla 16 procesos que van desde la identificación de necesidades, puesta en operación y continuidad operativa de las soluciones en los ambientes de producción.

 

Para conocer el Marco de Procesos click aquí.

7. Aspectos de Calidad por Nivel de Madurez (Foco)

 

Se definió para cada nivel de madurez aspectos que contribuyen de forma positiva en la calidad de las soluciones tecnológicas. Entre algunos de los aspectos fundamentales se pueden visualizar los siguientes:

 

Imagen: Aspectos de Calidad de Software por Nivel de Madurez


8. Indicadores

 

Este Marco de Referencia promueve el uso de indicadores para la mejora de los procesos y los productos de software.

Cualificar y cuantificar aspectos que contribuyan con el resultado final en la construcción de soluciones tecnológicas brindara un mejor enfoque de los aspectos a mejorar durante el ciclo de vida para la construcción del software, facilitara las decisiones y guiara mejor los procesos. 

El presente Marco no pretende presentar todos los indicadores que existen en proyectos de software. Se presentan algunos indicadores que se consideran de importancia y podrían ser de uso común.

Para conocer más sobre los indicadores recomendados click aquí

Subir