La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capability Maturity Model for Software SW-CMM

Presentaciones similares


Presentación del tema: "Capability Maturity Model for Software SW-CMM"— Transcripción de la presentación:

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

2 Organizaciones Maduras e Inmaduras
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

3 Organizaciones Maduras e Inmaduras
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

4 Organizaciones Maduras e Inmaduras
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

5 Organizaciones Maduras e Inmaduras
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

6 Conceptos Fundamentales
Técnicas de Calidad en el Software 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.) NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

7 El Proceso del Software
Técnicas de Calidad en el Software Procedures & Methods Process Tools People A software process is what people do using procedures, methods and tools to transform inputs and requirements into outputs and software products. Juan Antonio Vega Fernández  Derechos Reservados, 2003

8 El Proceso del Software
Técnicas de Calidad en el 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. Juan Antonio Vega Fernández  Derechos Reservados, 1999

9 Conceptos Fundamentales
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

10 Conceptos Fundamentales
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

11 Conceptos Fundamentales
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

12 Conceptos Fundamentales
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

13 Evolución e Historia del CMM
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

14 Aplicación de TQM al Software
Técnicas de Calidad en el Software Los conceptos de mejoramiento de la calidad se aplican en el contexto general del negocio, CMM sólo se aplica al software. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

15 Evolución e Historia del CMM
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. Técnicas de Calidad en el Software NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

16 Evolución e Historia del CMM
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

17 ¿Qué es el Modelo de Capacidad y Madurez para el Software (SW-CMM)?
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

18 El Modelo de Capacidad y Madurez
Técnicas de Calidad en el Software 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 NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

19 El “Modelo” CMM Técnicas de Calidad en el Software NOTAS
__________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

20 Cambios del CMM Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

21 Para empezar con CMM Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

22 Los 5 Niveles de Madurez del Proceso de Software
Técnicas de Calidad en el Software Inicial Repetido Definido Administrado Optimizado [Ver Fig. 2.1] NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

23 Nivel 1: Inicial Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

24 Nivel 2: Repetible Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

25 Nivel 3: Definido Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

26 Nivel 4: Administrado Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

27 Nivel 5: Optimizado Técnicas de Calidad en el Software El mejoramiento continuo del proceso es permitido por la retroalimentación cuantitativa de los procesos y de pilotear ideas y tecnologías inovativas. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

28 Los 5 Niveles de Madurez del Proceso de Software
Técnicas de Calidad en el Software NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

29 Brincar Niveles de Madurez
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

30 Brincar Niveles de Madurez
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

31 Visibilidad del Proceso de Software
Técnicas de Calidad en el 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

32 Visibilidad del Proceso de Software
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

33 Entendiendo la Calidad en el CMM
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

34 Predicción del Rendimiento
Técnicas de Calidad en el Software 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] NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

35 Level 5 Companies Técnicas de Calidad en el Software 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. Juan Antonio Vega Fernández  Derechos Reservados, 1999

36 ¿Cuándo Utilizar SW-CMM?
Técnicas de Calidad en el Software ¿Cuándo Utilizar SW-CMM? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

37 La Necesidad de Evaluar el Proceso del Software
Técnicas de Calidad en el 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? NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

38 La Necesidad del Cambio
Técnicas de Calidad en el Software ¿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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

39 El Enfoque IDEAL del SEI
Técnicas de Calidad en el Software NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

40 La Necesidad de Mejorar
Técnicas de Calidad en el Software ¿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!!! NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

41 Lo que se encuentra al Final del ArcoIris
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

42 ¿Por qué SW-CMM? SW-CMM fué iniciado por que . . .
Técnicas de Calidad en el Software 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!!! NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

43 ¿Donde Aplicar SW-CMM? Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

44 El Detalle en SW-CMM El SW-CMM es un documento de 500 páginas.
Técnicas de Calidad en el Software 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í.” NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999

45 El Qué vs el Cómo SW-CMM intenta ser …
Técnicas de Calidad en el Software 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. NOTAS __________________________________________ Juan Antonio Vega Fernández  Derechos Reservados, 1999


Descargar ppt "Capability Maturity Model for Software SW-CMM"

Presentaciones similares


Anuncios Google