Modelo de madurez de capacidad (CMM) y sus niveles en ingeniería de software
¿Qué es CMM?
El modelo de madurez de capacidad se utiliza como punto de referencia para medir la madurez del proceso de software de una organización.
CMM fue desarrollado en el Instituto de Ingeniería de Software a finales de los años 80. Fue desarrollado como resultado de un estudio financiado por la Fuerza Aérea de Estados Unidos como una forma de evaluar el trabajo de los subcontratistas. Later Basado en el modelo CMM-SW creado en 1991 para evaluar la madurez del desarrollo de software, se integran muchos otros modelos con CMM-I.
¿Qué son los niveles del modelo de madurez de capacidad (CMM)?
- Inicial
- Repetible/gestionado
- Definido
- Gestión cuantitativa
- Optimización
¿Qué sucede en los diferentes niveles de CMM?
Niveles | Actividades | Beneficios |
---|---|---|
Nivel 1 Inicial |
|
Ninguno. Un proyecto es Caos Total |
Gestionado Nivel 2 |
|
|
Nivel 3 definido |
|
|
Nivel 4 gestionado cuantitativamente |
|
|
Optimización de nivel 5 |
|
|
El siguiente diagrama ofrece una representación gráfica de lo que sucede en diferentes niveles de CMM.
¿Cuánto tiempo lleva implementar CMM?
CMM es el proceso más deseable para mantener la calidad del producto para cualquier empresa de desarrollo de software, pero su implementación lleva poco más tiempo de lo esperado.
- La implementación de CMM no ocurre de la noche a la mañana
- Simplemente no se trata simplemente de un “papeleo”.
- Los tiempos típicos de implementación son
- 3-6 meses -> para la preparación
- 6-12 meses -> para la implementación
- 3 meses -> para la preparación de la evaluación
- 12 meses ->para cada nuevo nivel
Estructura interna de CMM
Cada nivel en CMM se define en área de proceso clave o KPA, excepto el nivel 1. Cada KPA define un conjunto de actividades relacionadas que, cuando se realizan de manera colectiva, logran un conjunto de objetivos que se consideran vitales para mejorar la capacidad del software.
Para diferentes niveles de CMM, hay un conjunto de KPA, por ejemplo, para CMM modelo 2, los KPA son
- REQM- Gestión de requisitos
- PP- Planificación de Proyectos
- PMC- Seguimiento y Control de Proyectos
- SAM- Gestión de Acuerdos con Proveedores
- PPQA-Proceso y Garantía de Calidad
- Gestión de configuración CM
De la misma manera, para otros modelos CMM, existen KPA específicos. Para saber si la implementación de un KPA es efectiva, duradera y repetible, se lo mapea sobre la base de lo siguiente:
- Compromiso de realizar
- Habilidad para realizar
- Actividades realizadas
- Medición y Análisis
- Verificando la implementación
Limitaciones de los modelos CMM
- CMM determina qué debe abordar un proceso en lugar de cómo debe implementarse
- No explica todas las posibilidades de mejora del proceso de software.
- Se concentra en cuestiones de software, pero no considera la planificación estratégica de negocios, la adopción de tecnologías, el establecimiento de una línea de productos y la gestión de recursos humanos.
- No dice en qué tipo de negocio debería estar una organización.
- CMM no será útil en el proyecto que tiene una crisis en este momento.
¿Por qué utilizar CMM?
Hoy en día, CMM actúa como un "sello de aprobación" en la industria del software. Ayuda de varias maneras a mejorar la calidad del software.
- Guía hacia un proceso estándar repetible y, por lo tanto, reduce el tiempo de aprendizaje sobre cómo hacer las cosas.
- Practicar CMM significa practicar el protocolo estándar para el desarrollo, lo que significa que no solo ayuda al equipo a ahorrar tiempo sino que también brinda una visión clara de qué hacer y qué esperar.
- Las actividades de calidad encajan bien con el proyecto en lugar de considerarse un evento separado.
- Actúa como un intermediario entre el proyecto y el equipo.
- Los esfuerzos de CMM van siempre hacia la mejora del proceso.
Resumen
La CMM se introdujo por primera vez a finales de los años 80 en la Fuerza Aérea de EE. UU. para evaluar el trabajo de los subcontratistas. Later Posteriormente, con una versión mejorada, se implementó para rastrear la calidad del sistema de desarrollo de software.
Todo el nivel de CMM se divide en cinco niveles.
- Nivel 1 (Inicial): Cuando los requisitos del sistema suelen ser inciertos, incomprendidos y no controlados. El proceso suele ser caótico y ad hoc.
- Nivel 2 (Gestionado): Estimar el costo, el cronograma y la funcionalidad del proyecto. Los estándares de software están definidos.
- Nivel 3 (Definido): Se asegura de que el producto cumpla con los requisitos y el uso previsto.
- Nivel 4 (Gestionado Cuantitativamente): Gestiona estadísticamente los procesos y subprocesos del proyecto.
- Nivel 5 (Madurez): Identificar e implementar nuevas herramientas y mejoras de procesos para satisfacer las necesidades y los objetivos comerciales.