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.

Modelo de Capacidad de Madurez

¿Qué son los niveles del modelo de madurez de capacidad (CMM)?

  1. Inicial
  2. Repetible/gestionado
  3. Definido
  4. Gestión cuantitativa
  5. Optimización

Niveles del modelo de madurez de capacidad (CMM)

¿Qué sucede en los diferentes niveles de CMM?

Niveles Actividades Beneficios
Nivel 1 Inicial
  • En el nivel 1, el proceso suele ser caótico y ad hoc.
  • Una capacidad se caracteriza en función de los individuos y no de la organización.
  • Progreso no medido
  • Los productos desarrollados a menudo superan el cronograma y el presupuesto.
  • Amplias variaciones en el cronograma, el costo, la funcionalidad y los objetivos de calidad.
Ninguno. Un proyecto es Caos Total
Gestionado Nivel 2
  • Gestión de requisitos
  • Estimar los parámetros del proyecto como costo, cronograma y funcionalidad.
  • Medir el progreso real
  • Desarrollar planes y procesos.
  • Se definen los estándares de proyectos de software.
  • Identificar y controlar productos, informes de problemas, cambios, etc.
  • Los procesos pueden diferir entre proyectos.
  • Los procesos se vuelven más fáciles de comprender.
  • Los gerentes y miembros del equipo dedican menos tiempo a explicar cómo se hacen las cosas y más tiempo a ejecutarlas.
  • Los proyectos se estiman mejor, se planifican mejor y son más flexibles
  • La calidad está integrada en los proyectos.
  • El costo puede ser alto al principio, pero disminuye con el tiempo.
  • Solicita más trámites y documentación
Nivel 3 definido
  • Aclarar los requisitos del cliente.
  • Resolver requisitos de diseño, desarrollar un proceso de implementación.
  • Se asegura de que el producto cumpla con los requisitos y el uso previsto.
  • Analizar las decisiones sistemáticamente
  • Rectificar y controlar posibles problemas
  • La mejora de procesos se convierte en el estándar
  • La solución pasa de estar "codificada" a ser "diseñada"
  • Las puertas de calidad aparecen a lo largo del esfuerzo del proyecto con todo el equipo involucrado en el proceso.
  • Los riesgos se mitigan y no toman al equipo por sorpresa.
Nivel 4 gestionado cuantitativamente
  • Gestiona estadísticamente los procesos y subprocesos del proyecto.
  • Comprender el desempeño del proceso, gestionar cuantitativamente el proyecto de la organización.
  • Optimiza el rendimiento de los procesos en toda la organización
  • Fomenta la Gestión Cuantitativa de Proyectos en una organización.
Optimización de nivel 5
  • Detectar y eliminar la causa de los defectos a tiempo
  • Identificar e implementar nuevas herramientas y mejoras de procesos para satisfacer las necesidades y los objetivos comerciales.
  • Fomenta la innovación y la implementación organizacional
  • Da impulso al Análisis y Resolución Causal

El siguiente diagrama ofrece una representación gráfica de lo que sucede en diferentes niveles de CMM.

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:

  1. Compromiso de realizar
  2. Habilidad para realizar
  3. Actividades realizadas
  4. Medición y Análisis
  5. 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.