GuÃa Rápida Modelo CMMI para Mejora de Procesos
Transcription
GuÃa Rápida Modelo CMMI para Mejora de Procesos
Programa de Ingeniería de Sistemas – Calidad de Software MODELO DE MEJORA DE PROCESOS CMMI (Capability Maturity Model Integration) CMMI surge de unificar los modelos de ingeniería de software (SW-CMM, también conocido como CMM), de ingeniería de sistemas (SE-CMM) y de desarrollo integrado de productos (IPD-CMM). Se basa en el concepto “Madurez del proceso de software” del SEI (Software Engineering Institute). Este modelo provee guías para mejorar los procesos de cualquier organización y la madurez (habilidad, capacidad) para administrar el desarrollo, adquisición y mantenimiento de productos y servicios. Según el modelo, las organizaciones pueden usarlo para ayudarse a fijar objetivos y prioridades de mejora y proveer una guía para asegurar estabilidad, capacidad y madurez en sus procesos. Al mismo tiempo que sirve como una guía para la mejora de procesos organizacionales. El modelo CMMI se compone de 22 áreas de procesos (agrupadas en cuatro categorías) y cada una se especializa en un proceso o funcionalidad dentro de la empresa, cubriendo desde gestión de procesos y proyectos hasta soporte e ingeniería, de esta manera, el programa de mejora toma una a una las áreas de proceso a mejorar en la empresa según las necesidades de la misma hasta dejarlas institucionalizadas, ya sea para proporcionar eficiencia y calidad en sus procesos y productos o para una certificación. El concepto de área de proceso en el modelo CMMI es fundamental. Según el modelo CMMI, área de proceso se define como un grupo de prácticas relacionada en un área determinada, que cuando se ejecutan correctamente, satisfacen un grupo de metas que se consideran importantes, para hacer mejoras significativas. Existen dos representaciones disponibles del modelo CMMI, la representación escalonada y la representación continua, las representaciones se pueden ver como dos formas de aplicar el modelo y la elección de alguna de ellas depende del enfoque de la empresa: El modelo para software (CMM-SW) establece 5 niveles de madurez para clasificar a las organizaciones, en función de cuáles á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. En el equipo de desarrollo de CMMI había defensores de ambos tipos de representaciones. El resultado fue la publicación del modelo con dos representaciones: continua y escalonada. Son equivalentes, y cada organización puede optar por adoptar la que se adapte a sus características y prioridades de mejora La visión escalonada definirá a la organización dándole en su conjunto un nivel de madurez del 1 al 5. 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. Universidad del Cauca 1 Programa de Ingeniería de Sistemas – Calidad de Software CATEGORÍAS Y ÁREAS DE PROCESO EN CMMI: Primera categoría. Gestión de proyectos. Cubren las actividades relacionadas con la planificación, seguimiento y control del proyecto. Proporcionan mecanismos para establecer, mantener y monitorizar acuerdos con clientes y proveedores. Proporciona mecanismos para establecer y mantener un entorno de colaboración entre equipos. Proporciona un método común para gestionar el proyecto cuantitativamente y anticipándose a los problemas. Área de Proceso Planificación de proyectos (PP) Seguimiento y control de Proyectos (PMC) Gestión Integrada de Proyectos (IPM) Desarrollo de Equipos Integrado (IT) Gestión de Riesgos (RSKM) Gestión de Proyectos Cuantitativa (QPM) Gestión de Acuerdos con Proveedores (SAM) Descripción Desarrolla y mantiene el plan de proyecto, implica a los participantes y obtiene compromiso con el plan Monitoriza las actividades y toma acciones correctivas incluyendo replanificación Adapta los procesos organizativos al proyecto, y establece la visión compartida del proyecto Identifica y organiza a los participantes en equipos colaborativos y desarrolla la visión compartida alineada con la visón compartida del proyecto y la organización Desarrolla e implementa una estrategia proactivapara identificar, evaluar, priorizar y manejar riesgos del programa Recopila métricas de producto y proceso , y analiza los resultados para identificar oportunidades de mejora Gestiona la adquisición de productos de proveedores para los que exista un acuerdo formal Segunda categoría. Ingeniería. Da soporte las actividades del ciclo de vida de desarrollo del producto, desde el desarrollo inicial de requisitos a la transición al uso operacional. Área de Proceso Desarrollo de Requisitos (RD) Gestión de Requisitos (RM) Solución Técnica (TS) Integración del Producto (PI) Verificación (VER) Validación (VAL) Descripción Recopila y armoniza las necesidades de los participantes y las traduce en requisitos del producto Asegura que los requisitos acordados son comprendidos y gestionados Convierte requisitos en arquitectura del producto, diseño y desarrollo Combina los componentes del producto y asegura los interfaces Asegura que el producto cumple las especificaciones Asegura que el producto cumple con el uso propuesto cuando se sitúa en el entorno propuesto Tercera categoría. Soporte. Proporciona los procesos esenciales para soportar el desarrollo y mantenimiento del producto Soporta el establecimiento y mantenimiento de un entorno de trabajo que estimula la integración y gestiona al personal para permitir y premiar comportamientos integradores Proporciona funciones de soporte usadas por todas las áreas de proceso durante el desarrollo del producto Área de Proceso Medición y Análisis (MA) Gestión de Configuración (CM) Aseguramiento de Calidad de Proceso y Producto (PPQA) Análisis y Resolución de Decisiones (DAR) Análisis y Resolución Causal (CAR) Entorno Organizativo para la Integración (OEI) Descripción Establece un programa de métricas para proveer resultados objetivos que puedan ser usados para tomar decisiones informadas y tomar acciones correctivas Establece y mantiene la integridad de los productos de trabajo Proporciona prácticas para evaluar objetivamente procesos, productos y servicios Proporciona un proceso estructurado de toma de decisiones que asegura que las alternativas se comparan con criterios objetivos, y se elige la mejor alternativa Identifica las causas de defectos otros problemas, y toma acciones para prevenir que ocurran en el futuro Establece el entorno para la implementación de equipos integrados Universidad del Cauca 2 Programa de Ingeniería de Sistemas – Calidad de Software Cuarta categoría. Gestión de procesos. Contiene las prácticas relacionadas con la implementación de un programa de mejora de procesos Proporciona la capacidad para documentar y compartir las mejores prácticas, los activos de proceso y aprendizaje Proporciona capacidad de conseguir objetivos cuantitativos de calidad y rendimiento del proceso Área de Proceso Enfoque en el Proceso Organizativo (OPF) Definición del Proceso Organizativo(OPD) Formación Organizativa (OT) Rendimiento del Proceso Organizativo(OPP) Innovación y Despliegue Organizativo (OID) Descripción Ayuda a la organización a establecer y mantener la comprensión de sus procesos e identificar, planificar, coordinar e implementar la mejora Establece y mantiene el conjunto de procesos organizativos estándar y los activos de soporte Identifica las necesidades formativas estratégicas y tácticas entre los proyectos y grupos de soporte Deriva objetivos cuantitativos de calidad y rendimiento del proceso de los objetivos de negocio de la organización Selecciona y despliega mejoras incrementales para mejorar la habilidad de la organización para alcanzar los objetivos de calidad y rendimiento del proceso A continuación se especifican el significado de los niveles y también se muestran las diferentes áreas de proceso de CMMI agrupadas por categorías y por niveles: Nivel 1: Inicial (Initial). Este nivel no provee un ambiente de desarrollo y mantenimiento de software. Se tiene un número de entradas, seguidas por cierto proceso que realmente no estaba documentado, ni se documenta. El nivel inicial representa una situación sin ningún esfuerzo en la garantía de calidad y gestión del proyecto, donde cada equipo del proyecto puede desarrollar software de cualquier forma eligiendo los métodos, estándares y procedimientos a utilizar que podrán variar desde lo mejor hasta lo peor. En este nivel lo normal es no alcanzar las metas definidas ni en tiempo, ni costos, ni recursos planeados. Se centraliza más en situaciones particulares que en la organización. Nivel 2: Repetible (Repeatable). En este nivel se establecen políticas para administrar un proyecto de software y procedimientos para implementar las políticas establecidas. Se realizan revisiones para detectar si el proceso está funcionando correctamente. La planificación y administración de proyectos se basa en experiencias anteriores exitosas (repetible). El nivel 2 representa el hecho que un desarrollador de software ha definido ciertas actividades tales como el informe del esfuerzo y el tiempo empleado, y el informe de las tareas realizadas. En este nivel, no se cuenta con métricas para servicios, solamente para productos. Nivel 3: Definido (Defined). En este nivel se tiene un proceso de software estándar en la organización para desarrollar y mantener el software. Este está documentado y es implementado a lo largo de toda la organización en distintos proyectos. Este proceso es la unión de prácticas de Ingeniería de Software y de administración de procesos. La organización tiende a estandarizar sus procesos, ya que los mismos son estables y repetibles. Este representa el hecho que un desarrollador de software ha definido tanto procesos técnicos como de gestión y se pretende conseguir estándares como el ISO 9001. La medición se hace en los productos y servicios. Nivel 4: Administrado (Managed). Este nivel plantea la calidad y productividad respecto de las actividades del proceso de software. El nivel 4 podría llamarse “cuantitativo” ya que en él cualquier decisión es respaldada por una base cuantitativa. Se mide el progreso y los problemas. El cliente tendrá un entendimiento medible tanto de la capacidad del proceso como del riesgo que éste implica, incluso antes que el proyecto inicie. Se evalúan los procesos de software y sus productos respectivos. Este nivel tiene como objetivo las “metas de calidad en los procesos y productos” y comprende el concepto de medición y el uso de métricas. Es importante que el desarrollador comprenda el concepto de métrica para que alcance el nivel 4 o 5. Estas métricas se utilizan para supervisar y controlar un proyecto de software. Nivel 5: Optimizado (Optimized). La empresa está en un proceso de mejoramiento continuo. El equipo es capaz de anticiparse a cualquier problema que se avecine, mejorando en forma continua y adaptándose a los cambios. Tiene como objetivo “prevenir la ocurrencia de defectos” y las organizaciones analizan los defectos para determinar sus causas. A partir de la eficiencia de nuestro proceso es posible generar informes de costo / beneficio de nuevas tecnologías o proponer cambios al proceso estándar de la organización. El nivel 5 representa la analogía del software con los mecanismos de control de calidad que existen en otras industrias de mayor madurez. Para que un desarrollador alcance el nivel 5 tiene que tener cada proceso definido rigurosamente y seguirlo al pie de la letra. Nota: Alcanzar el Nivel 5 no significa que la organización ya no tenga una meta superior a la cual aspirar. Es más, si la organización no persiste en su mejoramiento continuo ésta podría bajar de nivel en la escala. NIVEL 5 4 3 2 VAL + VER + PI + TS + RD RM INGENIERIA QPM RSKM + IPM + IT PMC + PP + SAM GESTION DEL PROYECTO Universidad del Cauca OID OPP OT + OPD + OPF GESTION DE PROCESOS CAR DAR+ OEI CM + PPQA + MA SOPORTE 3 Programa de Ingeniería de Sistemas – Calidad de Software EL MODELO DE EVALUACION SCAMPI El método SCAMPI (Standard CMMI Appraisal Method for Process Improvement) es un proceso diseñado y desarrollado por el Carnegie Mellon-SEI para ofrecer evaluaciones (benchmarkings) de calidad con relación a los modelos Capability Maturity Model® Integration (CMMI®) y People Capability Maturity Model (People CMM). SCAMPI ofrece una gran flexibilidad de uso a través de sus tres variantes: clases A, B y C. Desde una simple "prueba de enfoque" de los procesos definidos (SCAMPI C), pasando por una validación del despliegue o puesta en marcha en la organización (SCAMPI B), hasta la rigurosa evaluación o benchmarking de la institucionalización (SCAMPI A, incluyendo la posibilidad de obtener un rating del nivel de madurez). El método SCAMPI Clase A se centra en la “institucionalización”, mediante un riguroso estándar de recogida de datos detallados sobre la implementación de los procesos en la organización; así como de identificación y cobertura de la unidad organizativa. Permite la realización de un “benchmarking” con relación al modelo de referencia (People CMM) y obtener una evaluación del nivel de madurez (rating); así como de los objetivos y áreas de procesos incluidas en el alcance. El método SCAMPI Clase A es el único de la familia de evaluaciones SCAMPI que permite la obtención de una acreditación de nivel de madurez. El método SCAMPI Clase B se centra en el “despliegue” o implementación, manteniendo algunos de los requisitos de recogida de datos detallados de la implementación en la organización, pero ofreciendo criterios de muestreo de la organización menos exigentes. Permite validar la implementación de los procesos y prácticas definidas en un ámbito delimitado de la organización, ayudando a estudiar y comprender el posible despliegue de éstas al resto de la organización. El método SCAMPI Clase C se centra en el “enfoque” o propuesta de proceso, con requisitos relajados sobre la recogida de datos detallados del nivel de uso en la organización; aunque validando que el enfoque del proceso a implementar o implementado es consistente con los propósitos de las prácticas del modelo de referencia (People CMM). Permite validar la definición de procesos y prácticas con relación al modelo de referencia (People CMM), ayudando a ganar confianza y mejorar la alineación de dichos procesos a los requisitos y expectativas del People CMM. Constituye una “toma del pulso” de la organización. Para realizar una evaluación SCAMPI con el People CMM, es necesario usar los servicios de un "SCAMPI Lead Appraiser" (Certificador-líder SCAMPI) para el People CMM auspiciados por un SEI-Partner. Comentario: Los SCAMPI B no necesariamente tienen por qué ser realizados por un evaluador oficial. Sólo si se quieren enviar al SEI los resultados, incluso existe una figura que es el Team Leader, que también puede hacerlo sin ser evaluador oficial de evaluaciones scampis A. Beneficios y valor añadido Entre los beneficios y resultados de las evaluaciones (appraisals) SCAMPI con People CMM de mayor valor añadido para las empresas se encuentran los siguientes: Obtener una evaluación ajustada y un conocimiento detallado de los procesos de la organización (prácticas de recursos humanos, de comunicación, etc.) con relación a las mejores prácticas del People CMM Identificación de oportunidades de mejora con relación al People CMM, pudiéndose planificar acciones de mejora y gestión del cambio para maximizar el impacto de dichas mejoras a través desde un entendimiento detallado y sistémico del desempeño de la organización. (Plan Estratégico de RRHH/Mejora de Procesos) Determinación y acreditación del nivel de madurez de la organización (sólo con SCAMPI Clase A), aportando un benchmarking de reconocimiento internacional para la organización (y en especial para recursos humanos). Generar sensibilización y toma de consciencia sobre los beneficios y ventajas de abordar un programa de mejora continua en la organización. Desarrollo de un alto nivel de implicación y participación en procesos de cambio organizativo. Recapitulando: 1. 2. 3. A la hora de trabajar con SCAMPI se requiere: Tener un modelo de procesos como marco de referencia. Demostrar estricta confidencialidad en las revisiones documentales sobre las áreas internas y en los resultados. Es fundamental involucrar a la alta dirección como patrocinador de la evaluación y tener un enfoque colaborativo. Hay que tener en cuenta que planear y ejecutar un SCAMPI es un proyecto completo que tiene un inicio y un fin definido y debe ser confidencial por el manejo de información de la organización. Objetivos del SCAMPI: Comprender el estado actual de las prácticas de la organización. Identificar puntos fuertes, puntos de mejora sobresalientes y oportunidades de mejora. Identificar las prioridades para las acciones de mejora. Determinar el grado de cumplimiento con respecto al marco de referencia. Facilitar el inicio y la continuación del programa de mejora. Una de las partes más importante dentro del ciclo de un SCAMPI son los participantes o involucrados: Universidad del Cauca 4 Programa de Ingeniería de Sistemas – Calidad de Software El Equipo Evaluador: habitualmente conformado por un SCAMPI Lead Appraiser autorizado por el SEI (Software Engineering Institute) Los Miembros del equipo evaluador (internos u/o externos). Si se forma parte del equipo evaluador existen varios requisitos que deben cubrirse, el más importante: asistir al curso oficial del SEI "Introducción a CMMI", tener experiencia y no presentar conflicto de intereses. Adicionalmente el Patrocinador del SCAMPI, Gerencia Media, Líderes de proyectos, representantes de áreas funcionales son participantes fundamentales. Se compone de tres fases y cada una de ellas está conformada por una serie de procesos: Fase I. consiste en planear y preparar la evaluación, conformada por cinco procesos: Análisis de los requerimientos; Evaluación del Plan de desempeño; Preparación y selección del equipo; Obtener evidencias; Analizar evidencias. Fase II corresponde a la parte de conducir la evaluación, conformada por seis procesos: Preparación de participantes; Examinar los objetivos de evidencia; Documentar los objetivos de evidencia; Verificar los objetivos de evidencia; Validar resultados preliminares; Evaluar resultados generales. Fase III consiste en reportar los resultados de la evaluación, así como, preparar y realizar el envío y entrega de los resultados al SEI. Un SCAMPI tiene un enfoque colaborativo, a diferencia de una auditoría se arma un equipo de evaluación, en donde a través de una técnica se determina el resultado obtenido por la organización. Es fundamental que las personas de la organización se sientan identificadas con el equipo colaborador para identificar las debilidades de la organización. SCAMPI Lead Appraiser (Líder-Evaluador SCAMPI) Un "SCAMPI Lead Appraiser" (Líder-evaluador SCAMPI) es un profesional que ha completado con éxito el proceso de autorización-acreditación de la Carnegie Mellon University-SEI que incluye un amplio curriculum formativo y requisitos de experiencia profesional, así como superar con éxito una observación "in-situ" ejerciendo como líder de una evaluación (appraisal) SCAMPI Clase A en una organización-cliente. Un "SCAMPI with People CMM Lead Appraiser" autorizado puede ofrecer servicios de evaluación (appraisals) con distintos niveles de exigencia y personalización usando las evaluaciones SCAMPI clase A, B y C en función de las necesidades de cada organización. Usando SCAMPI y People CMM, una organización puede determinar con precisión su desempeño de acuerdo a las prácticas y áreas del modelo People CMMi. EMPRESAS ACREDITADORAS EN CMMI UBICADAS EN COLOMBIA. Recordemos que CMMi NO ES un estándar, es un modelo, ya que el SEI no tiene competencia como entidad certificadora ni como ente que expide normas. FUENTE: http://www.sei.cmu.edu/library/assets/2006marSwCMM.pdf Vean la página 3 de ese reporte (pie de página, segundo párrafo). Entonces como no hay certificaciones CMMI oficiales de SEI, los llamados "certificados" son los documentos que emiten los evaluadores que ejecutan las SCAMPI. Y surge la pregunta: ¿Dónde se pueden conseguir certificados de haber superado evaluaciones SCAMPI? Si se quiere un certificado de haber superado una evaluación SCAMPI A o B, debe contratarse la evaluación a una empresa de consultoría "partner de SEI", que tenga incluido este tipo de evaluación en sus servicios y que cuentan con evaluadores formados en el SEI. Y no está de más anotar que una evaluación de clase A es la única que puede resultar en una clasificación de nivel. Acá en Colombia, se han encontrado estas empresas autorizadas para ejecutar evaluaciones y acreditar: 1. SEQUAL S.A Cra 43 A N 15 Sur 15 – Of: 802 Medellín. Pbx: (+57) (4) 4449000. 2. ITERA Carrera 14 # 75-77 Of. 705. Bogotá D.C. Teléfono: (571) 6007171. Fax: 3. Procesix Inc. Procesix División Colombia. Carrera 7a No. 71-21. Torre B Oficina 303. Bogotá. (571) 3174628. Universidad del Cauca (571) 3464240. 5 Programa de Ingeniería de Sistemas – Calidad de Software EMPRESAS UBICADAS EN COLOMBIA ACREDITADAS EN CMMI NIVEL DE MADUREZ 5. Fuente: https://sas.cmmiinstitute.com/pars/pars.aspx Estas empresas han superado todos los niveles de madurez y para ello debieron aprobar el esquema de evaluación de SCAMPI Clase A. A continuación, se presenta un listado completo de las empresas que en Colombia han superado las evaluaciones SCAMPI y han alcanzado el mayor nivel de madurez: PersonalSoft S.A.S. Asesores de Sistemas Especializados en Software – Asesoftware S.A.S IG SERVICES S.A.S. MVM Ingeniería de Software S.A. Heinsohn Business Technology S.A. PSL S.A. SoftManagement S.A. Carvajal Tecnología y Servicios ---------------------------------- FIN DEL DOCUMENTO Universidad del Cauca 6