Este documento describe cómo la calidad del software puede industrializarse siguiendo las lecciones aprendidas de la industria manufacturera. Explica que el desarrollo de software necesita evolucionar de un proceso artesanal a uno más industrializado mediante la mejora continua, automatización y gestión del ciclo de vida completo. Finalmente, argumenta que una plataforma integrada de gestión del ciclo de vida de aplicaciones como la de HP puede simplificar este proceso y ayudar a lograr la calidad total del software de manera global.
Gestionando las TI como un negocio. Uso de KPIs en grandes empresas españolas
Globe testing expoqa14-totalsqa
1. TOTAL SQA
La industrialización de la calidad del software
David Cañadillas – Presales Manager
david.canadillas@globetesting.com
@darthdeivid - @globetesting
2. Madrid, 26th to 28th May 2014
Agenda
ü Las lecciones de la Industria
ü Industrialización del Software
ü Aseguramiento «industrializado » de la calidad
ü El flujo Herramienta > Plataforma > Metodología
ü «Total SQA with HP Tools »
3. Madrid, 26th to 28th May 2014
Las lecciones de la
Industria
Evolución de la Industria y la importancia de la calidad
4. Madrid, 26th to 28th May 2014
Evolución industrial: Los procesos dirigen la industrialización
Evolución del proceso
4
Proceso: Es el conjunto de actividades, métodos, prácticas y transformaciones que
utilizan las personas para desarrollar y mantener el “software” y sus productos
asociados...
Taylorismo Fordismo
Calidad
Total
ToyotismoArtesanía …
Finales s. XIX - Principios s.XX Finales s.XX
6. Madrid, 26th to 28th May 2014
El enfoque industrial
• El objetivo:
– Establecer prácticas de gestión
– Seleccionar áreas de mejora con mayor impacto del negocio
– Eficacia de proceso/personas
• Cómo mejorar los procesos
– Filosofías: Ingeniería concurrente, Just In Time, TQM (Total
Quality Management)…
– Metodologías: Lean Manufacturing, Kanban, CONWIP…
– Prácticas: SMED, 5S, Six Sigma (metodológico)…
6
7. Madrid, 26th to 28th May 2014
Total Quality Management
Filosofía de gestión que unifica los aspectos de la
calidad, desde procesos, productos, a personas
TQM
Mejora
Continua
Top
Management
Calidad por
el usuario
Técnicas y
herramientas
Cultura de
calidad
8. Madrid, 26th to 28th May 2014
La industrialización del
software
De un proceso artesano a un proceso de ingeniería
9. Madrid, 26th to 28th May 2014
• Proceso de desarrollo y entrega como retroalimentación
continua
• En el proceso “artesano” los requisitos no están
definidos
• La calidad estaba muy acotada durante el desarrollo
Artesanía del software
Planificación Ejecución
Análisis Resultados
Planificación Ejecución
Análisis Resultados
10. Madrid, 26th to 28th May 2014
Desarrollo software
• Software es vital en los procesos de negocio
• Proceso de desarrollo software no definido
– No suele seguir las premisas de previsión, control, definición,
repetición y gestión
• Incapacidad de gestión del proceso se convierte en
problema fundamental
• Mala gestión humana produce fracasos, o éxitos
costosos
• La mejora del proceso software es básica para la calidad
y competitividad
10
11. Madrid, 26th to 28th May 2014
La historia se repite
Industrial manufacturing
• Lean Manufacturing
• Tarjetas Kanban
• 5S, SMED, Six Sigma
• Just In Time
• Automatización de
procesos
• Factorías
Software delivery
• Lean SW Development
• Kanban storyboards
• Metodologías ágiles,
DevOps, CMMI
• Entrega Continua
• Frameworks de
automatización
• Software factories
Alta calidad y tiempos cortos de entrega
12. Madrid, 26th to 28th May 2014
“Entrega
Continua”
Just In Time de la Industria reflejado en
ALM y release management
ü Ciclos cortos de entrega
ü Pruebas continuas
ü Aseguramiento de la calidad en
todo el ciclo de vida
ü “Be always ready to deliver”
ü Fiebre automatizadora
ü De la filosfía “push” a la filosofía
“pull”
• Just In Time
Dev Test
StageProd
Business
agility
Continuous
delivery
Agile delivery
Agile
development
13. Madrid, 26th to 28th May 2014
Industrializando el software
SISTEMAS COMPARTIDOS
APLICACIÓN COMPUESTA
Web
Servers
App
Servers
Componentes
Móviles
Web
Services
DB
Servers
AlmacenamientoTerceros
Calidad
Automatización
Colaboración
Industrialización software proporcional a:
• Complejidad de las aplicaciones
• Complejidad de la organización
• Exigencia de los usuarios
14. Madrid, 26th to 28th May 2014
Industrialización SQA
O cómo aplicar el aseguramiento de la calidad del software en un
entorno industrializado
15. Madrid, 26th to 28th May 2014
SQA industrializado es ALM
• ALM es el SQA en un entorno industrializado
– Asegurar proyectos y entregas
– Asegurar requisitos, desarrollo y calidad
– Asegurar la trazabilidad de la información
APPLICATION LIFECYCLE MANAGEMENT
Project Planning & Tracking | Enterprise Release Management
REQUIREMENTS
MANAGEMENT
✓ Definición
✓ Gestión
DEVELOPMENT
MANAGEMENT
✓ Integración
✓ Defectos
QUALITY
MANAGEMENT
✓ Funcional
✓ Rendimiento
FOUNDATION
Trazabilidad | Estandarización Procesos | Reporting | Extensibilidad
16. Madrid, 26th to 28th May 2014
Gestión del ciclo de vida
• QA durante el ciclo de vida completo
– Procedimientos adecuados
– Integración de información
– Asegurar el desarrollo mediante pruebas
– Soporte multidisciplinar
– Agilizar resolución de problemas
Procesos
Herramientas
Personas
Plataforma
PLATAFORMA
PROCESOS
17. Madrid, 26th to 28th May 2014
Aspectos industriales del SQA
Mejorar procesos
Controlar calidad
Flujos de información
Agilizar entregas
Automatización
Ciclos de pruebas
Soportes informáticos
Reutilización
18. Madrid, 26th to 28th May 2014
De la herramienta a la
metodología
La importancia de las plataformas integradas y ALM
19. Madrid, 26th to 28th May 2014
Necesidad de las herramientas
Cloud
PROCESO DE ENTREGA
• Herramientas para
– Generar
– Integrar
– Publicar
– Probar
– Consumir
– Entregar
• Automatizar el
proceso en la medida
de lo posible
– Integrar para asegurar
la calidad
20. Madrid, 26th to 28th May 2014
Orquestación del proceso
• Asegurar la calidad en un entorno automatizado y
gestionado requiere de la utilización de herramientas
– Acoplar a las utilizadas en las diferentes etapas del proceso
– Permitir el flujo de información y su posterior interpretación
– Reducir el error de las tareas manuales
– Facilitar la relación compleja de información
• La metodología es el marco global del proceso
– El proceso es el consumidor de las herramientas
– La plataforma integrada quien orquesta el consumo de las
herramientas
• Centralización de la información y las decisiones
21. Madrid, 26th to 28th May 2014
Plataforma ALM integrada
Build
Repositorio
Repositorio
ALM
Gestión
Proyecto
Tester
Developer
Project
Manager
Quality
Manager
Gestióndelportfolioyplanificación
DESARROLLO QA PRE-PRODUCCIÓN PRODUCCIÓN
Entornos
22. Madrid, 26th to 28th May 2014
Total SQA
Cómo la plataforma de HP ayuda a implantar el TSQA
23. Madrid, 26th to 28th May 2014
Aseguramiento Total
SQA
PLATAFORMA
PROCESOS
Implantación
procedimientos Definición de
roles
Integración
herramientas
Gestión de
equipos
Servicios de
pruebas
Definición de
plataformas
Gestión de
operaciones
Gestión de la
demanda
24. Madrid, 26th to 28th May 2014
Plataforma HP ALM integrada
Generadores de
carga
HP SaaS
Jenkins
SVN
Artifactory
Maven
HP ALM
HP Unified
Functional
Testing
HP Agile
Manager
Tester
Funcional
Developer
Project
Manager
Quality
Manager
LoadRunner
Controller
Tester
Rendimiento
HPPPM
DESARROLLO QA PRE-PRODUCCIÓN PRODUCCIÓN
AGM
Synchronizer
HP CDA
25. Madrid, 26th to 28th May 2014
Portfolio de herramientas
• Herramientas de gestión
– HP ALM para la gestión del ciclo de vida y orquestador
– HP Agile Manager para la gestión ágil
– HP PPM para la gestión del portfolio
• Herramientas de testing
– HP UFT para automatización funcional
– HP Sprinter para testing funcional
– HP LoadRunner / Performance Center para rendimiento
• Herramientas de desarrollo
– IDE’s (Eclipse, NetBeans, Visual Studio
– Repositorios de artefactos y de código (SVN, Git, Nexus, etc…)
– Integración Continua (Jenkins/Hudson, Sonar, Maven)
27. Madrid, 26th to 28th May 2014
¿Por qué ALM integrado?
TQM
• Mejora continua
• Top Management
• La calidad definida por
el usuario.
• Técnicas-herramientas.
• Cultura de calidad.
ALM integrado
• Info en tiempo real
• Gestión unificada
• Desde el requisito al
defecto
• Automatización
• Simplicidad del proceso
TOTAL SQA
29. Madrid, 26th to 28th May 2014
“El verdadero reto no está en afrontar y resolver lo
complejo, sino en trasladarlo y convertirlo a algo más
sencillo”
• Si la historia se repite aprendamos de la Industria
• Total SQA no es más que mirar a la industria y aplicar
Total Quality Management al ciclo de vida
• Una plataforma ALM integrada simplifica el proceso y las
herramientas de HP lo hacen posible de manera global
• Cambiar los hábitos de trabajo es más fácil con
herramientas fácilmente adaptables e integrables
• La herramienta no es un fin, sino un medio que ayuda a
cumplir el objetivo… La Calidad Total
31. TOTAL SQA
La industrialización de la calidad del software
David Cañadillas – Presales Manager
david.canadillas@globetesting.com
@darthdeivid - @globetesting