ingeniería de software iii cmmi mejora de procesos fernando mancía cristhian parra hugo meyer

42
Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Upload: maribel-vivanco

Post on 29-Jan-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Ingeniería de Software III

CMMI

Mejora de Procesos

Fernando MancíaCristhian Parra

Hugo Meyer

Page 2: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

1 Introducción

Define modelos para la mejora o evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software.

Desarrollado por el SEI, primera versión en enero02.

Experiencia de otros modelos y de la industria: - Capability Maturity Model for Software (SW-CMM) v2.0 draft C. - Electronic Industries Alliance Interim Standard

(EIA/IS) 731.

- Integrated Product Development Capability Maturity Model (IPD-CMM) 0.98.

Page 3: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Problemas y RealidadesPlanificación se hace pero no se sigue.No se hace un seguimiento del trabajo con el

plan. Los planes no se ajustan a la realidad.

Los requerimientos no son consistentes. No se hace una gestión de cambiosLas estimaciones son irreales. La subestimación

es común.

Los defectos son descubiertos en la fase de pruebas, o peor aún, por el cliente

El éxito depende de esfuerzos heroicos de “gurús”.

Page 4: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Las posibles soluciones:• Las personas trabajan más tiempo y más rápido.• Las personas se mueven de proyecto en proyecto.• Se recortan requerimientos del proyecto• Los proyectos agregan más personas.• Se espera a un desarrollador héroe.

Los efectos: - Compromisos incumplidos. Entrega tardía - Visibilidad inadecuada de la gestión - Demasiadas sorpresas - Problemas de calidad - Los trabajos se rehacen demasiado - Las funciones no funcionan correctamente - Insatisfacción del cliente - Control inadecuado

Page 5: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

CMMI trata con problemas p/ que las organizaciones adopten estándares y mejoren la gestión y calidad del producto software y sus procesos en general.

Más formalmente:➲Es un enfoque de mejora de procesos, proporciona a las organizaciones los elementos esenciales de la eficacia de los procesos. ➲Es un framework para organizar y priorizar actividades.➲Técnicas de apoyo para la coordinación de actividades de múltiples disciplinas p/ lograr el éxito.

Características Generales

Page 6: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

➲Comprende una guía de mejora de proceso a través de un proyecto, una división, o de toda una organización.

➲CMMI ayuda a:➲ Integrar funciones tradicionalmente separadas

de organización➲ Establecer objetivos de mejora de procesos y

prioridades ➲ Proporcionar orientación en cuanto a procesos

de calidad. ➲ Proporcionar un punto de referencia para la

evaluación de los procesos actuales.

Page 7: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

2. Definiciones.

ProcesoMétodo,sistema adoptado para llegar a un determinado fin

Proceso de software.Es un conjunto de actividades, métodos, prácticas y transformaciones utilizadas para desarrollar y mantener el software, y los productos asociados (planificación del proyecto, diseño de documentos, código, casos de prueba, manuales de usuario, entre otros).

ProyectoConjunto de procesos encaminados a producir, adaptar o mejorar un producto software. Normalmente tiene asociados fondos propios, su control de costosy plazos.

Page 8: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Capacidad / Potencialidad (capability) de un proceso de software.

➲ Describe el rango de resultados esperados que se pueden llevar a cabo siguiendo un proceso de software.

➲ Es un modo de predecir el resultado más probable del siguiente proyecto de software que se emprenda.

➲ Normalmente definido en términos estadísticos.

➲ La probabilidad de que el proceso produzca el resultado esperado con un error dentro de los límites aceptados por la especificación de calidad del producto.

Page 9: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

Madurez

➲ Indica:➲ La potencialidad de poder crecer.➲ La riqueza de un proceso de software de una

organización ➲ La consistencia con que se aplica en proyectos de

toda la organización.

➲ Grado de mejora continua que se realiza en un proceso respecto a un estado.

➲ SW: Se refiere a un proceso específico que está explícitamente definido, administrado, medido, controlado, y es efectivo.

Page 10: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

2.3. Org. Maduras vs. Inmaduras

Page 11: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

2.3. Beneficios de M.P

➲ La calidad de un sistema es influenciada por la calidad del proceso utilizado para adquirir, desarrollar y mantener.

➲ La M.P aumenta la calidad de los productos y servicios así como las organizaciones.

➲ Los objetivos de la M.P concuerdan con los del negocio.

➲ La gestión y la ingeniería de las actividades están más enlazadas para los objetivos del negocio.

Page 12: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

2.4. Beneficios CMMI

➲ Ampliar el alcance de la visibilidad y el ciclo de vida del producto y de las actividades de ingeniería.

➲ Incorporar la experiencia adquirida en otras zonas de las mejores prácticas (por ejemplo, la medición, la gestión de riesgos, y gestión de proveedores)

➲ Aplicar prácticas de alta madurez más robustas.

➲ Dirección organizacional adicional de funciones críticas

➲ Cumplir más completamente con las normas ISO.

Page 13: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

