cmmi

8
CALIDAD Y AUDITORÍA DE SOFTWARE El CMMI Capability Maturity Model Integration 11/04/2014 Instituto Profesional Santo Tomás Ingeniería en Informática Nivel 7 Manuel García Marcelli

Upload: manuel-garcia-marcelli

Post on 02-Jun-2015

265 views

Category:

Engineering


2 download

TRANSCRIPT

CALIDAD Y AUDITORÍA DE SOFTWARE

El CMMI Capability Maturity Model Integration

11/04/2014

Instituto Profesional Santo Tomás

Ingeniería en Informática

Nivel 7

Manuel García Marcelli

Calidad y Auditoría de Software

Introducción. El CMMI (Capability Maturity Model Integration o Modelo de Madurez de Capacidad Integrado), nace a finales de los años 80, exactamente en el año 1987, dentro de la industria militar de los Estados Unidos con el objetivo inicial de evaluar los procesos de software más críticos del departamento de defensa. El departamento de defensa de los Estados Unidos encargaba desarrollar software a empresas externas las cuales, la mayoría de las veces, presentaban problemas, lo que hacía que el presupuesto se elevara a niveles considerables y las fechas de entrega se aplazaran constantemente, aplazando también los proyectos y actividades internas del departamento. Cuando la situación llegó a niveles intolerables se determinó conformar un comité de expertos para analizar la situación y finalmente poder encontrar una solución a estos problemas. Es así como en el año 1983, dicho comité concluyó que se debía crear un Instituto de la Ingeniería del Software, dedicado exclusivamente a los problemas del software, y a ayudar al Departamento de Defensa. En el año 1985, tras un llamado a un concurso público en donde se presentaron diversos estamentos, la Universidad Carnegie Mellon ganó el concurso creando así el Instituto de la Ingeniería del Software (SEI, por sus siglas en inglés). El SEI, bajo el alero de la Universidad Carnegie Mellon y bajo el patrocinio del Departamento de Defensa del Gobierno de los Estados Unidos, tiene la misión de avanzar la disciplina de la Ingeniería del software para asegurar el desarrollo y operación de sistemas con costo, tiempo y calidad mejorados y predecibles. El SEI finalmente crea el CMM y hasta el día de hoy mantiene el modelo de calidad CMM – CMMI.

Calidad y Auditoría de Software

¿Qué es CMMI? CMMI es el acrónimo de Capability Maturity Model Integration y se refiere a los modelos que contienen las mejores prácticas que ayudan a las organizaciones a mejorar sus procesos, es una guía que ayuda en la mejora de procesos. El enfoque del modelo permite evolucionar desde un proceso en crisis a un proceso controlado, estandarizado, medido y optimizado que sienta las bases de la mejora continua y permite a la organización adoptar nuevas prácticas sobre un proceso estable y controlado que está institucionalizado. Es utilizado por las organizaciones para entender las mejores prácticas de la industria, para priorizar y adoptar las mejoras a los procesos existentes, para compararse con su competencia dentro del mercado o para que los clientes puedan identificar las prácticas que necesitan demostrar sus proveedores. Considera dos enfoques o rutas para adoptar las mejoras y medir el nivel en que han evolucionado y se conocen como representaciones. En una forma se consideran áreas de proceso de manera individual y se califican en niveles de capacidad de acuerdo con la representación continua. El otro enfoque considera un conjunto preestablecido de áreas de proceso que constituyen un nivel de madurez y que es la forma de evaluar la representación escalonada o por etapas.

CMMI continuo. El enfoque permite a una organización seleccionar áreas de proceso específicas y su granularidad de mejora, para mejorar con respecto a ellas. El enfoque continuo usa niveles de capacidad para caracterizar y medir mejoras relativas a un área de proceso individual. Una organización puede alcanzar un mismo nivel de capacidad para todas las áreas de proceso que seleccione o distintos niveles (por ejemplo podría querer alcanzar nivel de capacidad 2 en un área de proceso y nivel de capacidad 4 en otra). Los niveles de capacidad en el enfoque continuo son los siguientes:

Nivel 0 (incompleto): El proceso no se ejecuta o se hace parcialmente. Nivel 1 (Ejecutado): El proceso se ejecuta y se producen productos basados en productos de entrada identificados. Nivel 2 (Administrado): El proceso es reactivo y se caracteriza por su aplicación a proyectos. Nivel 3 (Definido): El proceso es proactivo y se ve a nivel de la organización. Nivel 4 (Administrado Cuantitativamente): El proceso es medido y controlado. Nivel 5 (Optimizado): El proceso se enfoca en la mejora continua.

