2. CMM Los modelos de madures de la capacidad (CMM por sus siglas en inglés) del SEI (Software EngineeringInstitute) son un grupo de estrategias relacionadas para mejorar el proceso de desarrollo de software, independientemente del ciclo de vida o metodología que se utilice. 2
3. CMM para Todo El SEI ha desarrollado los CMM para el software (SW-CMM), la gerencia de recursos humanos (P-CMM), la ingeniería de sistemas (SE-CMM), para el desarrollo de productos integrados (IPD-CMM), y para la adquisición de software (SA-CMM). 3
4. CMMI Hay algunas contradicciones con los modelos, y una cantidad inevitable de redundancia. Por consiguiente en 1997, se decidió desarrollar una sola estructura integrada para los modelos de madurez, la integración de los modelos de madurez de la capacidad (CMMI) que incorpora los cinco modelos que ya existían. 4
5. SW-CMM La estrategia del SW-CMM es mejorar la gestión del proceso de la gestión del software en la creencia de que los mejoramientos en la técnica son una consecuencia natural. El mejoramiento en el proceso como un todo dará como resultado un software de mejor calidad y menos proyectos de software que rebasen el tiempo y los costos. 5
6. Niveles de CMM Teniendo en mente que los mejoramientos en el proceso del software no pueden suceder de la noche a mañana, el SW-CMM provoca cambios en incrementos. Más específicamente están definidos cinco niveles de madurez, y una organización avanza lentamente en una serie de pequeños pasos evolutivos hacia mayores niveles de madurez del proceso. 6
7. Nivel de Madurez 1: Nivel Inicial Prácticamente nada que suene a gestión de ingeniería de software se pone en práctica en la organización. Todo se hace sobre la marcha y para un propósito. 7
8. Nivel de Madurez 1: Nivel Inicial (2) Un proyecto específico que sea dirigido por un gerente competente y un buen equipo de desarrollo de software puede ser exitoso. No obstante, el patrón común es exceso de tiempo y costo causado por una falta de gestión en general, y planificación en particular. Como resultado, la mayor parte de las actividades reaccionan a la crisis y no a las tareas pre-planificadas. 8
9. Nivel de Madurez 2: Nivel Repetible Se realizan prácticas básicas para la gestión del proyecto de software. Las técnicas de gestión y planificación se basan en la experiencia con productos similares. Se toman mediciones, un primer paso primordial en la consecuencia de un proceso adecuado. 9
10. Nivel de Madurez 3: Nivel Definido El proceso para la producción del software se documenta por completo. Los aspectos gerenciales y técnicos del proceso están muy bien definidos, y se hacen esfuerzos continuos por mejorar el proceso cuando es posible. Se utilizan revisiones para conseguir los objetivos de calidad del software. 10
11. Nivel de Madurez 4: Nivel Estabilizado En este nivel, la organización determina los objetivos de calidad y productividad para cada proyecto. Estas dos cantidades se miden en forma continua y se toma la acción correctiva cuando hay una desviación inaceptable del objetivo. Se utilizan controles estadísticos de calidad para habilitar a la gerencia para distinguir una desviación aleatoria de una falta significativa de las normas de calidad o productividad. 11
12. Nivel de Madurez 5: Nivel de Optimización El objetivo de una organización en este nivel es el mejoramiento continuo del proceso. Para guiar a la organización se utilizan técnicas de control estadístico de la calidad y proceso. El conocimiento adquirido de cada proyecto se utiliza para proyectos futuros. Por lo tanto, el proceso incorpora un bucle de realimentación positivo, dando como resultado un mejoramiento continuo en la productividad y calidad. 12
13. Key ProcessAreas Para cada nivel de madurez, el SEI ha enfatizado una serie de áreas clave del proceso (KPA – Key ProcessArea, por sus siglas en inglés) que una organización debe seguir en su esfuerzo para alcanzar el siguiente nivel de madurez. Cada KPA identifica un conjunto de actividades y prácticas interrelacionadas, las cuales cuando son realizadas de forma colectiva permiten alcanzar las metas fundamentales del proceso. 13
14. Áreas de los KPA´s Gestión Organización Ingeniería 14
16. KPA´s Nivel 2 Gestión de requerimientos Planificación del proyecto Seguimiento y vigilancia del proyecto Gestión de subcontratos Garantía de la calidad Gestión de la configuración 16
17. KPA´s Nivel 3 Centrado en el proceso de la organización Definición del proceso de la organización Programa de capacitación Gestión integrada de software Ingeniería de proyecto de software Coordinación entre grupos Revisiones atentas 17
18. KPA´s Nivel 4 Gestión del proceso cuantitativo Gestión de la calidad del software 18
19. KPA´s Nivel 5 Prevención de defectos Gestión del cambio de tecnología Gestión del cambio de procesos 19
20. Características de los KPA’s Las prácticas que deben ser realizadas por cada KPA están organizadas en 5 características comunes, las cuales constituyen propiedades que indican si la implementación y la institucionalización de un proceso clave es efectivo, repetible, y duradero 20
21. Características de los KPA’s (2) Compromiso de la realización. Capacidad de realización. Actividades realizadas. Mediciones y análisis. Verificación de la implantación. 21