El documento habla sobre el concepto de "Shift Left" en el aseguramiento de la calidad de software. Shift Left significa realizar actividades de aseguramiento de calidad más temprano en el ciclo de desarrollo para prevenir defectos. El documento analiza ejemplos de misiones espaciales y cómo las pruebas intensivas encontraron defectos críticos tarde en el proceso. Luego propone realizar revisiones, verificaciones y validaciones temprano para mejorar la calidad. Finalmente, recomienda crear procesos organizacionales para lograr resultados repet
1. Próximo escalón hacia la calidad
del software: Shift Left
Amalia Álvarez
TestingUY
14 de Abril 2015
2. Agenda
2Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Algunos
números
1 Shift Left
2 Próximos
escalones
3
3. Agenda
3Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Algunos
números
1 Shift Left
2 Próximos
escalones
3
4. Algunos números
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
4
Misión: Orbitar Venus
Lanzamiento: Mayo 1989
Fin: Impacto en Venus Oct. 1994
Datos:
- Logró mapear el 98% de la
superficie de Venus
- Tamaño del software: 22 KLOC
5. Algunos números
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
5
Pruebas:
En 2.4 años no se
encontraron todos los
defectos.
En los últimos 3 meses, se
encontraron 6 defectos
críticos.
Hubo problemas de
software: JPL liberó software
3 veces.
6. Algunos números
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
6
Misión: Orbitar Júpiter
Lanzamiento: Oct. 1989
Fin: Impacto en Júpiter Set.
2003
Highlights:
- Voló a través de 5 lunas de
Júpiter, Asteroides y cometas
antes de impactar en Júpiter
- Tamaño del software: 22 KLOC
7. Algunos números
7Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Pruebas:
Primeras 10 semanas:
1 sólo error crítico.
Primeras 76 semanas:
5 defectos críticos.
Luego de 5.5 años de
pruebas, se
encontraron 4
defectos en 8
semanas.
8. Primeras conclusiones
• Los resultados de las pruebas nos pueden
decir que quedan defectos en el
producto.
• Los resultados de las pruebas no nos
pueden decir que no quedan más
defectos en el producto.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
8
9. Primeras conclusiones
• Las pruebas intensivas de estos productos
resultaron en misiones exitosas. Pero…
– Eran sistemas muy pequeños (22.000 LOC)
– Podemos pagar procesos de pruebas tan
largos como sean necesarios?
– Si no, qué riesgos hay si el producto falla?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
9
11. Cómo afecta la calidad a los
costos del proyecto?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
11
12. Agenda
13Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Algunos
números
1 Shift Left
2 Próximos
escalones
3
13. Shift Left
• Objetivo del aseguramiento de la calidad
• Dar confianza de que los requisitos de un producto
de software se cumplirán y será adecuado para el
uso pretendido.
• Como las pruebas no nos asegura que el
producto no tenga defectos, debemos
adelantar las actividades de QA más
temprano en el proceso de Ingeniería.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
14
14. Shift Left
• El Aseguramiento de la Calidad busca
planificar actividades en el proyecto:
– Revisiones
– Verificaciones
– Validaciones
– Auditorías
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
15
Cada actividad de QA tiene propósitos diferentes.
16. Shift left – Actividades de QA
• Revisiones
– Evalúa el estado de un producto o actividad.
• Verificaciones
– Evalúa cumplimiento de requisitos.
• Validaciones
– Evalúa adecuación al uso.
• Auditorías
– Evalúa si se dice lo que se hace y se hace lo
que se dice.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
17
17. Shift left
• ¿Cómo decidimos qué actividad hacer y
cuándo?
– ¿Cuál es el costo de que queden defectos en
el producto?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
18
18. Shift left - Análisis de criticidad
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
19
Planificar las actividades de QA de acuerdo al
riesgo de falla en el producto.
19. Shift left – Resolver problemas
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
20
Procesos ProductosImplementa
Problemas
QA
Análisis
Lecciones
aprendidas
Retrabajo
El retrabajo
corrige el
problema.
Mejora
La mejora elimina la causa raíz del problema.
20. Shift Left - Plan de SQA
• Análisis de criticidad del producto
• Actividades a realizar
• Productos a evaluar
• Criterios a utilizar
• Nivel de independencia requerido
• Registros de las actividades
• Resolución de problemas
• Uso de herramientas
• Mediciones
Recomiendo: Std IEEE 730:2014 – SQA Planning.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
21
21. Agenda
22Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Algunos
números
1 Shift Left
2 Próximos
escalones
3
22. Próximos escalones
• En el proyecto
– Entrenar en QA.
– Planificación del aseguramiento de la calidad.
• Foco en lo más importante.
• Asegurar recursos:
– Humanos
– Infraestructura
– Datos
– Otros…
• Incorporar otros aspectos que requieren
aseguramiento: Ej. Seguridad.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
23
23. Próximos escalones
• En la organización
– Definición de procesos organizacionales:
• Resultados repetibles.
• Mayor uniformidad.
• Mejora continua.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
25
Un defecto es un tesoro porque nos
permite aprender para mejorar.
No podemos conformarnos con
buscar defectos, hay que prevenirlos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Defectos encontrados en revisiones
24. Próximos escalones – Principios para la
mejora de la calidad del software
• Un programa de calidad de software
adecuadamente gestionado ahorra tiempo y
dinero:
– “Quality is free” P. Crosby
• La calidad surge de la comparación con los
mejores y la debe demandar el cliente.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
26
25. Próximos escalones – Principios para la
mejora de la calidad del software
• Los desarrolladores se deben sentir
responsables por la calidad del software que
desarrollan y deben ser capaces de planificar,
medir y controlar su propio trabajo.
• El trabajo bien hecho se debe reconocer y los
problemas de calidad se deben identificar y
tomar alguna acción.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
27
26. Reflexión final
• “Aseguramiento de la calidad es mucho
más que Pruebas,
– y más eficiente” Tom Gilb
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
29
El objetivo final es diseñar
la calidad en el producto.
Design Quality in
27. Referencias
• Tom Gilb. Lean QA. 6WCSQ. 2014.
• Watts Humphrey. Faster-Cheaper-Worse. 4WCSQ. 2008.
• IEEE. Std 730. Software Quality Assurance Processes. 2014.
• Capers Jones. Software Assessments, Benchmarks, and Best
Practices. 2000.
• UNIT-ISO/IEC 12.207 – Ingeniería de sistemas y de software –
Procesos del ciclo de vida del software. 2008
• John D. Vu. “Software Process Improvement Journey: From
Level 1 to Level 5.” 7th SEPG. 1997.
• Linda Westfall. The Certified Software Quality Engineer
Handbook. 2010.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
30