Calidad y Auditoría de Software

CMMI escalonado. El enfoque escalonado usa un conjunto predefinido de áreas de proceso para definir un camino de mejora para una organización. Este camino de mejora es descrito por un componente del modelo llamado nivel de madurez. Un nivel de madurez es una meseta evolutiva bien definida, que asegura que se ha alcanzado una base para el próximo nivel y permite una mejora incremental y duradera. La representación escalonada está estructurada por 5 niveles de madurez:

1. Inicial. 2. Administrado. 3. Definido. 4. Administrado Cuantitativamente. 5. Optimizado.

Inicial: La organización en este nivel no dispone de un ambiente estable para el desarrollo y mantenimiento de productos y servicios. Administrado: La organización que se encuentra en este nivel ha alcanzado, en algunas áreas organizacionales y/o proyectos, metas genéricas y específicas establecidas en sus áreas de procesos, es decir planean sus procesos, los ejecutan, los miden y los controlan. Definido: Tienen los procesos caracterizados, entendidos por los ejecutores, descritos mediante estándares, procedimientos, métodos y herramientas. Administrado Cuantitativamente: La organización selecciona y administra las actividades que contribuyen perceptiblemente al funcionamiento de proceso total. Estas actividades seleccionadas son controladas con técnicas estadísticas y otras técnicas cuantitativas. Optimizado: Los procesos de la organización son mejorados continuamente basados en una comprensión cuantitativa de las causas comunes de variación inherentes a los procesos. El nivel 5 está centrado en mejorar continuamente el desempeño de los procesos con mejoras tecnológicas incrementales e innovadoras.

Calidad y Auditoría de Software

Diferencias entre Enfoque Continuo y Escalonado. Ambos enfoques contienen los mismos elementos, pero la principal diferencia está en la organización de ellos. Mientras que la representación Continua está enfocada para una sola área de proceso o un conjunto de áreas de proceso, la representación Escalonada está enfocada para un conjunto establecido de áreas de proceso a lo largo de la organización. A continuación una tabla comparativa con las principales diferencias entre ambos enfoques.

Enfoque Continuo Enfoque Escalonado

Concede la libertad de seleccionar el orden de mejora que más convenga a las necesidades de la organización.

Permite a la organización tener un camino predefinido y probado de mejora.

Permite una mayor visibilidad de la capacidad lograda en cada área de proceso individual.

Se focaliza en un conjunto de procesos que provee a una organización de una capacidad específica, que es caracterizada por un nivel de madurez.

Provee una calificación en niveles de capacidad que es usada, sobre todo, para la mejora en una organización y raramente es comunicada externamente.

Provee una calificación en niveles de madurez, que generalmente es usada tanto internamente como externamente.

Permite mejorar diferentes procesos en diferentes niveles.

Resume los resultados del proceso de mejora en un solo nivel de madurez.

Ofrece un enfoque que por ahora carece de datos que demuestren el retorno de la inversión.

Ofrece un enfoque, de relativamente larga historia de uso, que incluye casos de estudio y datos que demuestran el retorno de la inversión.

Calidad y Auditoría de Software

Comparación entre ISO y CMMI.

Hoy en día el Desarrollo del Software avanza progresivamente y no se puede evitar hablar de software sin antes haber chequeado la calidad durante el proceso de creación del mismo. En el mundo existen diferentes modelos para evaluar la calidad de un software que ayudan en gran medida a garantizar el desarrollo y creación de un producto final de calidad.

International Organization of Standards (ISO), es un conjunto de estándares internacionales para sistemas de calidad. Diseñado para la gestión y aseguramiento de la calidad, especifica los requisitos básicos para el desarrollo, producción, instalación y servicio a nivel de sistema y a nivel de producto. La ISO 9001:2000, Está fundamentada en el procedimiento de prácticas orientadas al proceso, en la búsqueda de la satisfacción del cliente y la mejora continua.

Capability Maturity Model Integration (CMMI), es un modelo de procesos, o una colección estructurada de elementos que describe características de procesos probados por experiencia para ser efectivos. Define áreas de Proceso (PA) en las que se deben llevar a cabo prácticas específicas o genéricas.

CMMI se restringe al proceso de producción de forma más específica y también, por tanto más eficaz mientras que ISO 9000 contempla un escenario más amplio en la producción y presenta una gran atención hacia el cliente. La principal diferencia entre las dos es que el ISO 9001 especifica un nivel aceptable mínimo de calidad para procesos de software mientras que el CMMI estable una estructura conceptual de referencia para medir la mejora continua de procesos y es más explícita en definir cómo llegar al objetivo.