3. Modelos (Version 1.1)

CMMI-SE/SW/IPPD/SS Ingeniería de sistemas, ingeniería de software, desarrollo integrado de productos y procesos, y el abastecimiento de proveedor.

CMMI-SE/SW/IPPD Incluye la ingeniería de sistemas, ingeniería de software, y el desarrollo integrado de productos y procesos.

CMMI-SE/SWEste modelo incluye la ingeniería de sistemas y la ingeniería de software.

CMMI-SWEste modelo incluye la ing. de software.

Page 14: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

3. Modelos (Version 1.2)

CMMI for Developed (CMMI-DEV)

➲Incluye en la actualidad el concepto de "constelaciones".

➲Una constelación es un conjunto de componentes CMMI diseñados para satisfacer las necesidades de un área específica de interés.

➲Una constelación puede producir uno o más modelos de CMMI y formas de evaluación y materiales de capacitación relacionados.

➲CMMI para el Desarrollo es la primera de estas constelaciones.

Page 15: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

➲ Proveen guías para: DEV - Administración, medición y monitoreo del Proceso de

Desarrollo ACQ - Informes y adquisición de liderazgo. SVC - Prestación de servicios dentro de la

organización y clientes externos

Page 16: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

3. Framework CMMI

Es la estructura que organiza los componentes utilizados en la generación de modelos.

El CMMI Product Suite es la colección completa de modelos, materiales de capacitación, evaluación ymétodos generados por el Framework de CMMI.

Dos nuevas constelaciones han sido encargados por el CMMI Steering Group

CMMI para Servicios (CMMI – SVC) Adquisición de CMMI (CMMI - ACQ)

Page 17: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

4 Breve Reseña de CMM

➲ Nace con el Ministerio de Defensa De U.S.A.➲ El concurso al que se llamo lo gano Carnegie

Mellon creando el SEI que creo y mantiene el CMM.

➲ Cada área de procesos tiene un conjunto de buenas practicas que habrán de ser:

Definidas en un procedimiento documentado Provistas de los medios y formación necesarios Ejecutadas de un modo sistemático, universal y uniforme

(institucionalizadas) Medidas Verificadas

Page 18: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

4.1 Componentes de CMM.

Page 19: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

4.2 Niveles del CMM

Page 20: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

5. Componentes de CMMI

Areas de proceso: Conjunto de prácticas relacionadas, que se ejecutan de forma conjunta, para conseguir un conjunto de objetivos.

Objetivos Genéricos: Asociados a un nivel de capacidad.Objetivos Específicos: Asociados a cada área de procesoPráctica genérica: Una práctica genérica se aplica a cualquier área de 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

Page 21: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6. Representaciones de CMMI

➲ La representación del modelo es un concepto que se relaciona con la estructura arquitectónica del mismo.

SW-CMM: utilizaba un modelo "escalonado".

SE-CMM: utilizaba un modelo "continuo". IPD-CMM: era "híbrido"

Page 22: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.1 Representación Escalonada

Provee un mapa predefinido a seguir para la mejora de la organización, basada en la agrupación y ordenamiento de procesos y relaciones de organización asociadas.

Page 23: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.2 Representación Continua

Proporciona una guía menos específica sobre el orden en el cual la mejora debería ser lograda. Se le llama continuo porque ninguna de las etapas discretas son asociadas con la madurez de organización.

Page 24: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.3 Representación Híbrida

➲ En CMMI existen dos objetivos muy claros Conservar los niveles de madurez por etapas para

mantener la flexibilidad necesaria en muchas organizaciones que tienen que adaptar sus procesos de mejora a sus metas de negocios y no viceversa.

La transición de organizaciones del CMM v1.1 al CMMI debería ser tan fácil como fuera posible para proteger las considerables inversiones hechas

➲ CMMI tiene entonces las dos representaciones.

Page 25: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.3 Agrupamiento Escalonado

Page 26: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.3 Agrupamiento Continuo

Page 27: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

6.4. Áreas de Proceso

Page 28: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

7 Niveles del CMMI.

1 Inicial

➲ Los procesos son habitualmente caóticos➲ Estado inicial donde el desarrollo se basa en la ➲ Heroicidad y responsabilidad de los individuos. ➲ Los procedimientos son inexistentes o localizados en

áreas concretas. ➲ No existen plantillas definidas a nivel corporativo. ➲ La organización no provee un ambiente estable.➲ Frecuentemente se exceden en el presupuesto y tiempo

de sus proyectos.

Page 29: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

7 Niveles del CMMI.

2 Gestionado➲ Todos los “Objetivos Específicos y Genéricos” de todas las

“Areas de Proceso del Nivel 2 han sido alcanzadas.➲ Los proyectos son planificados, realizados, medidos y

controlados.➲ Se normalizan las buenas prácticas en el desarrollo de

proyectos (en base a la experiencia y al método). ➲ En este nivel consolidado, las buenas prácticas se mantienen

en los momentos de estrés. ➲ Se definen hitos para la revisión de los productos. ➲ Los resultados son revisados con los participantes y son

