45
Técnicas de Calidad en el Técnicas de Calidad en el Software Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability Maturity Model Capability Maturity Model for Software SW-CMM for Software SW-CMM

Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Embed Size (px)

Citation preview

Page 1: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999-2003

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Recomendaciones para Mejorar el Proceso del Software

Capability Maturity Model Capability Maturity Model for Software SW-CMMfor Software SW-CMM

Page 2: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Organizaciones Organizaciones Maduras e InmadurasMaduras e Inmaduras

• En una organización inmadura…– los procesos de software son improvisados por los

desarrolladores y su administración.

– si hay procesos definidos, generalmente no se siguen.

– los administradores son reaccionarios y se enfocan a resolver crisis inmediatas (apaga fuegos).

– la calendarización y el presupuesto son rutinariamente excedidos por que no se basan en estimaciones realistas.

Page 3: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• En una organización inmadura…

– cuando los deadlines son impuestos, la funcionalidad del producto se compromete para cumplir el calendario.

– no hay manera objetiva de evaluar la calidad de un producto.

– la calidad del producto no se puede predecir.

– las actividades como revisiones y pruebas son recortadas o eliminadas cuando el proyecto se retrasa.

Organizaciones Organizaciones Maduras e InmadurasMaduras e Inmaduras

Page 4: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• En una organización madura … – El proceso del software es comunicado al personal

existente y al nuevo.

– El proceso a implantar es el adecuado y es consistente con la manera como se hacen las cosas.

– El proceso es actualizado siempre que sea necesario y las mejoras se desarrollan con pruebas piloto y/o análisis de costo beneficio.

– Los papeles y las responsabilidades son claras para todos.

Organizaciones Organizaciones Maduras e InmadurasMaduras e Inmaduras

Page 5: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• En una organización madura … – los administradores monitorean la calidad de los

productos de software y la satisfacción del cliente.

– hay una manera objetiva y cuantitativa de medir la calidad del producto.

– la calendarización y los costos se basan en rendimientos históricos y son realistas.

– los resultados esperados de costo, calendarización, funcionalidad, y calidad del producto son generalmente alcanzados.

Organizaciones Organizaciones Maduras e InmadurasMaduras e Inmaduras

Page 6: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Proceso del Software– el conjunto de actividades, métodos, prácticas,

y transformaciones que la gente usa para desarrollar y mantener el software y sus productos asociados (los entregables, por ejemplo los planes del proyecto, los documentos del diseño, el código, los casos de prueba, manuales de usuario, etc.)

Conceptos FundamentalesConceptos Fundamentales

Page 7: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

El Proceso del SoftwareEl Proceso del Software

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 2003

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

People Tools

Procedures& Methods

ProcessProcess

A software process is what people do using procedures, methods and tools to transform inputs and requirements into outputs and software products.

Page 8: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

El Proceso del Software

• Un proceso es una secuencia de pasos realizados con un propósito específico.

• En pocas palabras, un proceso es lo que tu haces.

• Una descripción o definición del proceso no es un proceso.

• Sólo cuando las actividades son realizadas o los métodos utilizados, se puede hablar de un proceso.

• Los estándares o procedimientos que no son utilizados son simplemente “shelfware” y el proceso es ad hoc.

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Page 9: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Capacidad del Proceso del Software– el rango de resultados esperados que pueden ser

logrados siguiendo el proceso del software. La capacidad del proceso del software de una organización provee el medio de predecir el resultado más probable que se puede esperar para el siguiente proyecto de software que la organización desarrolle.

Conceptos FundamentalesConceptos Fundamentales

Page 10: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Rendimiento del Proceso del Software– representa el resultado real alcanzado por seguir el proceso del

software. El rendimiento se enfoca en los resultados reales, la capacidad en los resultados esperados.

– Basados en los atributos reales y el contexto en el que se condujo el proyecto, el rendimiento actual puede no reflejar la capacidad total de la organización

– Ejem. cambios radicales en la aplicación o la tecnología pueden poner al personal en una curva de aprendizaje ocasionando que el rendimiento sea corto comparado con la capacidad.

Conceptos FundamentalesConceptos Fundamentales

Page 11: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Madurez del Proceso del Software– el grado en el que un proceso específico es definido,

administrado, medido, controlado y efectivo.

– La madurez indica un potencial de crecimiento en la capacidad e indica lo valioso del proceso de software de una organización y la consistencia con la cual se aplica en los proyectos de la organización.

