II Jornadas Panel Calidad del Softw are Mejorar la Calidad del Softw are, una misión imposible? Nuevas tendencias en Calidad Software Javier Garzás www.javiergarzas.com @jgarzas 4 Octubre 2012 C/ Condesa de Venadito, nº 5 28027 Madrid. Tel.: + 34/ 91 408 78 78 Fax: + 34/91 405 78 88 panel.es Panel Sistemas Informáticos, S.L. Consultoría, servicios y soluciones TI. 2011
Hacer software no es ingeniería es un Arte
El desarrollo está cambiando rápidamente, y mucho, y con él la calidad, el testing, etc. Muchas organizaciones necesitan adaptarse rápidamente
1955 La ingeniería a software era igual que la hardware. Aquellos tiempos, todos eran ingenieros hardware o matemáticos ticos B. Boehm
Software designers are in a similar position to architects and civil engineers (Naur) 1968
2010 2005
Diseño previo e inamovible antes de la Construcción
Ciclo de vida en Cascada Año 4!!!
Pero algo no encaja =
% avance
Caminar sobre el agua y desarrollar software en base a una especificación es fácil, f si ambos elementos están n congelados (Edward V. Berard)
V1 V2 V3
Estamos descubriendo mejores maneras de desarrollar software Firmantes del Manifiesto Ágil (2001) Cascada (Predicción)
Espiral (Evolución) R D C T R D C T R D C T R D C T R D C T R D C T R D C T R D C T R D C T
Proyecto ágil: Ciclo iterativo e incremental [extremo, semanas], con equipos auto- organizados. (Ambler, 2008) 1950: Ciclo de Vida Iterativo y el X-15
y llegó el negocio Si no te mueves a la velocidad del mercado ya estás muerto - Jack Welch (GE)
Tenemos una oportunidad sin precedentes para ejecutar pruebas con usuarios en línea. Innovar rápidamente en función de la respuesta real del usuario. La vida es demasiado corta para construir algo que nadie quiere - Ash Maurya
Hoy se impone construir lo correcto antes que construirlo correctamente -A. Savoia.. Testing is dead,, GTAC 2011 (Nota mía: m lo que no significa construir de cualquier manera)
Optimizar la velocidad frente a la eficiencia (Lo que no significa construir de cualquier manera) Uniendo todo, aparecen nuevas maneras de trabajar, trabajar para dar respuesta a estas necesidades
#1 Desaparece la ERS En la época ágil / iterativa no hay un documento inamovible, previo al arranque, con todos los requisitos... Las necesidades del producto software se van tomando, detallando y ajustando mientras el proyecto avanza
#2 Desaparece el tester tradicional Fuente: agi lescout.com El testing (y el rol de tester) se integra en el día a día del desarrollo, no es una fase final aislada en la que muchas veces ya es demasiado tarde
#3 Desaparecen las METODOLOGÍAS FUENTE: KANBAN AND SCRUM MAKING THE MOST OF BOTH Scrum: An iterative and incremental framework that focuses on project management.
#5 No se se sabe cómo mo Auditar procesos (CMMI) CMMI y la agilidad? El proceso? Laboratorios de evaluación del producto (no del proceso, no solo testing) ISO/IEC 9126 / 25000 www.kybeleconsulting.com 2010
Conclusiones, recomendaciones y consideraciones
Síntomas: los tiempos de iteración n se alargan, se entra en codifica prueba, controlar la calidad excede la iteración, etc. No toda empresa puede o necesita seguir el mismo entrenamiento (metodología)
Contrato, modelo de negocio Participación del cliente Nula documentación Construir lo correcto antes que correctamente implica un desarrollo y control de calidad altamente sofisticado (o volverás -y morirás- en el codifica prueba)
Unit testing Continuous delivery Refactoring Continuous integration Diseño de alta calidad Automated builds Control de versiones Agilidad
El desarrollo está cambiando rápidamente, y mucho, y con él la calidad, el testing, etc. Muchas organizaciones necesitan adaptarse rápidamente Gracias www.javiergarzas.com @jgarzas Página 64