Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley CAPÍTULO II Fundamentación teórica 2.1 Fundamentación genérica 2.1.1 Conceptos de calidad Conceptos de calidad según algunos pioneros de la calidad: Calidad es cero defectos haciendo las cosas correctamente desde el principio. Philip B. Crosby Calidad es aptitud para el uso. J.M. Jurán Calidad es total liderazgo de la marca en sus resultados al satisfacer los requisitos del cliente haciendo la primera vez bien lo que haya que hacer. Westhingouse La calidad se refiere a la cantidad de atributo no apreciado contenida en cada unidad del atributo no apreciado. Keith B. Leffler Un software es de calidad si satisface un propósito específico y si sus partes también son de alta calidad; sin embargo a pesar que la mayoría usamos el término “calidad” de una forma que pensamos que tiene sentido, que es entendible para todos, descubriremos que una definición útil de calidad no es fácil de desarrollar. La calidad puede entenderse en dos niveles: El primer nivel de calidad, es producir bienes o servicios cuyas características medibles satisfacen un conjunto de especificaciones que están definidas numéricamente, y el segundo nivel de calidad de productos y servicios es aquél que satisface las necesidades de los clientes para su uso o consumo. En resumen el primer nive l significa trabajar con las especificaciones, mientras que el segundo nivel significa satisfacer al cliente. 2.1.2 ¿Qué es un Proceso? Un proceso es un conjunto de prácticas que se ejecutan con un propósito determinado, las cuales transforman entradas en salidas que son de valor para el cliente. El proceso puede incluir herramientas, métodos, materiales y/o personas. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Proceso es uno de los 3 puntos de apalancamiento de la mejora del desempeño de una Organización. Para mejorar el desempeño, se pueden cambiar los procesos, las personas, la tecnología o una combinación de ellos. 2.1.3 ¿Qué es un modelo de procesos? Un modelo de procesos es un conjunto estructurado de elementos que describen características de procesos efectivos y de calidad. Un modelo indica “Qué hacer”, no “Cómo hacer”, ni “Quién lo hace”. Un modelo proporciona: o Un punto donde comenzar o El beneficio de las experiencias pasadas de la comunidad participante o Un lenguaje común y una visión compartida o Un marco para priorizar acciones o Una forma de definir lo que significa “mejora” para la organización Los procesos incluidos en el “modelo de procesos” son aquellos que la experiencia ha demostrado que son efectivos. 2.1.4 ¿Qué es CMM? CMM – Modelo de Madurez de la Capacidad es un MODELO desarrollado por el Instituto de Ingeniería de Software – SEI de la Universidad Carnegie Mellon, basado en las mejores prácticas actuales de desarrollo de software. CMM es un marco para la mejora de procesos de software y para la evaluación de la madurez de las capacidades. El modelo CMM aplica conceptos de gerencia de procesos, mejora de calidad al desarrollo y mantenimiento de software, y describe los estados a través de los cuales las organizaciones de software evolucionan a medida en que definen, implementan, miden, controlan y mejoran sus procesos de software. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Dentro de la representación por estados, el modelo CMM aplica a la Organización niveles de madurez mediante los cuales se mide el avance de los procesos de la organización Nivel de madurez Estados 1 Inicial 2 Administrado 3 Definido 4 Administrado cuantitativamente 5 Optimizado Cuadro Nro II,1. Nivel de madurez según la representación por estados 2.1.5 Madurez vs Inmadurez Organizaciones con procesos Organizaciones con procesos maduros inmaduros Procesos improvisados por los gerentes y Procesos documentados desarrolladores Cada uno posee sus propios procesos Procesos seguidos consistentemente Procesos comprometidos en orden a El rendimiento de los procesos es medido, cumplir los costos y las fechas acordadas seguido y entendido Calidad difícil de predecir La calidad es predecible porque los procesos están bajo control Los procesos “viven” mientras viven los Los procesos “viven” por sí solos y son desarrolladores mejorados continuamente Las nuevas tecnologías corren riesgos de caer en desuso. Las nuevas tecnologías son incorporadas de una manera disciplinada. Cuadro Nro. II,2. Comparación entre Madurez e Inmadurez Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Gráfico Nro II,1. Efectos de mejora en madurez de los procesos 2.1.6 ¿Qué es CMMI? El Modelo Integrado de Madurez de la Capacidad - CMMI es un conjunto de herramientas que ayudan a la Organización a mejorar sus procesos de desarrollo de productos y servicios, adquisiciones y mantenimiento. El modelo CMMI ha evolucio nado el concepto del Modelo CMM establecido para la maduración de la capacidad de Software, a un nivel que permite el crecimiento continuado y expansión del concepto CMM para múltiples disciplinas, tales como SW-CMM, EIA/IS 731, IPDCMM y otros modelos de mejora de procesos. Madurez de Procesos es un indicador del potencial de crecimiento en capacidad de los procesos, Capacidad es el rango esperado a ser alcanzado por los procesos, y el Rendimiento es el resultado actual alcanzado por el proceso. “El Rendimiento de procesos pasados es un indicador de la Capacidad de los Procesos. La Capacidad de Procesos es una predicción del rendimiento futuro de los procesos”. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley De la misma manera que el modelo CMM, el modelo CMMI tiene una representación por estados, que enfoca o mide la mejora de los procesos usando niveles de madurez. 2.1.7 Evolución de madurez de los procesos CMMI Las Organizaciones en el camino hacia lograr la madurez de los procesos pasan por 5 niveles de maduración: Nivel 1: Inicial Procesos impredecibles, pobremente controlados y reactivos. El proceso de software se caracteriza como ad hoc y ocasionalmente caótico. Pocas actividades están definidas y el éxito de los proyectos depende del esfuerzo individual. Hay carencia de procedimientos formales, estimaciones de costos, planes del proyecto, mecanismos de administración para asegurar que los procedimientos se siguen. Nivel 2: Administrado. Procesos caracterizados en proyectos y acciones reactivas con frecuencia. Son establecidas las actividades básicas para la administración de proyectos de software para el seguimiento de costos, programación y funcionalidad. El éxito está en repetir prácticas que hicieron posible el éxito de proyectos anteriores, por lo tanto hay fortalezas cuando se desarrollan procesos similares, y gran riesgo cuando se enfrentan nuevos desafíos. Las áreas de proceso de nivel 2 son: o Administración de Requerimientos (RM) o Planeamiento de Proyectos (PP) o Monitoreo y Control de Proyectos (PMC) o Administración de acuerdos con Proveedores (SAM) o Aseguramiento de la Calidad de Productos y Procesos (PPQA) o Administración de la Configuración (CM) o Mediciones y Análisis (MA) Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Nivel 3: Definido. Procesos caracterizados en la Organización, y con acciones proactivas. Las actividades del proceso de software para la administración e ingeniería están documentadas, estandarizadas e integradas en un proceso de software estándar para la Organización Las áreas de proceso de nivel 3 son: o Foco en los Procesos Organizacionales (OPF) o Definición de Procesos Organizacionales (OPD) o Entrenamiento Organizacional (OT) o Desarrollo de Requerimientos (RD) o Solución Técnica (TS) o Integración de Productos (PI) o Verificación (VER) o Validación (VAL) o Administración del Proyecto Integrado (IPM) o Administración de Riesgos (RiskM) o Equipo Integrado (IT) o Ambiente Organizacional (OE) o Análisis de Decisión y Resolución (DAR) Nivel 4: Administrado cuantitativamente. Los procesos son medidos y controlados. Se registran medidas detalladas de las actividades del Proceso y calidad del Producto. El proceso de software y el producto son entendidos cuantitativamente y controlados. Las áreas de proceso de nivel 4 son: o Administración Cuantitativa de Proyectos (QPM) o Performance de los Procesos Organizacionales (OPP) Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Nivel 5: Optimizado. Enfoque continuo en la mejora de procesos. Existe una mejora continua de las actividades, las que se logran a través de un feedback con estas áreas de procesos y también a partir de ideas innovadoras y tecnología. La recolección de datos es automatizada y usada para identificar elementos más débiles del proceso. Se hace un análisis riguroso de causas y prevención de defectos. Las áreas de proceso de nivel 5 son: o Análisis de Causas y Resolución (CAR) o Innovación Organizacional (OI) La descripción de las áreas de Proceso se encuentra en el anexo III. Proceso predecible Proceso continuamente mejorado Proceso consistente Proceso disciplinado Nivel 1 Inicial Nivel 2 Administrado Nivel 5 Optimizado Nivel 3 Definido Nivel 4 Administrado cuantitativamente Gráfico Nro II,2. Evolución del proceso de madurez 2.1.8 Antecedentes del CMMI (CMM, ISO ) El CMMI fue creado para resolver el problema de tener múltiples CMMs. La misión del CMMI fue combinar los modelos CMM para Software SW-CMM v2.0 draft C, Electronic Industries Alliance Interim Standar (EIA/IS 731), y CMM para Desarrollo de productos Integrados IPD-CMM v0.98 Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley 2.1.9 Necesita su Organización CMMI? A continuación algunos síntomas para identificar si su organización necesita CMMI. Estos síntomas fueron tomadas de la presentación “ CMMI Overview for Executives” de la Universidad Carnegie Mello. o Los planes se hacen, pero no necesariamente se siguen. o No se hace el seguimiento al trabajo real vs el plan. Los planes no son revisados. o Los requerimientos no son consistentes, los cambios no son manejados. o Los estimados son muy irreales, su incumplimiento es común. o Cuando no se puede cumplir con los plazos, surge una atmósfera de crisis. o Los defectos se encuentran en la fase de pruebas, o peor aún los encuentra el cliente. o El éxito depende de acciones heroicas de individuos competentes. o La consistencia en la ejecución es cuestionable. 2.1.10 Componentes del Modelo CMMI Se denomina Componente a cualquiera de los elementos principales de la arquitectura que componen un modelo CMMI. Los componentes del modelo CMMI son: áreas de procesos, metas genéricas, metas específicas, prácticas genéricas, prácticas específicas y sub prácticas. Las prácticas genéricas se agrupan según las siguientes características comunes: o Compromiso para ejecutar o Habilidad para ejecutar o Dirección de Implementación o Verificación de la Implementación A continuación se define cada uno de los elementos del CMMI Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Niveles de Madurez Area de Proceso 1 Area de Proceso n Area de Proceso 2 Metas específicas Metas genéricas Características comunes Prácticas específicas Compromiso Habilidad Dirección Verificación Prácticas genéricas Gráfico Nro. II,2 Componentes del modelo CMMI Áreas de Proceso (PA) Un área de proceso es un “Conjunto” de prácticas relacionadas, que ejecutadas colectivamente satisface un conjunto de metas consideradas importantes para hacer mejoras significativas en esa área. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Metas Genéricas (GG) Son llamadas “genéricas” porque la misma descripción aparece en múltiples áreas de procesos. Metas Específicas (SG) Las metas específicas aplican a áreas de procesos y direccionan a características únicas que describen lo que debe ser implementado para satisfacer el área de proceso. Características Comunes (KF) Organizan las prácticas genéricas de cada área de proceso. Están agrupadas para proveer una manera de presentar las prácticas genéricas: o Compromiso para ejecutar o Habilidad para ejecutar o Dirección para implementación o Verificación de implementación Prácticas Genéricas (GP) Las prácticas genéricas proveen institucionalización para asegurar que el proceso asociado con el área de proceso debe ser repetible y duradero. Son categorizadas por metas genéricas y características comunes. Prácticas Específicas (SP) Una práctica específica es una actividad que es considerada importante en la meta específica asociada. Describe las actividades esperadas para conseguir las metas específicas de un área de proceso. Sub prácticas Son descripciones detalladas que proveen guías para interpretar prácticas específicas o genéricas. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley 2.2 Fundamentación específica 2.2.1 CMM vs CMMI – Diferencias y Semejanzas CMM CMMI 5 niveles de madurez 5 niveles de madurez 18 Áreas Claves de procesos 24 Áreas de Procesos Orientado al Software Integrado: SW, EIA/IS, IPD Nivel de Madurez 2 CMM CMMI RM - Administración de Requerimientos. RM - Administración de Requerimientos SPP - Planeamiento de Proyectos de PP - Planeamiento de Proyectos Software SPTO – Seguimiento del Proyecto de PMC - Monitoreo y Control de Proyectos Software. SSM – Administración de Subcontratos de SAM - Administración de Acuerdos con Software Proveedores SQA - Aseguramiento de la Calidad del PPQA - Aseguramiento de la Calidad de Software Productos y Procesos SCM – Administración de la CM - Administración de la Configuración Configuración del Software MA - Métricas y Análisis Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Nivel de Madurez 3 CMM CMMI OPF - Foco en los Procesos OPF - Foco en los Procesos Organizacionales Organizacionales OPD – Definición de Procesos OPD – Definición de Procesos Organizacionales Organizacionales PT – Programa de Entrenamiento OT – Entrenamiento Organizacional SPE – Software Product Engineering RD- Desarrollo de Requerimientos TS – Solución Técnica PI – Integración de Productos PR – Revisión por Pares VER - Verificación VAL - Validación ISM – Administración del Software IPM – Administración de Proyecto Integrado Integrado IC – Coordinación Entre Grupos RiskM - Administración de Riesgos IT - Equipo Integrado OE – Ambiente Organizacional DAR – Análisis de Decisión y Resolución Nivel de Madurez 4 CMM CMMI QPM- Administración Cuantitativa de QPM – Administración Cuantitativa de Procesos Proyectos SQM – Administración de la calidad del OPP – Performance de los Procesos Software. Organizacionales Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley Nivel de Madurez 5 CMM CMMI DP - Prevenc ión de Defectos CAR – Análisis de Causas y Resolución TCM – Administración de Cambios OID – Innovación Organizacional y Tecnológicos Entrega PCM – Administración de Cambio de Procesos Cuadro Nro. II,3 Diferencias y semejanzas entre los modelos CMM y CMMI 2.2.2 ¿Por qué se aplica CMMI? Se aplica CMMI porque: o Es un modelo que aplica estándares de calidad o Provee un enfoque más efectivo e integrado a Ingeniería de Sistemas y de Software. o Construye procesos desde un inicio, o sobre inversión previa usada con SW CMM. o Provee un enlace o relación mas explicita entre la Gestión y la Ingeniería con los objetivos del negocio. o Provee mayor visibilidad del ciclo de vida del producto; y las actividades de ingeniería ayudan a asegurar que los productos y servicios satisfacen las expectativas de los clientes. o Incorpora lecciones aprendidas de otras áreas, de mejores prácticas e implanta prácticas de alta madurez más robustas. o Incluye funciones organizacionales que son críticas para los productos y servicios o Soporta integración futura con otros modelos CMMI de disciplinas específicas. o Muestra el camino a seguir en la gestión de proyectos, integrando de una manera ordenada los procesos y los productos. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley 2.2.3 Procesos Categoría de Procesos Administración Organización CAR: Análisis de Causas y Resolución o Ingeniería Niveles 5. Optimizado o 4. Controlado o 3. Definido o o o ?? Administración de Cambios a los Procesos QPM: Administración o OPP: Cuantitativa del Performanc Proyecto e de los Procesos Organizacio nales IPM: Administración Integrada del Proyecto RiskM: Administración de Riesgos DAR: Análisis de Decisión y Resolución o o o o 2. Repetible o o o o o o o 1. Inicial Administración de Cambios Tecnológicos RM: Administración de Requerimientos PP: Planeamiento de Proyectos PMC: Monitoreo y Control de Procesos SAM: Administración de Acuerdos con Proveedores PPQA: Aseguramiento de Calidad de Productos y Procesos CM: Administración de la Configuración MA: Medición y Análisis OPF: Foco en procesos Organizacio nales OPD: Definición de Procesos Organizacio nales AE: Ambiente Organizacio nal IT: Equipo Integrado o o o o o RD: Desarrollo de Requerimientos TS: Solución Técnica VER: Verificación VAL: Validación PI: Integración de Productos Ninguno Los Procesos de Administración deben estar operando antes de iniciar los Procesos Organizacionales y de Ingeniería Procesos Ad Hoc Cuadro Nro. II,4 Cuadro de procesos según nivel y categoría de procesos Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM Propuesta para Implantar CMMI en una Empresa con Múltiples Unidades Desarrolladores de Softwre. Concha Huaroto, Nancy Elizabet. Derechos reservados conforme a Ley 2.2.4 Objetivos del presente estudio Para aplicar el modelo CMMI dentro de una empresa es requerido que se revise a detalle el marco teórico del modelo según lo establecido por el Instituto de Ingeniería de Software de la Universidad Carnegie y Mellon, defina un modelo integrado de procesos y construya procedimientos, guías, formatos, herramientas, etc. que respondan al modelo definido. Posteriormente implementar este modelo definido en base a una metodología. El objetivo del presente estudio es mostrar el enfoque del modelo CMMI y la manera cómo una Organización que cuenta con múltiples Unidades Desarrolladoras de Software (UDS) pueden operar bajo un modelo definido de calidad estándar e integrado que originará que la Organización produzca mejores productos basados en las mejoras de sus procesos. Se mostrará la aplicación de una metodología para transformar una Empresa con múltiples Unidades Desarrolladoras de Software a los procesos CMMI. Así mismo implementar los estándares CMMI en las Unidades Desarrolladoras previa customización de la Unidad sujeto de estudio. No es objetivo del presente estudio la construcción de los procedimientos, guías, formatos, herramientas, etc. que soporten el modelo definido. Elaboración y diseño en formato PDF por la Oficina General del Sistema de Bibliotecas y Biblioteca Central de la UNMSM