– Implica que la productividad y calidad resultante pueden ser mejorados a lo largo del tiempo.

Conceptos FundamentalesConceptos Fundamentales

Page 12: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Institucionalización del Proceso del Software– es construir una infraestructura y una cultura

corporativa que soporte los métodos, las prácticas y los procedimientos de la empresa, de manera que perduren después que se hayan ido los que la definieron originalmente.

Conceptos FundamentalesConceptos Fundamentales

Page 13: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• CMM se basa en los principios de calidad desarrollados por Deming y Juran, en los que se establece que el control cuantitativo del proceso es la base del proceso de mejora continua.

• El marco teórico del CMM es adaptado del libro “Quality is Free” de Philip Crosby. Crosby describe la madurez de la administración de la calidad en 5 etapas evolucionarias para adoptar las prácticas de la calidad.

Evolución e Historia del CMMEvolución e Historia del CMM

Page 14: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Aplicación de TQM al SoftwareAplicación de TQM al Software

• Los conceptos de mejoramiento de la calidad se aplican en el contexto general del negocio, CMM sólo se aplica al software.

Page 15: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• CMM fué adaptado del trabajo de Ron Randice y Watts Humphrey en IBM a principios de los 80’s.

• Humphrey se vá al SEI y junto con MITRE empiezan a darle forma a lo que hoy se conoce como CMM.

• En septiembre del 87 se libera una descripción breve la cual es extendida en “Managing the software process” del marco de madurez del proceso.

Evolución e Historia del CMMEvolución e Historia del CMM

Page 16: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Evolución e Historia del CMMEvolución e Historia del CMM

• Se desarrollan dos métodos “software process assessment” y “software capability evaluation” y un cuestionario de madurez.

• Después de 4 años de experiencia el SEI evolucionó al marco de madurez y lo convirtió en CMM.

Page 17: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Es una aplicación con sentido común de los conceptos de la administración de procesos y el mejoramiento de la calidad al desarrollo y mantenimiento del software.

• Es una guía desarrollada por la comunidad.

• Es un modelo para el mejoramiento organizacional.

• Es la estructura subyacente para la aplicación confiable y consistente de los métodos de apreciación de CMM.

¿Qué es el Modelo de Capacidad y ¿Qué es el Modelo de Capacidad y Madurez para el Software (SW-CMM)?Madurez para el Software (SW-CMM)?

Page 18: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El CMM– se basa en prácticas reales

– refleja lo mejor del estado de la práctica

– refleja las necesidades de los individuos que realizan mejoras del proceso de software, y evaluaciones del proceso de software.

– está documentado

– está disponible públicamente

El Modelo de El Modelo de Capacidad y MadurezCapacidad y Madurez

Page 19: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

El “Modelo” CMMEl “Modelo” CMM

Page 20: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El CMM es un documento viviente que se adapta a las necesidades actuales de la industria del software.

• La versión actual 1.1 está desde 1993.• Los planes para la version 2.0 están fuertemente

influenciados por SPICE de ISO, aunque originalmente el CMM influenció a ISO.

Cambios del CMMCambios del CMM

Page 21: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• http://www.sei.cmu.edu/activities/cmm/obtain.cmm.html

• Ahí se pueden obtener los siguientes documentos en formato pdf:– Mark C. Paulk, Bill Curtis, Mary Beth Chrissis, and Charles V.

Weber,"Capability Maturity Model for Software, Version 1.1", Software Engineering Institute, CMU/SEI-93-TR-24, DTIC

Number ADA263403,February 1993. – Mark C. Paulk, Charles V. Weber, Suzanne M. Garcia, Mary Beth

Chrissis, and Marilyn W. Bush, "Key Practices of the Capability Maturity Model, Version 1.1", Software Engineering Institute,

CMU/SEI-93-TR-25,DTIC Number ADA263432, February 1993.

Para empezar con CMMPara empezar con CMM

Page 22: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Los 5 Niveles de Madurez Los 5 Niveles de Madurez del Proceso de Softwaredel Proceso de Software

• Inicial

• Repetido

• Definido

• Administrado

• Optimizado

• [Ver Fig. 2.1]

Page 23: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El proceso de software es caracterizado como ad hoc, y ocasionalmente cómo caótico. Pocos procesos son definidos y el éxito depende del esfuerzo individual y del heroísmo.

Nivel 1: InicialNivel 1: Inicial

Page 24: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Se establecen procesos de administración de proyectos básicos para registrar costos, calendarios y funcionalidad.