Tabla comparativa.

ISO 9001:2000 CMMI Estándar. Modelo.

Amplia dirección, no detallado. Detallado.

Un conjunto de requerimientos a satisfacer. Pasos progresivos (niveles).

Sin guías para la implementación. Institucionalización y guía de implementación.

La ISO 9000 es muy general, ya que su concepción fue pensada para abarcar cualquier tipo de empresa.

CMMI está enfocada hacia el desarrollo concreto de software.

Contempla un escenario más amplio en la producción y presenta una gran atención hacia el cliente.

CMMI se restringe al proceso de producción de forma más específica y también más eficaz.

ISO 9000 es de carácter estático, proporcionando mecanismos de mejora mucho más débiles.

CMMI es de carácter y espíritu incremental, lo cual motiva al personal.

ISO 9000 provoca una realidad empresarial en la que el único reto es mantener la certificación.

CMMI mueve el sistema de calidad de la organización en una dirección de mejora continua.

Calidad y Auditoría de Software

Empresas chilenas con certificación CMMI.

Inter Media Chile. Nivel: 2 Año: 2006 El proceso de evaluación estuvo a cargo de la empresa América XXI y se extendió durante 5 días. Estuvo a cargo del Lead Assessor José Guerrero de América XXI, y cuatro personas formaron parte del ATM (equipo de evaluación) siendo tres de ellas profesionales internos y una persona externa de América XXI. Durante esta etapa, entrevistaron al Project Leader, Middle Manager, Senior Manager, SQA, SCM y Developers, arrojando como resultado diez personas entrevistadas y cuatro proyectos con su documentación revisada. Lo que se revisó fue el cumplimiento de las metas, objetivos y actividades pertenecientes a las 5 KPAs del Nivel 2, para lo cual es muy difícil llegar a conclusiones subjetivas, ya que el método de Evaluación CBA IPI (CMM Bases Appraisal for Internal Process Improvement) obliga a la aplicación de reglas de corroboración, lo que quiere decir que para que cierta observación sea considerada como válida, ésta debe haber sido declarada por dos fuentes diferentes en dos sesiones diferentes. También es necesario que todos los miembros del equipo lleguen a consenso respecto a cada una de las observaciones realizadas.

Everis Chile. Nivel: 3 El Director de Servicios Responsable de Outsourcing para everis Chile, Carlos Tello señalo que: “Este logro -que permite posicionarnos y diferenciarnos a nivel local y LATAM- fue un trabajo planificado durante 17 meses, el cual involucró directa e indirectamente a 210 consultores los cuales participaron activamente del proceso, presente en los servicios de outsourcing de la oficina de Chile (en plataformas tales como SIEBEL, Oebs y Portfolios de Aplicaciones de los distintos clientes). Esta certificación permitió adaptar y mejorar los actuales procesos con los cuales everis despliega sus servicios de outsourcing en su oferta comercial” En Chile solamente existen 34 compañías certificadas en el SEI (*) entre los niveles 2, 3 y 5. (*): Fuente SEI Año 2009.

Calidad y Auditoría de Software

Conclusión. Actualmente las empresas involucradas en el mundo del Desarrollo de Software buscan entregar un producto de calidad que responda a los requerimientos del cliente y satisfaga sus necesidades. Para alcanzar esto ponen un fuerte énfasis en los procesos que crean el producto final y se rigen por ciertos estándares y modelos para poder cumplir con sus objetivos. El estándar y modelo más conocido son la norma ISO y el CMMI respectivamente. CMMI tiene dos representaciones: Continua y Escalonada. La representación continua permite a la organización mejorar el desempeño de un área de proceso o aquellas relacionadas. La representación escalonada ofrece una manera sistemática y estructurada para la mejora de procesos, un paso a la vez, logrando en cada nivel una adecuada mejora que es la base para el siguiente nivel. Tanto las Normas ISO como la metodología CMMI buscan obtener calidad en el desarrollo del producto, en este caso el desarrollo de software. El preferir uno u otro depende mucho del objetivo y visión de la empresa, es decir es cuestión de decisión. Lo importante es tener un sistema de gestión de calidad como empresa de desarrollo de software. Para finalizar, cabe destacar que en todo contexto el seguir un modelo no nos garantiza el éxito si no se saben aplicar los procedimientos correspondientes, pero siempre será mejor seguir un modelo y regirse por ciertas normas a no seguir ni regirse por ninguno.