Directriz: Guía para el uso del modelo MCS
Breve guía para el uso del Modelo de Calidad de Software
Descripción principal

¿Cómo se conforma el MCS?

Como se presentó en la introducción, el Modelo de Calidad de Software (MCS) se estructura en 4 "paquetes" de contenido: (1) Dimensión del modelo, (2) Dimensión del tiempo, (3) Marco de competencias y el (4) Modelo de madurez, que se presentan en la siguiente figura.

Los primeros dos paquetes representan las diferentes dimensiones con las que se puede observar un proceso de software, una dimensión estática y una dinámica. La dimensión estática presenta los elementos que son independientes de la dinámica del proceso a lo largo del tiempo (por ejemplo, si la dinámica es iterativa o secuencial). Básicamente describe los siguientes elementos: actividades, productos de trabajo, roles y categorías (como las disciplinas por ejemplo). Estos elementos estáticos luego serán "usados" por las estructuras dinámicas, que los ordenarán y les darán sentido en un determinado ciclo de vida. Estas estructuras dinámicas son los procesos, iteraciones, fases y ciclos de vida.

 


Los roles están directamente relacionados con el marco de competencias, en donde las competencias describen las habilidades y conocimientos mínimos que debería tener una persona para ejercer un determinado rol definido.

Los niveles de madurez a su vez se relacionan con las actividades, clasificándolas según el foco por nivel al cual esté alineado el objetivo de la actividad.

Por último, los niveles de madurez se relacionan a su vez con los niveles de competencias, los cuales indican cuáles son las habilidades y conocimientos mínimos que debería tener la organización para cumplir con las actividades correspondientes a cada nivel.

Nota: por un tema de traducción de los elementos de SPEM a español, se visualizará la palabra "Tarea" en vez de "Actividad" al momento de visualizar una actividad como se aprecia a continuación:



Recomendaciones para navegar y utilizar el MCS

1. Elegir el ciclo de vida

Para utilizar el MCS, lo primero y más importante es elegir qué ciclo de vida se adapta mejor a las características del proyecto que está por comenzar o está en curso. El MCS presenta dos ciclos de vida, MCS-OpenUp y MCS-Scrum.

MCS-OpenUp es un proceso orientado a planes, esto quiere decir que se recomienda para la construcción de soluciones en las cuales priman las siguientes características:

  • Generalmente existe un alcance definido para el proyecto a realizar
  • Si el desarrollo de la solución está tercerizada, entonces existe un contrato con el proveedor en donde figura el alcance acordado
  • El tiempo y recursos de desarrollo está restringido a una cantidad fija determinada
  • Es necesario generar un cronograma y plan de todo el desarrollo para llevar a cabo el proyecto

La existencia de un alcance definido y un contrato para el desarrollo de la solución tecnológica (donde prime el alcance) son los factores claves para la elección de este tipo de proceso.

MCS-Scrum es un proceso ágil, en donde se fija el tiempo y los recursos y en base a éstos se va definiendo el alcance (y no al revés). Esto quiere decir que se recomienda para la construcción de soluciones en las cuales priman las siguientes características:

  • Generalmente no es posible definir un alcance fijo para el producto a construir desde el inicio del proyecto.
  • Si el desarrollo de la solución está tercerizada, entonces existe un contrato con el proveedor en donde figura el tiempo y recursos asignados, pero no el alcance no está definido con precisión.
  • El tiempo y recursos de desarrollo está restringido a una cantidad fija determinada.
  • Contextos con requerimientos altamente cambiantes y emergentes, por lo cual NO es necesario generar un cronograma y plan de todo el desarrollo desde el inicio para llevar a cabo el proyecto.

La existencia requerimientos cambiantes y emergentes, en combinación de un contrato por tiempo y recursos para el desarrollo de la solución tecnológica son los factores claves para la elección de este tipo de proceso.

2. Entender la dinámica de cada ciclo de vida

Comprender cómo cada ciclo de vida se estructura en la dimensión del tiempo es importante para tener una visión general de cómo será el ciclo de vida de la construcción de la solución tecnológica. Tanto MCS-OpenUp como MCS-Scrum se estructuran en fases, las cuales tienen un objetivo definido a cumplir, repasar los objetivos de las fases en cada ciclo de vida es importante.

Fases en OpenUp

Fases en Scrum

Cada fase a su vez está conformada por procesos y cada proceso por actividades. De las fases y procesos se presenta una vista por defecto del diagrama de actividad, que muestra el flujo de trabajo entre las actividades que conforman cada proceso. Las actividades son los elementos de menor granularidad.

Para ejemplificar, mostramos el proceso Diseñar la arquitectura de la solución, indicando actividades y procesos embebidos:

3. Visualización de actividades por categoría

Cada actividad presentada en el modelo pertenece a diferentes categorías:

  • Disciplinas
  • Niveles de madurez

Es posible navegar el modelo viendo las actividades que pertenecen a cada disciplina (requisitos o diseño, por ejemplo), o a cada nivel de madurez (nivel inicial o nivel gestionado, por ejemplo). Para esto se recomienda utilizar el árbol que se presenta en la barra a la izquierda del sitio web. Capturas de pantalla de ejemplo se muestran a continuación:

 

4. Vistas de acuerdo a otros elementos del modelo: roles o productos de trabajo

Otra forma complementaria de navegar y entender el modelo, es situarse en uno de los elementos estáticos del modelo: un rol, producto de trabajo o actividad y ver el uso de cada elemento en el modelo.

Por ejemplo, desde la perspectiva de un rol, podemos ver: en qué actividades participa y de qué productos de trabajo es responsable:

De la misma forma, desde la perspectiva de un producto de trabajo, podemos ver quién es el responsable y otros roles que lo modifican, de qué actividades es entrada y de qué actividades es salida y el uso dentro de los procesos del ciclo de vida:


5. Vistas de acuerdo a los niveles de madurez

Los niveles de madurez del MCS miden el logro de la organización en el adecuado abordaje de ciertas áreas de proceso definidas dentro de cada nivel como focos por nivel. De esta forma MCS clasifica los diferentes procesos de cada ciclo de vida de a cuerdo al nivel de madurez, y a su vez, a las actividades dentro de dichos procesos de acuerdo a los focos por nivel que atiende.

Para nivel 1 se deben poner en práctica los procesos de:

Para MCS-OpenUp :

Para nivel 2 se deben poner en práctica todos los procesos que figuran en MCS. Puede ser con un enfoque guiado por planes (MCS-OpenUp) o adaptativo (MCS-Scrum).