Modelo de madurez de capacidad (CMM) & 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 se desarrolló en el instituto de ingeniería de software a finales de los 80. Fue desarrollado como resultado de un estudio financiado por la Fuerza Aérea de los Estados Unidos como una forma de evaluar el trabajo de los subcontratistas. Posteriormente, sobre la base del modelo CMM-SW creado en 1991 para evaluar la madurez del desarrollo de software, se integran muchos otros modelos con CMM-I.

En este tutorial, aprenderemos,

  • ¿Qué son los niveles del modelo de madurez de capacidad (CMM)?
  • ¿Qué sucede en los diferentes niveles de CMM?
  • ¿Cuánto tiempo lleva implementar CMM?
  • Estructura interna de CMM
  • Limitaciones de los modelos CMM
  • ¿Por qué utilizar CMM?

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

  1. Inicial
  2. Repetible / Gestionado
  3. Definido
  4. Administrado cuantitativamente
  5. Optimización

¿Qué sucede en los diferentes niveles de CMM?

Niveles Ocupaciones Beneficios
Nivel 1 Inicial
  • En el nivel 1, el proceso suele ser caótico y ad hoc.
  • Una capacidad se caracteriza por los individuos y no por la organización.
  • Progreso no medido
  • Los productos desarrollados a menudo se programan y exceden el presupuesto
  • Amplias variaciones en el cronograma, costo, funcionalidad y objetivos de calidad.
Ninguno. Un proyecto es Total Chaos
Nivel 2 gestionado
  • Gestión de requisitos
  • Estime los parámetros del proyecto como costo, cronograma y funcionalidad.
  • Medir el progreso real
  • Desarrollar planes y procesos
  • Se definen los estándares del proyecto 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 los 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 se integra en los proyectos
  • El costo puede ser alto inicialmente, pero se reduce con el tiempo
  • Solicite 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 decisiones de forma sistemática
  • 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 sorprenden al equipo
Nivel 4 administrado cuantitativamente
  • Gestiona estadísticamente los procesos y subprocesos del proyecto.
  • Comprender el desempeño del proceso, administrar cuantitativamente el proyecto de la organización.
  • Optimiza el rendimiento del proceso en toda la organización.
  • Fomenta la gestión cuantitativa de proyectos en una organización.
Optimización de nivel 5
  • Detecte y elimine la causa de los defectos de manera temprana
  • Identificar e implementar nuevas herramientas y mejoras de procesos para satisfacer las necesidades y los objetivos comerciales.
  • Fomenta la implementación y la innovación organizacional
  • Impulsa el análisis y la resolución de causas

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 toma poco más de lo esperado.

  • La implementación de CMM no ocurre de la noche a la mañana
  • No es simplemente un "papeleo".
  • Los tiempos típicos de implementación son
    • 3-6 meses -> para preparación
    • 6-12 meses -> para implementación
    • 3 meses -> para la preparación de la evaluación
    • 12 meses -> por cada nuevo nivel

Estructura interna de CMM

Cada nivel en CMM se define en el área de proceso clave o KPA , excepto el nivel 1. Cada KPA define un grupo de actividades relacionadas, que cuando se realizan colectivamente logran un conjunto de objetivos considerados vitales para mejorar la capacidad del software.

Para diferentes niveles de CMM, hay un conjunto de KPA, por ejemplo para CMM modelo-2, 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
  • Proceso PPQA y aseguramiento de la calidad
  • Gestión de configuración CM

Asimismo, para otros modelos de CMM, tiene KPA específicos. Para saber si la implementación de una KPA es efectiva, duradera y repetible, se mapea de la siguiente manera

  1. Compromiso de desempeño
  2. Habilidad para realizar
  3. Actividades realizar
  4. Medición y análisis
  5. Verificación de 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 empresarial estratégica, 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 servirá en el proyecto que tiene crisis ahora mismo

¿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 formas a mejorar la calidad del software.

  • Orienta 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 ser consideradas como un evento separado.
  • Actúa como un pasajero entre el proyecto y el equipo.
  • Los esfuerzos de CMM están siempre orientados a la mejora del proceso.

Resumen

CMM se introdujo por primera vez a finales de los 80 en la Fuerza Aérea de EE. UU. Para evaluar el trabajo de los subcontratistas. 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): donde los requisitos del sistema suelen ser inciertos, incomprendidos y descontrolados. El proceso suele ser caótico y ad hoc.
  • Nivel 2 (administrado): Estime 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 los procesos y subprocesos del proyecto de forma estadística
  • Nivel 5 (madurez): identificar e implementar nuevas herramientas y mejoras de procesos para satisfacer las necesidades y los objetivos comerciales

Articulos interesantes...