controlados.➲ Los resultados satisfacen los requerimientos especificados,

estándares y objetivos.

Page 30: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

7 Niveles del CMMI.

3 Definido ➲ Todos los objetivos específicos y genéricos de todas las Áreas

de proceso de los niveles 2 y 3 han sido alcanzadas.➲ Los procesos están caracterizados y comprendidos.➲ La organización entera participa en el proceso eficiente de

proyecto software. ➲ Se conoce de antemano los procesos de construcción de

software. ➲ Existen métodos y plantillas bien definidas y documentados. ➲ Los procesos no solo afectan a los equipos de desarrollo sino

a toda la organización relacionada. ➲ Los proyectos se pueden definir cualitativamente. ➲ El gerente de la organización define objetivos para los

proyectos basados en el conjunto estándar de procesos.

Page 31: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

7 Niveles del CMMI.

4 Cuantitativamente Gestionado

➲ Son establecidos objetivos cuantitativos para calidad y rendimiento de procesos utilizados como criterio para la gestión de los procesos.

➲ Las medidas detalladas del rendimiento de los procesos son estadísticamente analizadas.

➲ Las estadísticas son almacenadas para aprovechar su aportación en siguientes proyectos.

➲ Son identificados motivos especiales para la variación de los procesos.

Page 32: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

7 Niveles del CMMI.

5 Optimizado

➲ En base a criterios cuantitativos se pueden determinar las desviaciones más comunes y optimizar procesos. En este nivel los procesos son continuamente mejorados sobre la base de una comprensión cuantitativa.

➲ Se centra en una mejora continua por medio de mejoras tecnológicas tanto incrementales como de innovación.

➲ En los siguientes proyectos se produce una reducción de costes gracias a la anticipación de problemas y la continua revisión de procesos conflictivos.

Page 33: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

8 Llegar a Niveles 2 y 3.

NIVEL 2- Procesos a Implantar➲ Gestión de Requisitos. ➲ Planificación del proyecto➲ Seguimiento y control del proyecto➲ Gestión de acuerdos con proveedores➲ Medidas y análisis➲ Medidas de calidad en el proceso y el producto➲ Gestión de configuración

Page 34: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

8 Llegar a Niveles 2 y 3.

NIVEL 3 – Procesos a Implantar➲ Gestión de requisitos➲ Solución técnica➲ Integración del producto➲ Verificación➲ Validación➲ Enfoque organizacional del proceso➲ Definición del proceso de la organización➲ Formación en la organización➲ Gestión de riesgos➲ Análisis de decisiones y resolución

Page 35: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

9. Empresas certificadas en LA

CHILE

Page 36: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

9. Empresas certificadas en LA

CHILE

Page 37: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

9. Empresas certificadas en LA➲ Colombia

PSL. Productora de Software S.A. (5) Open Systems (4) Heinsohn e Ilimitada (3) Soft Bolivar e Intergrupo (2)

➲ Argentina Kanav (2) Vate (5)

➲ Brasil Se menciona en el informe del SEI que

más de 22 empresas han sido evaluadas y se reportan empresas de nivel 2, 3 y 5 inclusive.

Page 38: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

10 CostosConferencias y ejercicios de clase.Después de haber asistido al curso, los participantes serán capaces de describir los componentes del modelo CMMI y sus relaciones, discutir el proceso en las zonas modelos de CMMI, y localizar información relevante en el modelo.

EE.UU. Precio del curso: - Industria: $ 1650 - Gobierno: $ 1320 - Académicos: $ 1320

Internacional - Precio del curso: $ 3300

Page 39: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

11 Conclusiones

➲ No necesito procesos, porque tengo… Muy buenas personas. Tecnología avanzada Un gerente experimentado

Además:➲ Interfiere con la creatividad del equipo.➲ Introduce burocracia y reglamentaciones.➲ No son necesarios cuando se construyen prototipos.➲ Son útiles solamente en proyectos de gran

envergadura.➲ Nos quita agilidad en un mercado muy cambiante.➲ Cuesta demasiado (aunque esto no es tan falso).

Page 40: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

11 Conclusiones

Pero se puede decir que complementa el enfoque sobre la tecnología por lo siguiente:

➲ La tecnología por si sola no precisamente será bien utilizada.

➲ La tecnología, en el contexto de una planificación de procesos apropiada, podrá proveer el máximo beneficio.

Podemos decir que un modelo de procesos complementa el enfoque sobre las personas dado que:

➲ Le experiencia y entrenamiento de la fuerza de trabajo no siempre es suficiente.

➲ El trabajo duro no es la respuesta.➲ Un proceso bien definido puede proveer la forma mas

inteligente de trabajar y de ahorrar recursos.➲ Cambia el enfoque de los problemas de las personas a los

problemas de los procesos.

Page 41: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer

The End…

Page 42: Ingeniería de Software III CMMI Mejora de Procesos Fernando Mancía Cristhian Parra Hugo Meyer