• Se pone en práctica la disciplina de procesos necesaria para repetir éxitos pasados en proyectos con aplicaciones similares.

Nivel 2: RepetibleNivel 2: Repetible

Page 25: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El proceso de software para las actividades de administración e ingeniería son documentadas, estandarizadas e integradas en un proceso de desarrollo de software estándar para la organización.

• Todos los proyectos usan una versión aprobada y adaptada del proceso de software estándar de la organización para desarrollar y mantener el software.

Nivel 3: DefinidoNivel 3: Definido

Page 26: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Se colectan mediciones detalladas del proceso de software y de la calidad del producto.

• Se entienden cuantitativamente y se controlan el proceso del software y los productos.

Nivel 4: AdministradoNivel 4: Administrado

Page 27: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El mejoramiento continuo del proceso es permitido por la retroalimentación cuantitativa de los procesos y de pilotear ideas y tecnologías inovativas.

Nivel 5: OptimizadoNivel 5: Optimizado

Page 28: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Los 5 Niveles de Madurez Los 5 Niveles de Madurez del Proceso de Softwaredel Proceso de Software

Page 29: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• El CMM identifica la manera como una organización debe evolucionar para establecer una cultura de excelencia en la ingeniería del software.

• Cada nivel de madurez es el fundamento necesario para construir el siguiente nivel, por lo que tratar de brincar niveles es casi siempre contraproducente.

Brincar Niveles de MadurezBrincar Niveles de Madurez

Page 30: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Las organizaciones pueden instituir mejoras del proceso específicas cuando ellas quieren, aún antes de que esten preparadas para avanzar al nivel donde se recomienda esa práctica.

• Estas organizaciones deben entender que las mejoras obtenidas están en un riesgo mayor ya que el fundamento para su éxito no esta completo.

Brincar Niveles de MadurezBrincar Niveles de Madurez

Page 31: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Visibilidad del Visibilidad del Proceso de SoftwareProceso de Software

• Cada nivel incrementa la visibilidad del proceso de software para los administradores y los ingenieros

• [Ver Fig. 2.3]

• Nivel 1: Entidad amorfa, todo el proceso es una caja negra.

• Nivel 2: Los entregables son cajas negras y solo se puede monitorear al final de cada etapa.

Page 32: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

• Nivel 3: El proceso interno de cada etapa es visible, los administradores y los ingenieros entienden lo que está pasando. Se preparan riesgos.

• Nivel 4: El proceso es medido y controlado, las decisiones se toman con bases cuantitativas. Su habilidad de predecir los resultados se incrementa.

• Nivel 5: Se prueban nuevas y mejores maneras de construir el software de manera continua.

Visibilidad del Visibilidad del Proceso de SoftwareProceso de Software

Page 33: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Entendiendo la Entendiendo la Calidad en el CMMCalidad en el CMM

• Juran descompone la administración de la calidad en tres procesos administrativos básicos:

• [Ver Fig. 2.2]

– Planeación de la Calidad• La cuál al principio es muy pobre y produce desperdicios.

– Control de Calidad• Se utiliza para evitar que las cosas empeoren, el pico

representa un apaga fuegos.

– Mejoramiento de la Calidad• El desperdicio es la oportunidad de mejora.

Page 34: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Predicción del RendimientoPredicción del Rendimiento

• Nivel 1

• Mal rendimiento, no hay predicción.• Nivel 2

• Mal rendimiento, si hay predicción.• Nivel 3

• Mejora el rendimiento y la predicción, gran variabilidad.• Nivel 4

• Mejora el rendimiento, predicción y variabilidad• Nivel 5

• Mejoramiento continuo en todos los aspectos.– [Ver Fig. 2.4]

Page 35: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Level 5 Companies

• Hay 32 compañías listadas en el SEMA* – Published Maturity Levels (hasta Julio, 2000).

• Esta lista no es exhaustiva.• De las 32 empresas, 18 están ubicadas en la India,

son multinacionales con oficinas en la India, o sus headquarters están ubicados en la India.

• *Software Engineering Measurement & Analysis – SEI, CMU.

Page 36: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

¿Cuándo Utilizar SW-CMM?¿Cuándo Utilizar SW-CMM?

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Page 37: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

La Necesidad de Evaluar el La Necesidad de Evaluar el Proceso del SoftwareProceso del Software

• ¿Está ud. preocupado por el estado actual del software en su organización?

• ¿Están los clientes preocupados por que ven que el software desarrollado por la empresa no satisface completamente sus necesidades?

