Documente Academic
Documente Profesional
Documente Cultură
Estructura de la Presentacin
El Software Engineering Institute (SEI). Modelo de Madurez del SEI. Modelo de Capacidad de la Madurez (CMM). Estado de la prctica. Proyecciones. Conclusiones. Bibliografa y casos.
Discusin
En un proyecto de software, cul es la relacin entre:
calidad del software, costo del proyecto, y tiempo de desarrollo del proyecto?
comprender el estado actual de sus procesos de software; desarrollar una visin de los procesos deseados; establecer una lista de las acciones de mejoramiento requeridas en orden de prioridad; producir un plan para cumplir dichas acciones; comprometer los recursos para ejecutar el plan; ejecutar el plan trazado; y reevaluar la situacin actual (se vuelve al primer punto).
Optimizante (feedback). Administrado (cuantitativo). Definido (cualitativo). Repetible (intuitivo). Inicial (ad-hoc/catico).
Definido (3) Administrado (4)
Optimizante (5)
Optimizante (feedback). Administrado (cuantitativo). Definido (cualitativo). Repetible (intuitivo). Inicial (ad hoc/catico).
Definido (3) Administrado (4)
Optimizante (5)
Carencia de procedimientos formales, estimaciones de costo, planes de proyecto, mecanismos de administracin para asegurar que los procedimientos se siguen, herramientas mal integradas, control del cambio inexistente, no se administran riesgos, administracin superior no comprende temas claves.
10
Proceso dependiente de los individuos, se establecen controles bsicos de los proyectos, fortalezas cuando se desarrollan trabajos similares, gran riesgo cuando se enfrentan nuevos desafos, cambios impactan fuertemente en la ejecucin de un proyecto, carece de un framework ordenado para mejorar.
11
Proceso de Desarrollo est definido (escrito) e institucionalizado (todos deben adherir a l) Existe un Grupo de Proceso de Ingeniera de Software (SEPG) establecido para liderar el mejoramiento.
Proceso es completamente medido. Se establece un mnimo conjunto de mediciones de calidad y productividad, y una base de datos de resultados, cuyo anlisis es usado para la mejora.12
Los mejoramientos propuestos retroalimentan al proceso La recoleccin de datos es automatizada y usada para identificar elementos ms dbiles del proceso Hay evidencia numrica se usa para justificar la aplicacin de tecnologa a las tareas crticas Hay un riguroso anlisis de causas y prevencin de defectos.
13
Se revisa y evala el proceso de software de una organizacin La evaluacin es hecha por un equipo de profesionales certificados, onsite, durante una semana aproximadamente. Se evalan proyecto de no ms de 2 aos de antigedad.
se indica en qu punto de la escala exactamente se encuentra la organizacin evaluada; se entregan key issues a resolver para escalar hacia el prximo nivel.
14
Herramienta para evaluar contratistas de defensa. Problemas metodolgicos y estadsticos en la determinacin del score (nivel de madurez). Reportes finales no suficientemente detallados. Nivel 1 se alcanza sin esfuerzo. Complejidad y precisin del algoritmo de evaluacin. Falta de flexibilidad en la determinacin del score. Respuestas si/no. Falta de claridad en niveles 4 y 5.
15
Respuesta:
nuevo modelo: CMM v1 (Capability Maturity Model), en 1991. Descompone cada nivel de madurez en reas claves de proceso (KPA), prcticas claves, e indicadores claves.
16
20
ninguna
21
Gestin de requisitos. Planificacin de proyectos de software. Supervisin y seguimiento de proyectos de software. Gestin de subcontratos de software. Aseguramiento de calidad de software. Gestin de la configuracin de software.
22
Foco en el proceso de la organizacin. Definicin del proceso de la organizacin. Programa de entrenamiento. Administracin a travs de un software integrado. Ingeniera del producto de software. Coordinacin intergrupos. Revisin por pares.
23
Carctersticas
Mejoramiento realimentado al proceso (Cualitativo) Proceso medido (Cualitativo) Proceso definido e institucionalizado (Intuitivo) Proceso dependiente de individuos (Ad hoc/catico)
Desafos claves
An un proceso humano-intensivo Mantiene la organizacin en nivel optimizante Cambio de tecnologa Anlisis de procesos Prevencin de problemas Mtricas de procesos Anlisis de procesos Planes cuantitativos de calidad Entrenamiento, testing Prcticas tcnicas y revisiones Foco en el proceso, estndares y procesos Administracin de proyectos y planificacin Administracin de la configuracin Aseguramiento de la calidad de software
Resultados
Productiv. y calidad
Riesgo
25
Estado de la prctica
Estudio del SEI, 1991: 59 sitios, 296 proyectos resultados:
81% al Nivel 1 CMM. 12% al Nivel 2 CMM. 7% al Nivel 3 CMM. 0% al Nivel 4 CMM. 0% al Nivel 5 CMM.
27
Estado de la prctica
Estudio del SEI, 1995: 440 sitios, 2200 proyectos. Resultados:
70.2% al Nivel 1 CMM. 18.4% al Nivel 2 CMM. 10.2% al Nivel 3 CMM. 1.0% al Nivel 4 CMM. 0.2% al Nivel 5 CMM.
28
Estado de la prctica
Estudio del SEI, 1996: 477 sitios. Resultados:
69% al Nivel 1 CMM. 18% al Nivel 2 CMM. 11% al Nivel 3 CMM. 1.5% al Nivel 4 CMM. 0.4% al Nivel 5 CMM.
29
Estado de la prctica
Tiempos promedio para alcanzar cada nivel CMM:
1 2 3 4
a a a a
2: 3: 4: 5:
Basado en datos del SEI (1995). Segn comentan los expertos, con CMMI se puede pasar de un nivel a otro en alrededor de 18 meses.
30
Proyecciones CMM
EEUU: nivel 3 mnimo establecido por el Departamento de Defensa para sus contratistas para 1997/8/9. Relacin CMM - ISO 9000: CMM nivel 3 implica certificacin ISO? y viceversa? Importancia e implicancias para Chile.
31
Familia CMM
Software CMM (SW-CMM): construccin de productos de software. People CMM (P-CMM): desarrollo del recurso humano. Software Acquisition CMM (SA-CMM): adquisicin de productos y sistemas intensivos en software. Trusted CMM (T-CMM): construccin de productos de software de alta confiabilidad. Systems Engineering CMM (SE-CMM): construccin de productos y entrega de servicios (foco: ingeniera de sistemas). Integrated Product Development CMM (iPD-CMM): construccin y entrega de productos y servicios integrados (foco: colaboracin entre varias disciplinas).
32
SPICE
An un proyecto (ISO/IEC JTC1/SC7 WG10). Objetivo: desarrollar un estndar internacional para evaluaciones de procesos de software. Orgenes: CMM, ISO, y otros productos. Relaciona proceso, evaluacin de proceso, determinacin de capacidades, y mejoramiento de procesos. Consta de 9 productos en la forma de guas y cuestionarios. Desde 1995 se han desarrollado 3 fases de prueba.
38
S:PRIME
Desarrollado por ASEC (CGLA), CRIM, Canad; basado en CMM, focalizado hacia organizaciones medianas y pequeas. Consiste en administrar dos cuestionarios: uno para gerentes (7 categoras de riesgos), y otro para practitioners (15 reas de prcticas), para determinar los grados de riesgos percibidos y probables, de acuerdo a la satisfaccin de las prcticas. Pasos del mtodo: adaptacin de cuestionarios, seleccin de muestra de proyectos, respuesta a los cuestionarios, anlisis y compilacin de respuestas, presentacin y discusin de resultados. Desarrollado por lead assessors certificados por CRIM, S:PRIME requiere un nmero significativamente menor de horas hombre, comparado con CBA/IPI. Se ha empleado para evaluar compaas en Chile.
39
Qu pasa en Chile?
1994 1995 1996 1997 1998
ISO-9000 Iniciativa de certificacin SQA & Doc. Modelos de madurez Proyecto INTEC SPIN-CHILE Evaluaciones S:PRIME Primeras 2 empresas certificadas ISO Primeros resultados
40
41
Conclusiones
Se han visto resultados positivos. Clara inmadurez de procesos en las organizaciones. Creciente inters por mejorar. Necesidad por generar nuevas competencias y habilidades. Organizaciones pequeas carecen de recursos. Todava no hay un incentivo real desde los clientes...... Es parte de la agenda digital
42
Lecciones importantes...
Las organizaciones necesitan instrumentos concretos para facilitar la implantacin de prcticas y no quedarse en las buenas intenciones de los planes de accin.
43
Lecciones importantes...
Cuidado con los Gurs: Ingeniero muy talentoso lleva a un
pequeo grupo a producir un extraordinario programa.
El cree que despus de esto puede desarrollar cualquier cosa. Acepta cualquier desafo con suprema confianza. Al exigirle un plan se rehusa y apunta a su previo xito para justificar. Nuevamente es exitoso => se le asigna proyecto mas grande y complejo. Llega el momento que recibe el proyecto que est mas all de su capacidad. No hay recuperacin posible: los gurs llevan el proyecto en su cabeza (muy poco documentado).
44
Lecciones importantes...
En computacin, la magia no existe !!!
De algn modo encontraremos una solucin elegante y sencilla a toda esta confusin. Tal vez nuevos lenguajes, ambientes, herramientas, etc.? Fred Brooks => No silver bullet . A veces la tecnologa puede ayudar, pero generalmente el problema pasa por la administracin (planificacin, control y seguimiento). Cuando la gente cree en magia los detalles parecen innecesarios y el trabajo difcil es diferido hasta 45 que la catstrofe aparece.
Lecciones importantes...
Tener MUY en cuenta la escala
La gente comienza sus carreras escribiendo programas pequeos. Ellos saben como escribir programas y no entienden mucho esto de la crisis del software . Al ser asignados a un proyecto grande no tienen dificultades en completar sus propios mdulos. La frustracin aparece al tener que coordinarse con mucha gente. Todo tiene un impacto en todo. Invierte buena parte del tiempo reaccionando a una lista interminable de pedidos de cambio.
46
Siglas
CMU SEPG SEI KPA SPI Carnegie Mellon University Grupo de Proceso de Ingeniera de Software Software Engineering Institute Key Process Area Software Process Improvement
47
Bibliografa y Casos
SEI/CMU. URL: http://www.sei.cmu.edu CMM Implementation Guide. Kim Caputo. Addison-Wesley, 1998. An Integrated Collection of Software Engineering Standards. James W. Moore. IEEE Software, Nov.-Dic. 1999.
48