Calidad y Enfoque de Procesos: Retos en el Desarrollo de Aplicaciones de Negocios Karina Cedillo Cázares QuarkSoft S.C. 23 de Octubre del 2003
Contenido Problemática del Desarrollo de Software ¿Desarrollo de Software con Calidad? Enfoque de Procesos CMM® Dos Tecnologías de Vanguardia PSPSM y TSPSM Resultados y Beneficios Team Software ProcessSM ,TSPSM ,Personal Software ProcessSM y PSPSM son Service Marks de la Universidad de Carnegie Mellon Capability Maturity Model® y CMM ® son Marcas Registradas (trademarks) de la Universidad de Carnegie Mellon
Algunas Características del Desarrollo de SW Los requerimientos de los usuarios no siempre son satisfechos La satisfacción del cliente se ha convertido en un objetivo crítico para seguir siendo competitivo El costo y el tiempo de desarrollo son determinantes en la mayoría de los planes de negocio El software se desarrolla de manera artesanal Las fechas de entrega de software comúnmente se retrasan Los costos de producción de software son generalmente más altos de lo estimado Los procesos de administración de proyectos de software son poco practicados El éxito de los proyectos depende comúnmente de “héroes”
Problemática El 99% de los problemas de la industria es NO entregar en la fecha especificada Falta de gente capacitada No hay control de proyectos de software No se tiene un enfoque de calidad en el desarrollo de software
Calidad ¿Qué es calidad? ¿Qué riesgos tiene una mala calidad?
Costos de la Calidad del Software... Ejemplo Un ingeniero experimentado introduce 100 defectos por KLOC y el 50% de estos llegan a la fase de pruebas Un producto de 50,000 LOC entraría a la fase de pruebas con 2,500 defectos por ser encontrados Se requiere en promedio de 5 a10 horas-programador para encontrar cada defecto, es decir, un total de 20,000 horas-programador Un equipo de 5 personas, trabajando 160 horas al mes, terminaría en 25 meses El compilador detectaría el otro 50% de los defectos © 2001 by Carnegie Mellon University
Costos de la Calidad del Software... Ejemplo Asumir un rendimiento promedio del 70% en el proceso de aseguramiento de calidad. Un producto de 50,000 LOC entraría a la fase de pruebas con 750 defectos por ser encontrados Se requeriría un total de 6,000 horas-programador para encontrar todos los defectos Un equipo de 5 personas, trabajando 160 horas al mes, terminaría en un periodo de entre 7 y 8 meses El ahorro sería de 1 año y medio de pruebas!!! © 2001 by Carnegie Mellon University
Esquemas de Referencia Enfoque de calidad Procesos Métodos Herramientas Procesos Tecnología Recurso Humano El triángulo del Software
¿Por qué el enfoque de procesos? Facilita las tareas repetitivas Facilita la recolección de métricas Ayuda a conocer el desempeño y mejorar las estimaciones Ayuda a mejorar la calidad de los productos de SW No se depende de un individuo para ejecutar una tarea Permite una buena administración y control del proceso de desarrollo de SW
“No more models please...” Karl E. Wiegers en la Conferencia “Software Quality Management” 2002: Existen infinidad de Modelos Modelos de desarrollo (cascada, espiral, evolutivo, RAD, prototipos,...) Métodos ágiles (XP, Crystral, SCRUM, Lean Development, Xbreed,...) Modelos para requerimientos, diseño, pruebas, ... Modelos para Mejoramiento de Procesos (CMM/i, ISO, Bootstrap, ...) Modelos de Sistemas de Calidad (TQM, Cleanroom, QFD, Squid, ...) Modelos para inspecciones, riesgos, métricas Etc., etc.,... Sus recomendaciones: No esperar a que uno de ellos sea el “verdadero camino” No inventar otro modelo hasta no estar seguro que los que tienes no te sirven No aceptar las excusas de los “late adopters” No ser dogmático Just Do it!!
Organización del SW- CMM Optimizando (5) Mejoramiento continuo de procesos Administrado (4) Proceso predecible Definido (3) Proceso estándar y consistente Repetible (2) Proceso disciplinado Inicial (1)
Dos Tecnologías de Vanguardia Personal Software Process (PSP) Team Software Process (TSP) Creadas por Watts Humphrey (SEI) Orígenes en CMM Motivación Implementación de CMM Administración de tiempo y Costo Administración de calidad Reducir el tiempo de desarrollo Estado Actual En uso con muy buenos resultados Efectividad en acelerar SPI Diseminando esta tecnología
Mapeo de Modelos y Procesos Niveles Organizacionales Organización CMM Equipos TSP Personas PSP
Resultados ... Boeing Hill AFB AIS Teradyne QuarkSoft Los siguientes datos son un resumen de resultados publicados de usar TSP en 18 proyectos dentro de cuatro organizaciones. Boeing Hill AFB AIS Teradyne QuarkSoft © 2001 by Carnegie Mellon University
Beneficios de PSP/TSP: Calidad Software Size (Pilot #1) 2.36X more Sloc count Defects Detected in System Test 75% lower Defect Release # 6 Release # 7 Release # 8 Release # 9 [Fuente: Boeing TSP © 2001 by Carnegie Mellon University
Beneficios PSP/TSP: Pruebas de Sistema (Pilot #1) System Test Days 32 days 41days 38 days 2.36X more Sloc count 94% less time 4 days Release # 6 Release # 7 Release # 8 Release # 9 [Fuente: Boeing] TSP © 2001 by Carnegie Mellon University
Resultados en QuarkSoft Tamaño Productividad Error Calidad Estimación C++ 28,344 LOC 6.14 LOC/Hr 26.59% 0.18 D/KLOC FourJs 48,578 LOC 6.98 LOC/Hr 3.03% 0.24 D/KLOC Progress 43,793 LOC 5.39 LOC/Hr 1.34% 0.34 D/KLOC Java 42,086 LOC 5.25 LOC/hr 18.32% 0.41 D/KLOC Tamaño (LOCs) Productividad (LOC/Hr) Calidad del Producto (Defectos/KLOC)
Resumen de Beneficios Costos y calendarios de trabajo predecibles, dentro de +/- 10%. La productividad casi se ha duplicado para algunos equipos Los defectos encontrados en las últimas fases y el tiempo de pruebas se han reducido de 4 a 5 veces. La calidad del producto liberado abajo de 1.0 defectos/KLOC. Los equipos TSP logran un desempeño equiparable al nivel 5 de CMM en cuanto costo, tiempo de desarrollo y calidad, desde su primer proyecto. A los ingenieros les gusta TSP. La rotación de personal ha sido 0. © 2001 by Carnegie Mellon University
Ejemplo de Ahorro Asumir un producto de 80 KLOC En promedio, los defectos encontrados en pruebas se llevan de 8 a 20 horas corregirlos cada uno
Resumen y Conclusiones Necesidad de Calidad y satisfacción del cliente Enfoque de Procesos y diferentes plataformas CMM como marco de referencia PSP y TSP Ahorros y beneficios comprobables
¿Preguntas? Karina Cedillo Cázares kcedillo@quarksoft.net