Ensayo CMMI (Integración de Modelos de Madurez de Capacidades o Capability Maturity Model Integration) DANIEL URREGO QUICENO COD 905551 Presentado a CARLOS HERNAN GOMEZ GOMEZ Auditoria de Sistemas 2-1 UNIVERSIDAD NACIONAL DE COLOMBIA SEDE MANIZALES ADMINISTRACION DE SISTEMAS INFORMATICOS 24 DE MARZO DEL 2010. Contenido a. Introducción: ................................................................................................ 4 b. Historia y Evolución: .................................................................................... 5 c. Descripción general de la temática: ............................................................. 7 d. Desarrollo de la temática: ............................................................................ 8 Niveles de capacidad de los procesos (representación continua): ............... 10 Componentes: ............................................................................................... 10 Componentes Requeridos: ........................................................................... 10 Componentes Esperados: ............................................................................. 11 Componentes Informativos ........................................................................... 11 Evaluación (Appraisal): ................................................................................. 12 e. Comparativa con cobit: ................................................................................. 14 Conclusiones y observaciones: ........................................................................ 15 Bibliografía: ...................................................................................................... 16 a. Introducción: Los índices de metodología agiles para desarrollo de sowftware, son aquellas que dan mayor valor al individuo, a la colaboración con el cliente y al desarrollo incremental del software con iteraciones muy cortas. Este enfoque está mostrando su efectividad en proyectos con requisitos muy cambiantes y cuando se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad, por tal razón, las metodologías ágiles están revolucionando el desarrollo del software para su aplicación comercial. los procesos de desarrollo llevan marcado énfasis en el control del proceso mediante una rigurosa definición de roles, actividades y artefactos, incluyendo modelado y documentación detallada. Este esquema "tradicional" para abordar el desarrollo de software ha demostrado ser efectivo y necesario en proyectos de gran tamaño (respecto a tiempo y recursos). Sin embargo, este enfoque no resulta ser el más adecuado para muchos de los proyectos actuales donde el entorno del sistema es muy cambiante, y en donde se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad, por esta razón, emergen las metodologías ágiles que están especialmente orientadas para proyectos pequeños, además, constituyen una solución a medida para ese entorno, aportando una elevada simplificación que a pesar de ello no renuncia a las prácticas esenciales para su calidad. b. Historia y Evolución: Integración de Modelos de Madurez de Capacidades o Capability Maturity Model Integration: (CMMI) es un modelo para la mejora y evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software. Las mejores prácticas CMMI se publican en los documentos llamados modelos. En la actualidad hay tres áreas de interés cubiertas por los modelos de CMMI: Desarrollo, Adquisición y Servicios. La versión actual de CMMI es la versión 1.2. Hay tres constelaciones de la versión 1.2 disponible: CMMI para el Desarrollo (CMMI-DEV o CMMI for Development), Versión 1.2 fue liberado en agosto de 2006. En él se tratan procesos de desarrollo de productos y servicios. CMMI para la adquisición (CMMI-ACQ o CMMI for Acquisition), Versión 1.2 fue liberado en noviembre de 2007. En él se tratan la gestión de la cadena de suministro, adquisición y contratación externa en los procesos del gobierno y la industria. CMMI para servicios (CMMI-SVC o CMMI for Services), está diseñado para cubrir todas las actividades que requieren gestionar, establecer y entregar Servicios. El Modelo de Capacidad y Madurez Integrado -CMMI- (Capability Maturity Model® Integration) es un modelo de referencia de prácticas maduras usadas para evaluar y mejorar la capacidad de los procesos. Es una ruta evolutiva de implementación de las mejores prácticas en los procesos organizacionales. En 1984, el Congreso del Gobierno Americano aprobó la creación de un organismo de investigación para el desarrollo de modelos de mejora para los problemas en el desarrollo de los sistemas de software, y evaluar la capacidad de respuesta y fiabilidad de las compañías que suministran software al Departamento de Defensa. En 1985 SEI empieza a trabajar en un marco de madurez de procesos que permita evaluar a las empresas productoras de software. La investigación evoluciona hacia el “Modelo de Madurez de las Capacidades (CMM)”. En 1991 En agosto SEI publica la versión 1.0 del Modelo de Madurez de las Capacidades para el Software (SW-CMM, Capability Maturity Model for Software). En1993 SEI publica la versión 1.1 de SW-CMM. En 1997 Publicación de la versión 1.2. En el 2000 SW-CMM fue integrado y relevado por el nuevo modelo CMMI c. Descripción general de la temática: CMMI como mejor practica, se publican en los documentos llamados modelos. En la actualidad hay tres áreas de interés cubiertas por los modelos de CMMI: Desarrollo, Adquisición y Servicios. CMMI para el Desarrollo (CMMI-DEV o CMMI for Development), Versión 1.2 fue liberado en agosto de 2006. En él se tratan procesos de desarrollo de productos y servicios. CMMI para la adquisición (CMMI-ACQ o CMMI for Acquisition), Versión 1.2 fue liberado en noviembre de 2007. En él se tratan la gestión de la cadena de suministro, adquisición y contratación externa en los procesos del gobierno y la industria. CMMI para servicios (CMMI-SVC o CMMI for Services), está diseñado para cubrir todas las actividades que requieren gestionar, establecer y entregar Servicios. Dentro de la constelación CMMI-DEV, existen dos modelos: CMMI-DEV y CMMI-DEV + IPPD (Integrated Product and Process Development) Independientemente de la constelación\modelo que opta una organización, las prácticas CMMI deben adaptarse a cada organización en función de sus objetivos de negocio. Una organización no se puede certificar en CMMI, por el contrario, una organización es evaluada (por ejemplo, usando un método de evaluación como SCAMPI) y recibe una calificación de nivel 1-5 si sigue los niveles de Madurez (si bien se comienza con el nivel 2). En caso de que quiera la organización, puede coger áreas de proceso y en vez de por niveles de madurez puede obtener los niveles de capacidad en cada una de las Áreas de Proceso, obteniendo el Perfil de Capacidad de la Organización. d. Desarrollo de la temática: CMMI Los modelo agiles para software (CMM-SW) establece 5 Niveles de Madurez (Maturity Level) para clasificar a las organizaciones, en función de qué áreas de procesos consiguen sus objetivos y se gestionan con principios de ingeniería. Es lo que se denomina un modelo escalonado, o centrado en la madurez de la organización. La selección de los Áreas de Proceso está prefijado, habiendo 7 PA para el nivel de madurez 2 (ML2), 11 para el ML3, 2 para el ML4 y 2 más para el ML5. Este modelo para ingeniería de sistemas (SE-CMM) establece 6 Niveles de Capacidad posibles para cada una de las 22 áreas de proceso implicadas en la ingeniería de sistemas. La organización puede decidir cuales son las Áreas de Proceso (PA) que quiere mejorar determinando así su perfil de capacidad. Para efectos de este ejercicio, los desarrollos de CMMI había cantidad de defensores de ambos tipos de representaciones. El resultado fue la publicación del modelo con dos representaciones: continua y escalonada. Estos modelos no son equivalentes, y cada organización puede optar por adoptar la que se adapte a sus características y prioridades de mejora. Si existe una "stagging" equivalente que nos dice que un Nivel de Madurez equivale a tener en un conjunto de PA determinado un determinado Nivel de Capacidad. La visión continua de una organización mostrará la representación de nivel de capacidad de cada una de las áreas de proceso del modelo. La visión escalonada definirá a la organización dándole en su conjunto un nivel de madurez del 1 al 5. Niveles de capacidad de los procesos (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. 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. 4.- Cuantitativamente gestionado: Además de ser un proceso definido se controla utilizando técnicas cuantitativas. 5.- Optimizando: 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. Mejora continua. Componentes: Área de proceso: Conjunto de prácticas relacionadas que son ejecutadas de forma conjunta para conseguir un conjunto de objetivos Componentes Requeridos: Objetivo genérico: Los objetivos genéricos asociados a un nivel de capacidad establecen lo que una organización debe alcanzar en ese nivel de capacidad. El logro de cada uno de esos objetivos en un área de proceso significa mejorar el control en la ejecución del área de proceso. Objetivo específico: Los objetivos específicos se aplican a una única área de proceso y localizan las particularidades que describen qué se debe implementar para satisfacer el propósito del área de proceso. Componentes Esperados: Práctica genérica: Una práctica genérica se aplica a cualquier área de proceso porque puede mejorar el funcionamiento y el control de cualquier proceso. Práctica específica: Una práctica específica es una actividad que se considera importante en la realización del objetivo específico al cual está asociado. Las prácticas específicas describen las actividades esperadas para lograr la meta específica de un área de proceso. Componentes Informativos Propósito Notas introductorias Nombres Tablas de relaciones práctica - objetivo Prácticas Productos típicos Sub-prácticas: Una sub-práctica es una descripción detallada que sirve como guía para la interpretación de una práctica genérica o específica. Ampliaciones de disciplina: Las ampliaciones contienen información relevante de una disciplina particular y relacionada con una práctica específica. Elaboraciones de prácticas genéricas: Una elaboración de una práctica genérica es una guía de cómo la práctica genérica debe aplicarse al área de proceso. Evaluación (Appraisal): Gran cantidad de organizaciones valoran el medir su progreso llevando a cabo una evaluación (appraisal) y ganando una clasificación del nivel de madurez o de un nivel de capacidad de logro. Este tipo de evaluaciones son realizadas normalmente por una o más de las siguientes razones: Para determinar que también los procesos de la organización se comparan con las mejores prácticas CMMI y determinar qué mejoras se pueden hacer. Para informar a los clientes externos y proveedores acerca de que también los procesos de la organización se comparan con las mejores prácticas CMMI. Para cumplir los requisitos contractuales de uno o más clientes. Este tipo de valoraciones de las organizaciones utilizando un modelo CMMI deben ajustarse a los requisitos definidos en el documento "Appraisal Requirements for CMMI" (ARC). La evaluación se enfoca en identificar oportunidades de mejora, y comparar los procesos de la organización con las mejores prácticas CMMI. Los equipos de evaluación usan el modelo CMMI y un método conforme a ARC para guiar su evaluación y reporte de conclusiones. Los resultados de la evaluación son usados para planear mejoras en la organización. Hay tres clases de evaluación: Clase A,B,C. El Standard CMMI Appraisal Method for Process Improvement (SCAMPI) es un Método de evaluación que cumple todos los requerimientos ARC. Una evaluación de clase A es más formal y es la única que puede resultar en una clasificación de nivel. El Standard CMMI Appraisal Method for Process Improvement (SCAMPI) es el método oficial SEI para proveer puntos de referencia de sistemas de calificación en relación con los modelos CMMI. SCAMPI se usa para identificar fortalezas y debilidades de los procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de capacidad y madurez. Se utilizan ya sea como parte de un proceso o programa de mejoramiento, o para la calificación de posibles proveedores. El método define el proceso de evaluación constando de preparación; las actividades sobre el terreno; observaciones preliminares, conclusiones y valoraciones; presentación de informes y actividades de seguimiento. e. Comparativa con cobit: xix CobIT, por otro lado, es un modelo desarrollado por el IT Governance Institute cuyo propósito es establecer una serie de objetivos de control para las actividades de la organización de IT. CobIT se organiza en cuatro dominios, los cuales a su vez se descomponen en procesos que contienen los objetivos de control. Como puede apreciarse en la Figura anterior, varios de los procesos tienen puntos de contacto con CMMI. Por ejemplo, P09 Administrar Riesgos está claramente relacionado con Gestión del Riesgo (RSKM) (aunque los alcances son distintos) y P10 Administrar Proyectos con Planificación del Proyecto (PP), Monitoreo y Control del Proyecto (PMC) y Administración Integrada del Proyecto (IPM). Sin embargo, debe recordarse que ambos modelos tienen propósitos distintos: uno apunta a facilitar la evaluación y mejora de procesos, mientras que el otro está enfocado en proveer objetivos y guías para controlar las actividades de IT. Podríamos pensar, entonces, que las prácticas descriptas en CMMI, una vez implementadas, deberían facilitar el cumplimiento de algunos de los objetivos de control de CobIT. Conclusiones y observaciones: Para los niveles 3 y 4 de CMMI se proporcionan un nivel de organización alto para poder aplicar los procesos que el modelo incluye, el grado de éxito que el modelo puede o no tener depende directamente del grado de compromiso que los individuos de la organización estén dispuestos a dedicarle al proceso, pero sobre todo, que ellos crean que el proceso funciona para desempeñar sus labores. También es claro que estos niveles se abordan o intentan abordar cuando la empresa tiene bien definido un plan de desarrollo y crecimiento institucional, por lo cual el compromiso puede entenderse que esta implícito en la organización. Seguir la metodología del CMM no es algo que pueda lograrse inmediatamente, para conseguir el segundo nivel, que es el primer paso que se debe de tomar cuando se ha decidido crecer institucionalmente, debe de realizarse un cambio cultural y laboral que lleva tiempo, al cual tiene que apegarse si quieren conseguir todos los beneficios que el modelo brinda. Una empresa que decide implementar el modelo CMM, indica que no sólo se preocupa por la calidad de su organización sino que quiere constituir un proceso continuo de mejora. Bibliografía: http://www.sergiovillagra.com/Contenidos/Recursos/WP03%20Una%20Intro duccion%20a%20CMMI.pdf http://www.navegapolis.net/content/view/330/ http://www.ingenierosoftware.com/calidad/cmm-cmmi.php http://www.sei.cmu.edu/cmmi/ http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=cmmi