Introducción CMMI

5,714 views
5,557 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,714
On SlideShare
0
From Embeds
0
Number of Embeds
105
Actions
Shares
0
Downloads
331
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introducción CMMI

  1. 1. Introducción al CMMI Evolución del CMMModelo Escalonado y Modelo Continuo Los Niveles de Madurez El Método de Evaluación SCAMPIIntroducción a Modelos de Calidad de Software
  2. 2. Introducción a Modelos deCalidad de Software Evolución del CMM• Capability Maturity Model, Modelo de Madurez de Capacidades, es un modelo para la mejora o evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software
  3. 3. Introducción a Modelos deCalidad de Software Evolución del CMM• Desarrollado por el SEI (Software Engineering Institute) de la Universidad Carnegie Mellon patrocinado por el Departamento de Defensa del Gobierno de los Estados Unidos• El SEI tiene la misión de avanzar la disciplina de ingeniería de software para asegurar el desarrollo y operación de sistemas con costo, tiempo y calidad mejorados y predecibles
  4. 4. Introducción a Modelos deCalidad de Software Evolución del CMM• El SEI ha desarrollado, y constantemente está refinando modelos para la administración y la mejora de la capacidad del proceso de software• En el proyecto de desarrollo del CMM estuvieron involucrados organizaciones de industria, el Gobierno de los Estados Unidos y el SEI, quienes donaron tiempo de uno o más participantes
  5. 5. Introducción a Modelos deCalidad de Software Evolución del CMM• Durante los años 90 el SEI desarrolló diversos modelos para la mejora y medición de la madurez específica para varias áreas – SW-CMM - P-CMM – SA-CMM - SSE-CMM – T-CMM - SE-CMM – IPD-CMM
  6. 6. Introducción a Modelos de Calidad de Software Evolución del CMM 1986 1987 1991 1993 1998 2001SEI and Mitre SEI Capability Software Acquisition CMMI SE/SW V1.1Corp. Process Maturity CMM (SA-CMM)Maturity Framework V1.0 Systems EngineeringFramework CMM (SE-CMM) Integrated Product SEI Description of Management CMM Process Maturity (IPM-CMM) Framework and People CMM (P-CMM) Maturity Questonnaire SEI SW CMM V1.1
  7. 7. Introducción a Modelos deCalidad de Software CMMI• En 1991 el SEI entregó el Capability Maturity Model (CMM), el cual tiene fuerte orientación al desarrollo del Software• A mediados de la década del 90, el SEI decide unificar los modelos de ingeniería de software (SW-CMM), de ingeniería de sistemas (SE-CMM) y de desarrollo integrado de productos (IPD- CMM), embarcándose en un esfuerzo que da origen a una nueva generación llamada CMMI (Capability Maturity Model Integration)
  8. 8. Introducción a Modelos deCalidad de Software CMMI• La primera versión se publicó en Enero 2002• En Marzo del 2002 se liberó el modelo Capability Maturity Model® Integration (CMMISM), Versión 1.1, el cual puede servir de guía para mejorar los procesos organizacionales, además del desarrollo del Software
  9. 9. Introducción a Modelos deCalidad de Software CMMI• El nuevo CMMI brinda un marco con una estructura común para todas las disciplinas (Ingeniería de Software, Ingeniería de Sistemas, etc.) e incorpora una forma de representación llamada Continua (tomada de IPD-CMM y SE-CMM), orientada a medir la mejora en los procesos de manera individual en vez de hacerlo de manera conjunta como la representación por niveles del modelo original (escalonado)
  10. 10. Introducción a Modelos deCalidad de Software CMMI• Es un conjunto de modelos que contienen los elementos esenciales para hacer efectivos los procesos en una organización• Proveen la orientación para su uso en el desarrollo de procesos• No son procedimientos o descripción de procesos• Aplican a organizaciones de cualquier estructura
  11. 11. Introducción a Modelos deCalidad de Software CMMI• El proyecto de CMM Integration fue conceptualizado para resolver el problema de utilizar múltiples CMMs• La misión del proyecto CMMI fue combinar los tres siguientes modelos origen: 1. El Capability Maturity Model para el Software (SW-CMM) v2.0 draft C 2. El Modelo para Ingeniería de Sistemas (Systems Engineering Capability Model, SECM) 3. El Modelo Integrado de Madurez para Desarrollo de Productos (Integrated Product Development Capability Maturity Model, IPD-CMM) v 0.98
  12. 12. Introducción a Modelos deCalidad de Software CMMI• El marco de referencia de CMMI también fue diseñado para soportar la integración futura de otras disciplinas• Además, el CMMI fue desarrollado para ser consistente y compatible con el ISO/IEC 15504 Technical Report para la Evaluación de Procesos de Software
  13. 13. Introducción a Modelos deCalidad de Software CMMI• Dentro de esta nueva generación de modelos, el sucesor directo del CMM original es el denominado CMMI-SW• Este modelo presenta una mayor cobertura con respecto a las prácticas y objetivos de cada área de proceso
  14. 14. Introducción a Modelos deCalidad de Software Beneficios de implantar CMMI• Reducción de costos por – Estimaciones basadas en hechos – Reducción de reprocesos – Acuerdos claros sobre el servicio y la funcionalidad del producto a entregar• Aumento en la confiabilidad por – Reducción consistente de errores – Cumplimiento consistente de fechas
  15. 15. Introducción a Modelos deCalidad de Software Beneficios de implantar CMMI• Mayor efectividad por – Visibilidad sobre el proceso y sobre el producto – Operar con estándares documentados – Personal entrenado
  16. 16. Introducción a Modelos deCalidad de Software Países con evaluaciones oficiales CMMI
  17. 17. Introducción a Modelos deCalidad de Software Representaciones del Modelo• Los modelos del CMMI tienen dos representaciones – Continua – Por etapas (Escalonada)• Ambas representaciones contienen los mismos elementos, la diferencia es la organización de ellos
  18. 18. Introducción a Modelos deCalidad de Software Representación Continua• Los procesos están organizados de una manera similar a la norma ISO/IEC 15504 la cual a su vez deriva de la norma ISO 9000• Define 6 niveles (de 0 a 5) para establecer el grado de madurez de la organización• Permite seleccionar el orden de la implementación que mejor se ajuste a las necesidades de la organización
  19. 19. Introducción a Modelos deCalidad de Software Representación Continua• La representación continua ofrece un enfoque flexible para la mejora de procesos• Una organización puede escoger el mejorar el desempeño (o capacidad) de un punto específico relacionado con un proceso, o puede trabajar en diversas áreas que estén alineadas de forma cercana a los objetivos de negocio de la organización• La representación continua también permite a la organización mejorar diferentes procesos a diferentes niveles
  20. 20. Introducción a Modelos deCalidad de Software Representación Continua• Sólo existen algunas limitaciones en las elecciones de una organización debido a las dependencias entre las áreas de procesos• Los Niveles de Capacidad son utilizados para medir la ruta de mejora a través de cada área de procesos desde un proceso no ejecutado hasta un proceso en optimización. Por ejemplo, una organización podría desear esforzarse por alcanzar el nivel 2 en un área de procesos y un nivel 4 en otra
  21. 21. Introducción a Modelos deCalidad de Software Representación Continua• En la forma en que los procesos de una organización alcanzan un nivel de capacidad, ésta establece sus metas en el siguiente nivel de capacidad para la misma área de procesos o decide ampliar su alcance y crear el mismo nivel de capacidad a lo largo de un mayor número de áreas de procesos• Si una organización conoce los procesos que necesita mejorar y entiende las dependencias entre las áreas de proceso descritas en CMMI, la representación continua puede ser una buena elección a implantar
  22. 22. Introducción a Modelos deCalidad de Software Representación Continua• Los 6 niveles definidos en CMMI para medir la capacidad de los procesos son: 0. Incompleto - El proceso no se realiza, o no se consiguen sus objetivos 1. Ejecutado – El proceso se ejecuta y se logra su objetivo
  23. 23. Introducción a Modelos deCalidad de Software Representación Continua 2. Gestionado – Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos 3. Definido – Además de ser un proceso "gestionado" se ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa
  24. 24. Introducción a Modelos deCalidad de Software Representación Continua 4. Cuantitativamente gestionado – Además de ser un proceso definido se controla utilizando técnicas cuantitativas 5. Optimizado – Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio
  25. 25. Introducción a Modelos deCalidad de Software Representación Escalonada• Los elementos están organizados siguiendo el esquema del SW-CMM• Define 5 niveles para determinar el grado de madurez de la organización• Provee una secuencia para el mejoramiento comenzando con las prácticas básicas y progresando a través de una ruta predefinida de niveles exitosos
  26. 26. Introducción a Modelos deCalidad de Software Representación Escalonada• La representación escalonada o por etapas, ofrece un enfoque estructurado y sistemático para la mejora de procesos un paso a la vez• Ir alcanzando cada etapa asegura que se ha desarrollado una mejora adecuada que sirve de base para la siguiente etapa
  27. 27. Introducción a Modelos deCalidad de Software Representación Escalonada• Las áreas de procesos están organizadas por niveles de madurez que toman muchas de las conjeturas de un proceso de mejora• La representación escalonada formula el orden de implantación de cada área de procesos de acuerdo a los niveles de madurez, los cuales definen la ruta de mejora para una organización desde el nivel inicial hasta el nivel de optimización
  28. 28. Introducción a Modelos deCalidad de Software Representación Escalonada• El ir alcanzando cada nivel de madurez asegura que los cimientos adecuados de mejora se han establecido para el siguiente nivel de madurez y permite una mejora duradera e incremental• Si la organización no conoce por dónde comenzar y cuáles son los procesos a seleccionar para la mejora, la representación escalonada es una buena alternativa
  29. 29. Introducción a Modelos deCalidad de Software Representación Escalonada• Esta representación ofrece un conjunto de procesos específicos a mejorar los cuales han sido determinados a través demás de una década de investigación y experiencia en la comunidad de software
  30. 30. Introducción a Modelos deCalidad de Software Representación Escalonada• Para el CMMI en su representación por etapas o escalonada los componentes son: – Cinco Niveles de Madurez, que soportan y guían el proceso de mejora – Cuatro Áreas de Procesos, que agrupan los procesos clave (KPA, Key Process Area) indicando cuales áreas deben ser implementadas para alcanzar cada nivel de madurez
  31. 31. Introducción a Modelos deCalidad de Software Representación Escalonada• Componentes … – Dentro de cada área, se utilizan cuatro aspectos para organizar los objetivos y prácticas genéricas – Dentro de cada área, son identificados los objetivos y prácticas específicos del área, en total son 25 Prácticas Claves
  32. 32. Introducción a Modelos deCalidad de Software Niveles de Madurez• Niveles de Madurez – Los Niveles de Madurez consisten en un juego predefinido de áreas de proceso. – El nivel de madurez es medido por el logro de los objetivos específicos y genéricos que aplican a cada juego predefinido de área de proceso.
  33. 33. Introducción a Modelos deCalidad de Software Niveles de Madurez• Existen Cinco niveles de Madurez designados del 1 al 5 y cada capa es la base para la siguiente en el proceso de mejora 1. Inicial 2. Administrado 3. Definido 4. Administrado Cuantitativamente 5. Optimizado
  34. 34. Introducción a Modelos deCalidad de Software Niveles de Madurez• Inicial … – Estado inicial donde el desarrollo se basa en la heroicidad y responsabilidad de los individuos – Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo y mantenimiento de software – Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se ven minados por falta de planificación
  35. 35. Introducción a Modelos deCalidad de Software Niveles de Madurez• Inicial – El éxito de los proyectos se basa la mayoría de las veces en el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos y sobre costos – El resultado de los proyectos es impredecible – Los procedimientos son inexistentes o localizados a áreas concretas – No existen plantillas a nivel corporativo
  36. 36. Introducción a Modelos deCalidad de Software Niveles de Madurez• Gestionado … – Se normalizan las buenas prácticas en el desarrollo de proyectos (en base a la experiencia y el método) – En este nivel las organizaciones disponen de unas prácticas institucionalizadas de gestión de proyectos, existen unas métricas básicas y un razonable seguimiento de la calidad – La relación con subcontratistas y clientes está gestionada sistemáticamente
  37. 37. Introducción a Modelos deCalidad de Software Niveles de Madurez• Gestionado – En este nivel consolidado, las buenas prácticas se mantienen en los momentos de estrés – Están definidos los productos a realizar – Se definen hitos para la revisión de productos
  38. 38. Introducción a Modelos deCalidad de Software Niveles de Madurez• Definido … – La organización entera participa en el proceso eficiente del proyecto de software – Además de una buena gestión de proyectos, en este nivel las organizaciones disponen de correctos procedimientos de coordinación entre grupos, formación del personal, técnicas de ingeniería más detalladas y un nivel más avanzado de métricas en los procesos
  39. 39. Introducción a Modelos deCalidad de Software Niveles de Madurez• Definido – Se implementan técnicas de revisión por pares (peer reviews) – Se conoce de antemano los procesos de construcción de software – Existen métodos y plantillas bien definidas y documentados – Los procesos no sólo afectan a los equipos de desarrollo sino a toda la organización relacionada – Los proyectos se pueden definir cualitativamente
  40. 40. Introducción a Modelos deCalidad de Software Niveles de Madurez• Cuantitativamente Gestionado – Se caracteriza por que las organizaciones disponen de un conjunto de métricas significativas de calidad y productividad, que se usan de modo sistemático para la toma de decisiones y la gestión de riesgos – El software resultante es de alta calidad
  41. 41. Introducción a Modelos deCalidad de Software Niveles de Madurez• Cuantitativamente Gestionado … – Se puede seguir con indicadores numéricos (estadísticos) la evolución de los proyectos – Las estadísticas son almacenadas para aprovechar su aportación en siguientes proyectos – Los proyectos se pueden medir cuantitativamente
  42. 42. Introducción a Modelos deCalidad de Software Niveles de Madurez• Optimizado – La organización completa está volcada en la mejora continua de los procesos – Se hace uso intensivo de las métricas y se gestiona el proceso de innovación
  43. 43. Introducción a Modelos deCalidad de Software Niveles de Madurez• Optimizado … – En base a criterios cuantitativos se pueden determinar las desviaciones más comunes y optimizar procesos – En los siguientes proyectos se produce una reducción de costos gracias a la anticipación a problemas y la continua revisión de procesos conflictivos
  44. 44. Introducción a Modelos deCalidad de Software Niveles de Madurez 1, 2 y 3
  45. 45. Introducción a Modelos deCalidad de Software Nivel de Madurez 4
  46. 46. Introducción a Modelos deCalidad de Software Nivel de Madurez 5
  47. 47. Introducción a Modelos deCalidad de Software Organización de los Niveles de Madurez
  48. 48. Introducción a Modelos deCalidad de Software Áreas de Proceso• El CMMI se estructura en Áreas de Proceso (PA, Process Area) – Las áreas de proceso son un conjunto de prácticas (practices) relacionadas que cuando se ejecutan en forma colectiva cumplen los objetivos requeridos para lograr una mejora sustantiva en un área
  49. 49. Introducción a Modelos deCalidad de Software Áreas de Proceso• Practices, se le denomina a las actividades que se espera que se ejecuten para lograr los objetivos de un área de proceso
  50. 50. Introducción a Modelos deCalidad de Software Áreas de Proceso
  51. 51. Introducción a Modelos deCalidad de Software Áreas de Proceso• Las áreas de procesos pertenecen a una categoría de procesos• Administración de Procesos – Actividades de definición, planeación, implementación, mon itoreo, control, valoración, medición y mejora de procesos – Aplica a todos los proyectos
  52. 52. Introducción a Modelos deCalidad de Software Áreas de Proceso• Administración de Proyectos – Actividades relativas a la planeación, monitoreo y control de un proyecto• Ingeniería – Actividades de desarrollo y mantenimiento de producto – Aplica a todas las disciplinas de ingeniería
  53. 53. Introducción a Modelos deCalidad de Software Áreas de Proceso• Soporte – Actividades para soportar el desarrollo y mantenimiento de producto
  54. 54. Introducción a Modelos deCalidad de Software Áreas de ProcesoÁrea de proceso Categoría Nivel de MadurezAnálisis y resolución de Soporte 5problemasGestión de la configuración Soporte 2Análisis y resolución de Soporte 3decisionesGestión integral de proyecto Gestión de proyectos 3Gestión integral de proveedores Gestión de proyectos 3
  55. 55. Introducción a Modelos deCalidad de Software Áreas de ProcesoÁrea de proceso Categoría Nivel de MadurezGestión de equipos Gestión de proyectos 3Medición y análisis Soporte 2Entorno organizativo para Soporte 3integraciónInnovación y desarrollo Gestión de procesos 5Definición de procesos Gestión de procesos 3Procesos orientados a la Gestión de procesos 3organización
  56. 56. Introducción a Modelos deCalidad de Software Áreas de ProcesoÁrea de proceso Categoría Nivel de MadurezRendimiento de los procesos de Gestión de procesos 4la organizaciónFormación Gestión de procesos 3Integración de producto Ingeniería 3Monitorización y control de Gestión de proyectos 2proyectoPlanificación de proyecto Gestión de proyectos 2Gestión calidad procesos y Soporte 2productos
  57. 57. Introducción a Modelos deCalidad de Software Áreas de ProcesoÁrea de proceso Categoría Nivel de MadurezGestión cuantitativa de Gestión de proyectos 4proyectosDesarrollo de requisitos Ingeniería 3Gestión de requisitos Ingeniería 2Gestión de riesgos Gestión de proyectos 3Gestión y acuerdo con Gestión de proyectos 2proveedores
  58. 58. Introducción a Modelos deCalidad de Software Áreas de ProcesoÁrea de proceso Categoría Nivel de MadurezSolución técnica Ingeniería 3Validación Ingeniería 3Verificación Ingeniería 3
  59. 59. Introducción a Modelos deCalidad de Software Áreas de Proceso
  60. 60. Introducción a Modelos deCalidad de Software Método de Evaluación: SCAMPI• En paralelo con el desarrollo de CMMI, el SEI elaboró un método para la evaluación formal del modelo denominado SCAMPI (Standard CMMI Appraisal Method for Process Improvement)
  61. 61. Introducción a Modelos deCalidad de Software SCAMPI• En SCAMPI, los resultados de una evaluación se obtienen mediante la aplicación de un conjunto de reglas de negocio aplicadas a cada componente del modelo (prácticas, objetivos, áreas de proceso y niveles de madurez)• El método SCAMPI consta de tres fases, en cada una de las cuales se llevan a cabo un conjunto de procesos
  62. 62. Introducción a Modelos deCalidad de Software SCAMPI1.Planificación y preparación de la evaluación 1.1 Analizar Requerimientos Entender las necesidades de negocio de la organización. Nivelar los objetivos del negocio con los objetivos de la evaluación 1.2 Desarrollar plan de evaluación Documentar requerimientos, acuerdos, estimaciones, riesgos, personalizacio nes del método y consideraciones prácticas. Consensuar el plan de evaluación con la organización
  63. 63. Introducción a Modelos deCalidad de Software SCAMPI 1.3 Seleccionar y preparar equipo Asegurar que un equipo calificado esté a cargo de la ejecución de la evaluación 1.4 Obtener y preparar evidencia objetiva inicial Obtener información que facilite la preparación de la evaluación. Identificar potenciales fortalezas y debilidades. Obtener un entendimiento preliminar de las operaciones y procesos de la organización
  64. 64. Introducción a Modelos deCalidad de Software SCAMPI 1.5 Preparar la recolección de la evidencia objetiva Planificar y documentar las estrategias para la recolección de datos, incluyendo fuentes de datos, herramientas y tecnologías a utilizar
  65. 65. Introducción a Modelos deCalidad de Software SCAMPI2. Conducción de la Evaluación 2.1 Examinar la evidencia objetiva Recolectar información sobre las prácticas implementadas en la organización, siguiendo el plan de recolección definido 2.2 Verificar y Validar la evidencia objetiva Verificar la implementación de las prácticas en la organización. Cada práctica implementada se compara con la definición del Modelo CMMI y el equipo le asigna una valoración
  66. 66. Introducción a Modelos deCalidad de Software SCAMPI 2.3 Documentar la evidencia objetiva Crear registros que documenten la implementación de las prácticas, contemplando también las fortalezas y debilidades encontradas 2.4 Generar los resultados de la Evaluación Calificar la satisfacción de los objetivos de acuerdo a las valoraciones asignadas a las prácticas. Calificar la satisfacción de las áreas de proceso de acuerdo a la satisfacción de los objetivos. Calificar los niveles de capacidad o madurez de acuerdo a la satisfacción de las áreas de proceso
  67. 67. Introducción a Modelos deCalidad de Software SCAMPI3. Reporte de los Resultados 3.1 Entregar los resultados de la evaluación Entregar los resultados obtenidos a la organización de manera que puedan ser utilizados para tomar acciones futuras 3.2 Empaquetar y archivar los activos de la evaluación Preservar los datos y registros importantes resultantes de la evaluación, almacenándolos de manera apropiada
  68. 68. Introducción a Modelos deCalidad de Software SCAMPI• Una evaluación en SCAMPI v1.1 permite: – Obtener una visión de la capacidad de ingeniería de una organización al identificar las fortalezas y debilidades de sus procesos actuales – Relacionar estas fortalezas y debilidades al modelo CMMI – Priorizar los planes de mejora – Obtener niveles de capacidad así como niveles de madurez
  69. 69. Introducción a Modelos deCalidad de Software SCAMPI• Una evaluación en SCAMPI v1.1 permite: – Enfocar los mejoras (corregir debilidades que produzcan riesgos) que son los más benéficos para la organización dada su actual nivel de madurez de las capacidades de sus procesos – Identificar riesgos de adquisición/desarrollo relativos a determinaciones de capacidad/ madurez

×