• ¿Está la competencia usando superioridad en el software para ganar ventaja competitiva?

• ¿Están más preocupados sus empleados por terminar el proyecto a tiempo que por hacerlo bien?

Page 38: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

La Necesidad del CambioLa Necesidad del Cambio

• ¿Están los administradores y empleados lo suficientemente molestos con la situación actual como para cambiar las cosas?

• ¿Están lo suficientemente molesto como para dedicarle tiempo a identificar los problemas, atacarlos y dispuestos a solucionarlos?

• Si la respuesta es no a cualquiera de estas preguntas, muy dificilmente se logrará el cambio o inspirar el cambio en los demás.

Page 39: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

El Enfoque IDEAL del SEIEl Enfoque IDEAL del SEI

Page 40: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

La Necesidad de MejorarLa Necesidad de Mejorar

• ¿Por qué debería una organización interesarse en el SW-CMM?– Deseo de mejorar el proceso

• Una liga directa los objetivos del negocio

• Disponibilidad de invertir en la mejora ($$$)

– Preocupación del cliente sobre el rendimiento del proceso• Puede guiar a un mejoramiento colaborativo

– Preocupación sobre evaluaciones de capacidad del software• ¿Es costo-efectivo en pequeñas empresas?

– Estar a la moda• Será un desastre!!!

Page 41: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

Lo que se encuentra al Lo que se encuentra al Final del ArcoIrisFinal del ArcoIris

• Predictabilidad– La habilidad de predecir el costo, el tiempo, y los defectos

basado en el historial de rendimiento

– Límites superiores e inferiores en el rendimiento esperado, en lugar de estimaciones puntuales.

• Reconocimiento de lo desconocido– Los requerimientos cambian!!(?)

– La administración del software es administración de riesgos.

• Disponibilidad de trabajar con el cliente y el usuario final para entender sus necesidades.

Page 42: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

¿Por qué SW-CMM?¿Por qué SW-CMM?

• SW-CMM fué iniciado por que . . .– … existían sobregiros exagerados en el tiempo y el

costo.

– … se entregaba una funcionalidad incompleta (e incluso incorrecta) sobre lo que se había

acordado.

– … se alcanzaba una calidad muy inferior a la deseada.

– … no se podía predecir el resultado final del proceso de desarrollo del software.

– … en general, por la crisis crónica del software!!!

Page 43: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

¿Donde Aplicar SW-CMM?¿Donde Aplicar SW-CMM?

• SW-CMM fué escrito para proveer de buenas prácticas de administración e ingeniería de software a cualquier proyecto en cualquier ambiente.

– Las prácticas son descritas de manera jerárquica.

– Las prácticas detalladas principalmente apoyan a grandes organizaciones desarrolladoras de software.

– Los componentes normativos (con caracter de obligatoriedad) son los niveles de madurez, las áreas de proceso clave (KPA), y las metas.

– Todas las prácticas son informativas!

• El aprendizaje organizacional previene el reinventar la rueda para lograr un proceso repetible.

Page 44: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

El Detalle en SW-CMMEl Detalle en SW-CMM

• El SW-CMM es un documento de 500 páginas.• Las prácticas clave, las subprácticas, los ejemplos, etc. proveen

una guía para interpretar a CMM.– La mayor parte de las recomendaciones son dirigidas a proyectos

grandes en organizaciones grandes.

• La documentación es importante y no necesita ser larga o compleja.

• El entrenamiento, los recursos, herramientas, políticas, supervición, medición, etc. son importantes y la institucionalización de éstas no tiene por que ser intrusiva– La cultura organizacional es “la manera como hacemos las cosas

por aquí.”

Page 45: Técnicas de Calidad en el Software Derechos Reservados, 1999-2003 Juan Antonio Vega Fernández Recomendaciones para Mejorar el Proceso del Software Capability

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Téc

nica

s de

Cal

idad

en

el S

oftw

are

Derechos Reservados, 1999

Juan Antonio Vega FernándezJuan Antonio Vega Fernández

El El QuéQué vs el vs el CómoCómo

• SW-CMM intenta ser …– descriptivo de las prácticas de administración e ingeniería

de software.– prescriptivo de las prioridades de mejoramiento del

proceso.• Las áreas de proceso clave (KPA) describen el qué y no el

cómo.– La ignorancia de cómo implementar procesos nos lleva a

descuidar prácticas de CMM.– Es un problema general para las personas técnicas que han

sido promovidas a puestos administrativos.