SlideShare a Scribd company logo
1 of 93
Calidad de Producto 
en Agile 
“La Calidad es responsabilidad 
de todos.” 
W. Edwards Deming
Algunas ideas que desarrollaremos... 
Qué es Calidad? 
Principios y prácticas que mejoran la 
Calidad del Producto
Algunas ideas que desarrollaremos...... 
Documentación viva Dinamica de desarrollo 
Organización de equipo ágiles 
Automatización 
Delivery contínuo 
Calidad Integrada 
ágil 
Mejora contínua
Qué es Calidad?
Si vamos a comprar un auto, qué 
pretendemos que tenga?
Lexus GS350
Lexus GS350
Algunos datos sobre Lexus
Qué pasaba 
si queríamos comprar un auto 
en 1910?
Ford T
Algunos datos sobre el Ford T
Principios y prácticas 
que mejoran 
la Calidad del Producto
Qué pasa cuando el Cliente presiona cada 
vez más por productos de calidad 
superlativa?
http://en.wikipedia.org/wiki/Kano_model
Cómo podemos extrapolar esta cuestión al 
campo de la Ingeniería de Software?
Manifiesto Ágil 
http://agilemanifesto.org/iso/es/
Principios del Manifiesto Agil 
http://agilemanifesto.org/iso/es/principles.html
Prácticas que mejoran la calidad del producto 
 Implementamos diversas prácticas 
organizacionales que siguen los principios 
antedichos: 
- Equipos multidisciplinarios. 
- Desarrollo iterativo e incremental/Flujo 
contínuo. 
- Foco en la mejora contínua durante el ciclo de 
desarrollo. 
Jeff Sutherland’s Scrum Handbook 
Ken Schwaber & Jeff.Sutherland, The Scrum 
Guide
Prácticas que mejoran la calidad del producto 
 Adicionalmente, aplicamos prácticas de índole 
técnica: 
- Automatización y Delivery contínuo de cada 
incremento del producto. 
- Software construído con documentación viva. 
- Software con Calidad integrada. 
Gojko Adzic, Bridging the Communication Gap 
Jez Humble, David Farley - Continuous Delivery 
Ron Jeffries, Extreme Programming 
Installed 
James Shore, The art of Agile Development
Estos principios y prácticas promueven que 
el foco de todo el equipo esté en la Calidad 
del Producto.
Equipos Multidisciplinarios
Contexto 
Scrum prescribe: 
El Product Owner 
Equipo: Programadores y Testers. 
El Scrum Master 
Scrum Primer, 2nd Edition
ACTIVIDADES RELACIONADAS 
El Desarrollo Ágil busca prevenir errores en 
etapas tempranas del ciclo de desarrollo. 
Lisa Crispin, Janet Gregory: Agile Testing – Traditional vs Agile Testing
Los programadores construyen artefactos que 
son “error proof”. 
Ken Beck, TDD by Example 
ACTIVIDADES RELACIONADAS
ACTIVIDADES RELACIONADAS 
Los testers colaboran activamente con el cliente 
en la definición de las condiciones de 
satisfacción de cada nueva funcionalidad. 
Lisa Crispin, Janet Gregory: Agile Testing - Ten Principles for Agile Testers
ACTIVIDADES RELACIONADAS 
Aseguramos la Calidad colaborando 
colectivamente en la implementación de tests 
que: 
- Guían el desarrollo de artefactos de Software. 
- Están orientados al Negocio. 
- Critican el Producto.
MATRIZ DE TESTING AGILE
Atributos de un equipo ágil 
➤ Libertad para el cambio: 
- Debemos ser flexibles en lo metodológico y en 
lo técnico para permitir cambios de modo 
sustentable. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Equipos motivados: 
- Debemos ser un equipo ansioso por entregar 
un producto de Calidad del cual sentirnos 
orgullosos. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Comunicación con el Cliente: 
- Dedemos fomentar el diálogo hacia un 
entusiasmado, exclusivo y dedicado Cliente 
que pueda comunicarnos la visión del 
Producto de manera efectiva. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Colaboración: 
- Debemos colaborar activamente con el 
Cliente. Asistir pasivamente a una reunión no 
es un buen ejemplo. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Foco en la Calidad: 
- Sin esto no podremos mantener un ritmo 
sustentable de Delivery del Producto. Pronto 
no podremos cumplir con las demandas del 
Cliente. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Incrementalismo: 
- I.N.V.E.S.T en User Stories y S.M.A.R.T 
Tasks. Retrospectiva. 
Agile in a Flash – Agile success factors
Atributos de un equipo ágil 
➤ Automatización: 
- En un ciclo de Desarrollo reducido, es 
necesario aminorar tantas tareas repetitivas 
como se pueda. 
Agile in a Flash – Agile success factors
Desarrollo iterativo e incremental 
Flujo contínuo
Desarrollo iterativo e incremental/Flujo contínuo 
 Agile prescribe iteraciones time-boxed. 
Henrik Kniberg – Kanban and Scrum
Desarrollo iterativo e incremental/Flujo contínuo 
 Estas etapas acotadas promueven el feedback 
sobre la marcha del desarrollo. 
Henrik Kniberg – Kanban and Scrum
Desarrollo iterativo e incremental/Flujo contínuo 
 Estas etapas acotadas promueven el flujo 
contínuo (velocidad y predictibilidad) de 
artefactos de software. 
Jeffrey Liker – The Toyota Way cap. 8
Desarrollo iterativo e incremental/Flujo contínuo 
 Radiadores de información típicos en Scrum 
pueden ser un taskboard o un burn-up/down 
chart. 
Jonathan Rasmusson - The Agile Samurai cap. 8
Desarrollo iterativo e incremental/Flujo contínuo 
 En este sentido Kanban provee un mecanismo 
para: 
- Visualizar el workflow. 
Henrik Kniberg – Kanban and Scrum
Desarrollo iterativo e incremental/Flujo contínuo 
 En este sentido Kanban provee un mecanismo 
para: 
- Limitar los procesos abiertos (WIP). 
Henrik Kniberg – Kanban and Scrum
Desarrollo iterativo e incremental/Flujo contínuo 
 En este sentido Kanban provee un mecanismo 
para: 
- Identificar impedimentos. 
Henrik Kniberg – Kanban and Scrum
Desarrollo iterativo e incremental/Flujo contínuo 
 En este sentido Kanban provee un mecanismo 
para: 
- Medir la cadencia o Lead Time de la 
implementación del producto. 
Henrik Kniberg – Kanban and Scrum
Foco en la mejora continua 
durante el ciclo de desarrollo
Mejora contínua 
 “A intervalos regulares el equipo reflexiona sobre 
cómo ser más efectivo para a continuación 
ajustar y perfeccionar su comportamiento en 
consecuencia.” 
http://agilemanifesto.org/iso/es/principles.html
Mejora contínua 
 Los equipos ágiles realizan reuniones de 
Retrospectivas. 
Esther Derby, Diana Larsen – Agile Restrospectives
Mejora contínua 
 Los equipos ágiles atacan la causa raíz de los 
problemas aplicando la técnica de 5 Whys. 
Poppendieck – Lean Software Development An Agile Toolkit, cap 7 “See the Whole”
Mejora contínua 
 Los equipo ágiles buscan minimizar la deuda 
técnica.
Mejora contínua 
 Hay relación directa entre la Calidad del 
producto, la productividad y la deuda técnica 
acumulada.
Mejora contínua 
 Para controlar la deuda técnica podemos: 
- Implementar Tests de Unidad 
y de Sistema. 
- Automatizar procesos. 
- Tener etapas de refactoring 
regularmente. 
- Evidenciar acciones y 
resultados al Cliente.
Mejora contínua 
 Aplicar JIT a nuestro proceso de Desarrollo. 
Craig Larman and Bas Vodde – Lean Primer
Mejora contínua 
 Just In Time es una filosofía de management que 
promueve las siguientes prácticas: 
- Promover un sistema de pull a través del 
proceso de desarrollo. 
- Atender sólo los problemas fundamentales. 
Excluir cualquier cuestión que no agregue 
valor al producto. 
- Promover la simplicidad de procesos. 
Craig Larman and Bas Vodde – Lean Primer 
http://www.ifm.eng.cam.ac.uk/research/dstools/jit-just-in-time-manufacturing/
Mejora contínua 
 Just In Time es una filosofía de management que 
promueve las siguientes prácticas: 
- Propiciar la proximidad de todos los 
elementos, e involucrados, en el proceso de 
creación del producto. 
- Reducir el nivel de inventario: 
 La menor cantidad de artefactos posibles. 
 Procesar en pequeños lotes. 
 Crear conciencia en la Calidad con la cultura 
'Stop the Line'. 
Craig Larman and Bas Vodde – Lean Primer 
http://www.ifm.eng.cam.ac.uk/research/dstools/jit-just-in-time-manufacturing/
Automatización 
 Es muy difícil pensar en practicar Agile con 
madurez sin automatizar ningún proceso crítico: 
- Testing en sus distintas dimensiones. 
- Precarga de Datos y Deployment.
Automatización 
 Es indispensable, para la mejora contínua, poder 
liberarnos de las tareas que consumen más 
tiempo. 
VS
Software construído con 
“documentación viva”
Software construído con “documentación viva” 
 Es una fuente de información, colectivamente 
consensuada, acerca de la funcionalidad del 
Sistema; resultado de desarrollar mediante 
Tests de Aceptación. 
http://specificationbyexample.com/key_ideas.html
Software construído con “documentación viva” 
 Colectivamente consensuada. 
Gojko Adzic – Specification by Example cap. 6 “Specifying Collaborativelly”
Software construído con “documentación viva” 
 Desarrollada con Tests de Aceptación. 
Lasse Koskela – TDD and ATDD for Java. Developers
Software construído con “documentación viva” 
 Características de los Tests de Aceptación.
Software construído con “documentación viva” 
 Se ilustran mediante ejemplos. 
Gojko Adzic – Specification by Example cap. 7 “Illustrating with Examples”
Software construído con “documentación viva” 
 Se emplea un lenguaje oblícuo. 
Eric Evans – Domain Driven Design cap. 2 “Communication and the Use of Language”
Software construído con “documentación viva” 
 El lenguaje oblícuo se compone de 
abstracciones naturales del dominio del 
negocio. 
http://www.solutionsiq.com/Portals/93486/docs/Domain-Specific-Testing-Languages-Huso- 
Phoenix-Agile-2008.ppt
Software construído con “documentación viva” 
 Su verificación es automatizada. 
Gojko Adzic – Specification by Example cap. 9 “Automating validation without changing 
specifications”
Automatización
Automatización 
 “Los procesos Ágiles promueven el desarrollo 
sostenible. Los promotores, desarrolladores y 
usuarios debemos ser capaces de mantener un 
ritmo constante de forma indefinida.”
Automatización 
 “La simplicidad, o el arte de maximizar la 
cantidad de trabajo no realizado, es esencial.”
Automatización 
 Automatizar procesos nos provee de: 
- Un método de prevención de Bugs. 
- Una red de contención que incrementa la 
seguridad del equipo y la calidad del producto. 
- Un mecanismo de feedback muy eficiente.
Automatización Lean/Agile 
 Existen artefactos de Software modulares. 
Cuentan con responsabilidades concretas. 
Poppendieck – Implementing Lean From Concept to Cash
Automatización Lean/Agile 
 Ejemplos: 
- Servidor de Integración Contínua. 
http://jenkins-ci.org/ 
https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
Automatización Lean/Agile 
 Ejemplos: 
- Framework de Tests Unitarios. 
Poppendieck – Implementing Lean From Concept to Cash
Automatización Lean/Agile 
 Ejemplos: 
- Framework de Tests Funcionales. 
 Runner de Especificaciones ejecutables. 
 Framework de interacción con el Front-End, 
API, etc. 
http://cukes.info/install-cucumber-jvm.html 
http://www.masterthought.net/section/cucumber-reporting
Automatización Lean/Agile 
 Ejemplos: 
- Framework de Tests No Funcionales. 
 Seguridad 
 Performance 
- Etc. 
http://www.sonarqube.org/
Automatización Lean/Agile 
 Los distintos niveles de automatización nos 
permiten construir productos con Calidad 
Integrada. 
Jeffrey K. Liker – The Toyota Way
Automatización Lean/Agile 
 Ejemplos: 
- Las piezas de Software que son construidas 
con Test-First (usando TDD o ATDD) son 
Error-Proof. 
Ken Beck, TDD by Example
Automatización Lean/Agile 
 Para que la automatización sea eficiente es 
necesario que respete la cultura de trabajo Stop 
The Line. 
Jeffrey K. Liker – The Toyota Way
Automatización Lean/Agile 
 Artefactos como los Tests Unitarios se detienen 
automáticamente al encontrar una falla. 
- Si están conectados 
a un CI Server interrumpen, 
a la vez, un deploy 
a otro ambiente.
Automatización Lean/Agile 
 Artefactos como los Tests de Aceptación 
ejecutan la suite entera y, de existir, informan 
fallas al final. 
- Cuentan con mecanismos de reversión de 
estado, dejando la SUT en un estadío previo a 
la ejecución.
Automatización Lean/Agile 
 Los artefactos de Automatización son 
mantenidos por todos los integrantes del equipo:
¡Actividad!
Delivery contínuo
Delivery Contínuo 
 “Es una disciplina de desarrollo de Software que 
permite la construcción del mismo de forma tal 
de poder desplegarlo a producción en cualquier 
momento.” 
http://martinfowler.com/bliki/ContinuousDelivery.html
Diagrama de procesos 
http://en.wikipedia.org/wiki/Continuous_delivery
Development Pipeline 
 Es un patrón de Implementación automatizada 
de un proceso de build, test y release de 
aplicaciones. 
Continuous Delivery – cap. 5 “Anatomy of the Deployment Pipeline”
Continuous Delivery – cap. 5 “Anatomy of the Deployment Pipeline”
Automatización del testing 
 En la Commit Stage encontramos: 
- Tests Unitarios. 
- Tests de Integración. 
 En la Acceptance Stage encontramos: 
- Test Funcionales. 
 Test de Aceptación. 
- Smoke Tests. 
 En la UAT Stage y Equivalentes encontramos: 
- Test Manuales. 
Continuous Delivery – cap. 4 “Implementing a Testing Strategy”.
Pirámide de Automatización 
http://martinfowler.com/bliki/TestPyramid.html
Aut. Acceptance Stage 
Commit Stage 
Manual Acceptance 
Stage 
Capacity Stage
Beneficios 
 Cada instancia provee distintos tipos de 
Feedback: 
- A nivel de unidad/integración una falla detiene 
la ejecución de la suite, completamente. 
- A nivel de aceptación una falla no detiene la 
ejecución de la suite. 
Nos da un pantallazo del 
criterio de done.
Beneficios 
 Los Tests Funcionales automatizados, en 
particular los Tests de Aceptación, tienen los 
atributos de: 
- Liberan a los Testers para que exploten su 
creatividad en la búsqueda de escenarios de 
borde y errores no detectados.
Conclusiones: 
¿Qué fue lo más importante que 
aprendiste hoy?
Gracias! 
Marcelo Corpucci 
QC Practice Lead - CTO 
consultas: 
m.corpucci@globallogic.com

More Related Content

What's hot

Tech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in AgileTech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in Agile
Santex Group
 

What's hot (20)

Shift Left: En busca del éxito del software
Shift Left: En busca del éxito del softwareShift Left: En busca del éxito del software
Shift Left: En busca del éxito del software
 
Scrum Master - Ejercicios 1 Udemy
Scrum Master - Ejercicios 1 UdemyScrum Master - Ejercicios 1 Udemy
Scrum Master - Ejercicios 1 Udemy
 
Scrum Master - Ejercicios 3 Udemy
Scrum Master - Ejercicios 3 UdemyScrum Master - Ejercicios 3 Udemy
Scrum Master - Ejercicios 3 Udemy
 
Charla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del TestingCharla TestingUy 2019: Compartiendo el Sombrero del Testing
Charla TestingUy 2019: Compartiendo el Sombrero del Testing
 
Metodologías Agiles Scrum
Metodologías Agiles ScrumMetodologías Agiles Scrum
Metodologías Agiles Scrum
 
Presentación de Scrum
Presentación de ScrumPresentación de Scrum
Presentación de Scrum
 
Introducción a Scrum
Introducción a ScrumIntroducción a Scrum
Introducción a Scrum
 
Introducción a DevOps workshop
Introducción a DevOps workshopIntroducción a DevOps workshop
Introducción a DevOps workshop
 
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
 
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
SCRUM MASTER PROFESSIONAL CERTIFICATE (SMPC) MOCK EXAM Examen de Ejemplo v012018
 
Metodología scrum
Metodología scrumMetodología scrum
Metodología scrum
 
Scrum
ScrumScrum
Scrum
 
Workshop - Aproximación al metodología Scrum
Workshop - Aproximación al metodología ScrumWorkshop - Aproximación al metodología Scrum
Workshop - Aproximación al metodología Scrum
 
Actualización 2017 SCRUM GUIDE
Actualización  2017 SCRUM GUIDEActualización  2017 SCRUM GUIDE
Actualización 2017 SCRUM GUIDE
 
DevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continuaDevOps. Integre las operaciones para una entrega continua
DevOps. Integre las operaciones para una entrega continua
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrum
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutos
 
Tech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in AgileTech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in Agile
 
Memorias taller de Scrum Ceipa
Memorias taller de Scrum Ceipa Memorias taller de Scrum Ceipa
Memorias taller de Scrum Ceipa
 
Scrum
ScrumScrum
Scrum
 

Viewers also liked (9)

Presentacion Cursos en Línea
Presentacion Cursos en LíneaPresentacion Cursos en Línea
Presentacion Cursos en Línea
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Mapeo De Procesos
Mapeo De ProcesosMapeo De Procesos
Mapeo De Procesos
 
Guía para realizar mapa de Procesos
Guía para realizar mapa de ProcesosGuía para realizar mapa de Procesos
Guía para realizar mapa de Procesos
 
Mapa de procesos
Mapa de procesosMapa de procesos
Mapa de procesos
 
EJEMPLOS MAPA DE PROCESOS
EJEMPLOS MAPA DE PROCESOSEJEMPLOS MAPA DE PROCESOS
EJEMPLOS MAPA DE PROCESOS
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Agile QA Process
Agile QA ProcessAgile QA Process
Agile QA Process
 

Similar to Calidad en Agile - EducacionIT

La Alternativa Ágil 1.0
La Alternativa Ágil 1.0La Alternativa Ágil 1.0
La Alternativa Ágil 1.0
Agile Spain
 
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posibleGestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
fernandomilla.es
 

Similar to Calidad en Agile - EducacionIT (20)

Ingeniería de Calidad -Apunte calidad en las metodologias agiles
Ingeniería de Calidad -Apunte  calidad en las metodologias agilesIngeniería de Calidad -Apunte  calidad en las metodologias agiles
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
 
[es] Organización Agile - Lean y Framework de mejora de productividad - V3.0
[es] Organización Agile - Lean y Framework de mejora de productividad - V3.0[es] Organización Agile - Lean y Framework de mejora de productividad - V3.0
[es] Organización Agile - Lean y Framework de mejora de productividad - V3.0
 
Introducción a Agile y al Nuevo modelo de gestión - Diplomado de gestión ...
Introducción a Agile y al Nuevo modelo de gestión  - Diplomado de gestión ...Introducción a Agile y al Nuevo modelo de gestión  - Diplomado de gestión ...
Introducción a Agile y al Nuevo modelo de gestión - Diplomado de gestión ...
 
Gestión ágil de proyectos
Gestión ágil de proyectosGestión ágil de proyectos
Gestión ágil de proyectos
 
Gestión basada en Metodologías Ágiles
Gestión basada en Metodologías ÁgilesGestión basada en Metodologías Ágiles
Gestión basada en Metodologías Ágiles
 
La Alternativa Ágil 1.0
La Alternativa Ágil 1.0La Alternativa Ágil 1.0
La Alternativa Ágil 1.0
 
Curso Introducción a Agile
Curso Introducción a AgileCurso Introducción a Agile
Curso Introducción a Agile
 
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016
 
Un poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la PabloUn poco más de Agile y Scrum à la Pablo
Un poco más de Agile y Scrum à la Pablo
 
Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez
 
Las SinCuenta Sombras de Scrum
Las SinCuenta Sombras de ScrumLas SinCuenta Sombras de Scrum
Las SinCuenta Sombras de Scrum
 
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posibleGestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
Gestión y desarrollo ágil de proyectos. como salir al mercado lo antes posible
 
AWS Cloud Experience CA: Metodologías Ágiles: innovación a la velocidad de lo...
AWS Cloud Experience CA: Metodologías Ágiles: innovación a la velocidad de lo...AWS Cloud Experience CA: Metodologías Ágiles: innovación a la velocidad de lo...
AWS Cloud Experience CA: Metodologías Ágiles: innovación a la velocidad de lo...
 
Agile. Una introducción a la agilidad en el desarrollo de software
Agile. Una introducción a la agilidad en el desarrollo de softwareAgile. Una introducción a la agilidad en el desarrollo de software
Agile. Una introducción a la agilidad en el desarrollo de software
 
Scrum workshop
Scrum workshopScrum workshop
Scrum workshop
 
Dynamics saturday madrid 2018 validacion desarrollosna-vybc - jose angel
Dynamics saturday madrid 2018   validacion desarrollosna-vybc - jose angelDynamics saturday madrid 2018   validacion desarrollosna-vybc - jose angel
Dynamics saturday madrid 2018 validacion desarrollosna-vybc - jose angel
 
Agilidad y madurez del proceso
Agilidad y madurez del procesoAgilidad y madurez del proceso
Agilidad y madurez del proceso
 
Módulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágilMódulo 4. Desarrollador ágil
Módulo 4. Desarrollador ágil
 
Agile at Work
Agile at WorkAgile at Work
Agile at Work
 
Escalando Agile con SAFe
Escalando Agile con SAFeEscalando Agile con SAFe
Escalando Agile con SAFe
 

More from GlobalLogic Latinoamérica

More from GlobalLogic Latinoamérica (14)

5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
5º MeetUP ARQconf 2016 - IoT: What is it really and how does it work?
 
Chuck norris navigates offline - meetup ui lp 2015
Chuck norris navigates offline - meetup ui lp 2015Chuck norris navigates offline - meetup ui lp 2015
Chuck norris navigates offline - meetup ui lp 2015
 
[Bpm practice] focos práctica bpm
[Bpm practice] focos práctica bpm[Bpm practice] focos práctica bpm
[Bpm practice] focos práctica bpm
 
[Bpm practice] breve introduccion a bpm
[Bpm practice] breve introduccion a bpm [Bpm practice] breve introduccion a bpm
[Bpm practice] breve introduccion a bpm
 
Gl club story mapping - impact mapping - 30-09-2015
Gl club   story mapping - impact mapping - 30-09-2015Gl club   story mapping - impact mapping - 30-09-2015
Gl club story mapping - impact mapping - 30-09-2015
 
[Bpm practice] breve introduccion a bpm(1)
[Bpm practice] breve introduccion a bpm(1)[Bpm practice] breve introduccion a bpm(1)
[Bpm practice] breve introduccion a bpm(1)
 
My first app Android
My first app AndroidMy first app Android
My first app Android
 
Architectural katas - La Plata - 23-07-2015
Architectural katas - La Plata - 23-07-2015Architectural katas - La Plata - 23-07-2015
Architectural katas - La Plata - 23-07-2015
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic Club
 
Workshop Product in a Box
Workshop Product in a BoxWorkshop Product in a Box
Workshop Product in a Box
 
Charla REST API
Charla REST APICharla REST API
Charla REST API
 
Camino hacia la calidad superlativa - Marcelo Corpucci
Camino hacia la calidad superlativa - Marcelo CorpucciCamino hacia la calidad superlativa - Marcelo Corpucci
Camino hacia la calidad superlativa - Marcelo Corpucci
 
Seminario Android inicial 2014
Seminario Android inicial 2014Seminario Android inicial 2014
Seminario Android inicial 2014
 
La experiencia de usuario desde la mirada de Method
La experiencia de usuario desde la mirada de MethodLa experiencia de usuario desde la mirada de Method
La experiencia de usuario desde la mirada de Method
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (12)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Calidad en Agile - EducacionIT

  • 1. Calidad de Producto en Agile “La Calidad es responsabilidad de todos.” W. Edwards Deming
  • 2. Algunas ideas que desarrollaremos... Qué es Calidad? Principios y prácticas que mejoran la Calidad del Producto
  • 3. Algunas ideas que desarrollaremos...... Documentación viva Dinamica de desarrollo Organización de equipo ágiles Automatización Delivery contínuo Calidad Integrada ágil Mejora contínua
  • 5. Si vamos a comprar un auto, qué pretendemos que tenga?
  • 9. Qué pasaba si queríamos comprar un auto en 1910?
  • 11. Algunos datos sobre el Ford T
  • 12. Principios y prácticas que mejoran la Calidad del Producto
  • 13. Qué pasa cuando el Cliente presiona cada vez más por productos de calidad superlativa?
  • 15. Cómo podemos extrapolar esta cuestión al campo de la Ingeniería de Software?
  • 17. Principios del Manifiesto Agil http://agilemanifesto.org/iso/es/principles.html
  • 18. Prácticas que mejoran la calidad del producto  Implementamos diversas prácticas organizacionales que siguen los principios antedichos: - Equipos multidisciplinarios. - Desarrollo iterativo e incremental/Flujo contínuo. - Foco en la mejora contínua durante el ciclo de desarrollo. Jeff Sutherland’s Scrum Handbook Ken Schwaber & Jeff.Sutherland, The Scrum Guide
  • 19. Prácticas que mejoran la calidad del producto  Adicionalmente, aplicamos prácticas de índole técnica: - Automatización y Delivery contínuo de cada incremento del producto. - Software construído con documentación viva. - Software con Calidad integrada. Gojko Adzic, Bridging the Communication Gap Jez Humble, David Farley - Continuous Delivery Ron Jeffries, Extreme Programming Installed James Shore, The art of Agile Development
  • 20. Estos principios y prácticas promueven que el foco de todo el equipo esté en la Calidad del Producto.
  • 22. Contexto Scrum prescribe: El Product Owner Equipo: Programadores y Testers. El Scrum Master Scrum Primer, 2nd Edition
  • 23. ACTIVIDADES RELACIONADAS El Desarrollo Ágil busca prevenir errores en etapas tempranas del ciclo de desarrollo. Lisa Crispin, Janet Gregory: Agile Testing – Traditional vs Agile Testing
  • 24. Los programadores construyen artefactos que son “error proof”. Ken Beck, TDD by Example ACTIVIDADES RELACIONADAS
  • 25. ACTIVIDADES RELACIONADAS Los testers colaboran activamente con el cliente en la definición de las condiciones de satisfacción de cada nueva funcionalidad. Lisa Crispin, Janet Gregory: Agile Testing - Ten Principles for Agile Testers
  • 26. ACTIVIDADES RELACIONADAS Aseguramos la Calidad colaborando colectivamente en la implementación de tests que: - Guían el desarrollo de artefactos de Software. - Están orientados al Negocio. - Critican el Producto.
  • 28. Atributos de un equipo ágil ➤ Libertad para el cambio: - Debemos ser flexibles en lo metodológico y en lo técnico para permitir cambios de modo sustentable. Agile in a Flash – Agile success factors
  • 29. Atributos de un equipo ágil ➤ Equipos motivados: - Debemos ser un equipo ansioso por entregar un producto de Calidad del cual sentirnos orgullosos. Agile in a Flash – Agile success factors
  • 30. Atributos de un equipo ágil ➤ Comunicación con el Cliente: - Dedemos fomentar el diálogo hacia un entusiasmado, exclusivo y dedicado Cliente que pueda comunicarnos la visión del Producto de manera efectiva. Agile in a Flash – Agile success factors
  • 31. Atributos de un equipo ágil ➤ Colaboración: - Debemos colaborar activamente con el Cliente. Asistir pasivamente a una reunión no es un buen ejemplo. Agile in a Flash – Agile success factors
  • 32. Atributos de un equipo ágil ➤ Foco en la Calidad: - Sin esto no podremos mantener un ritmo sustentable de Delivery del Producto. Pronto no podremos cumplir con las demandas del Cliente. Agile in a Flash – Agile success factors
  • 33. Atributos de un equipo ágil ➤ Incrementalismo: - I.N.V.E.S.T en User Stories y S.M.A.R.T Tasks. Retrospectiva. Agile in a Flash – Agile success factors
  • 34. Atributos de un equipo ágil ➤ Automatización: - En un ciclo de Desarrollo reducido, es necesario aminorar tantas tareas repetitivas como se pueda. Agile in a Flash – Agile success factors
  • 35. Desarrollo iterativo e incremental Flujo contínuo
  • 36. Desarrollo iterativo e incremental/Flujo contínuo  Agile prescribe iteraciones time-boxed. Henrik Kniberg – Kanban and Scrum
  • 37. Desarrollo iterativo e incremental/Flujo contínuo  Estas etapas acotadas promueven el feedback sobre la marcha del desarrollo. Henrik Kniberg – Kanban and Scrum
  • 38. Desarrollo iterativo e incremental/Flujo contínuo  Estas etapas acotadas promueven el flujo contínuo (velocidad y predictibilidad) de artefactos de software. Jeffrey Liker – The Toyota Way cap. 8
  • 39. Desarrollo iterativo e incremental/Flujo contínuo  Radiadores de información típicos en Scrum pueden ser un taskboard o un burn-up/down chart. Jonathan Rasmusson - The Agile Samurai cap. 8
  • 40. Desarrollo iterativo e incremental/Flujo contínuo  En este sentido Kanban provee un mecanismo para: - Visualizar el workflow. Henrik Kniberg – Kanban and Scrum
  • 41. Desarrollo iterativo e incremental/Flujo contínuo  En este sentido Kanban provee un mecanismo para: - Limitar los procesos abiertos (WIP). Henrik Kniberg – Kanban and Scrum
  • 42. Desarrollo iterativo e incremental/Flujo contínuo  En este sentido Kanban provee un mecanismo para: - Identificar impedimentos. Henrik Kniberg – Kanban and Scrum
  • 43. Desarrollo iterativo e incremental/Flujo contínuo  En este sentido Kanban provee un mecanismo para: - Medir la cadencia o Lead Time de la implementación del producto. Henrik Kniberg – Kanban and Scrum
  • 44. Foco en la mejora continua durante el ciclo de desarrollo
  • 45. Mejora contínua  “A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.” http://agilemanifesto.org/iso/es/principles.html
  • 46. Mejora contínua  Los equipos ágiles realizan reuniones de Retrospectivas. Esther Derby, Diana Larsen – Agile Restrospectives
  • 47. Mejora contínua  Los equipos ágiles atacan la causa raíz de los problemas aplicando la técnica de 5 Whys. Poppendieck – Lean Software Development An Agile Toolkit, cap 7 “See the Whole”
  • 48. Mejora contínua  Los equipo ágiles buscan minimizar la deuda técnica.
  • 49. Mejora contínua  Hay relación directa entre la Calidad del producto, la productividad y la deuda técnica acumulada.
  • 50. Mejora contínua  Para controlar la deuda técnica podemos: - Implementar Tests de Unidad y de Sistema. - Automatizar procesos. - Tener etapas de refactoring regularmente. - Evidenciar acciones y resultados al Cliente.
  • 51. Mejora contínua  Aplicar JIT a nuestro proceso de Desarrollo. Craig Larman and Bas Vodde – Lean Primer
  • 52. Mejora contínua  Just In Time es una filosofía de management que promueve las siguientes prácticas: - Promover un sistema de pull a través del proceso de desarrollo. - Atender sólo los problemas fundamentales. Excluir cualquier cuestión que no agregue valor al producto. - Promover la simplicidad de procesos. Craig Larman and Bas Vodde – Lean Primer http://www.ifm.eng.cam.ac.uk/research/dstools/jit-just-in-time-manufacturing/
  • 53. Mejora contínua  Just In Time es una filosofía de management que promueve las siguientes prácticas: - Propiciar la proximidad de todos los elementos, e involucrados, en el proceso de creación del producto. - Reducir el nivel de inventario:  La menor cantidad de artefactos posibles.  Procesar en pequeños lotes.  Crear conciencia en la Calidad con la cultura 'Stop the Line'. Craig Larman and Bas Vodde – Lean Primer http://www.ifm.eng.cam.ac.uk/research/dstools/jit-just-in-time-manufacturing/
  • 54. Automatización  Es muy difícil pensar en practicar Agile con madurez sin automatizar ningún proceso crítico: - Testing en sus distintas dimensiones. - Precarga de Datos y Deployment.
  • 55. Automatización  Es indispensable, para la mejora contínua, poder liberarnos de las tareas que consumen más tiempo. VS
  • 56. Software construído con “documentación viva”
  • 57. Software construído con “documentación viva”  Es una fuente de información, colectivamente consensuada, acerca de la funcionalidad del Sistema; resultado de desarrollar mediante Tests de Aceptación. http://specificationbyexample.com/key_ideas.html
  • 58. Software construído con “documentación viva”  Colectivamente consensuada. Gojko Adzic – Specification by Example cap. 6 “Specifying Collaborativelly”
  • 59. Software construído con “documentación viva”  Desarrollada con Tests de Aceptación. Lasse Koskela – TDD and ATDD for Java. Developers
  • 60. Software construído con “documentación viva”  Características de los Tests de Aceptación.
  • 61. Software construído con “documentación viva”  Se ilustran mediante ejemplos. Gojko Adzic – Specification by Example cap. 7 “Illustrating with Examples”
  • 62. Software construído con “documentación viva”  Se emplea un lenguaje oblícuo. Eric Evans – Domain Driven Design cap. 2 “Communication and the Use of Language”
  • 63. Software construído con “documentación viva”  El lenguaje oblícuo se compone de abstracciones naturales del dominio del negocio. http://www.solutionsiq.com/Portals/93486/docs/Domain-Specific-Testing-Languages-Huso- Phoenix-Agile-2008.ppt
  • 64. Software construído con “documentación viva”  Su verificación es automatizada. Gojko Adzic – Specification by Example cap. 9 “Automating validation without changing specifications”
  • 65.
  • 67. Automatización  “Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.”
  • 68. Automatización  “La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.”
  • 69. Automatización  Automatizar procesos nos provee de: - Un método de prevención de Bugs. - Una red de contención que incrementa la seguridad del equipo y la calidad del producto. - Un mecanismo de feedback muy eficiente.
  • 70. Automatización Lean/Agile  Existen artefactos de Software modulares. Cuentan con responsabilidades concretas. Poppendieck – Implementing Lean From Concept to Cash
  • 71. Automatización Lean/Agile  Ejemplos: - Servidor de Integración Contínua. http://jenkins-ci.org/ https://wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
  • 72. Automatización Lean/Agile  Ejemplos: - Framework de Tests Unitarios. Poppendieck – Implementing Lean From Concept to Cash
  • 73. Automatización Lean/Agile  Ejemplos: - Framework de Tests Funcionales.  Runner de Especificaciones ejecutables.  Framework de interacción con el Front-End, API, etc. http://cukes.info/install-cucumber-jvm.html http://www.masterthought.net/section/cucumber-reporting
  • 74. Automatización Lean/Agile  Ejemplos: - Framework de Tests No Funcionales.  Seguridad  Performance - Etc. http://www.sonarqube.org/
  • 75. Automatización Lean/Agile  Los distintos niveles de automatización nos permiten construir productos con Calidad Integrada. Jeffrey K. Liker – The Toyota Way
  • 76. Automatización Lean/Agile  Ejemplos: - Las piezas de Software que son construidas con Test-First (usando TDD o ATDD) son Error-Proof. Ken Beck, TDD by Example
  • 77. Automatización Lean/Agile  Para que la automatización sea eficiente es necesario que respete la cultura de trabajo Stop The Line. Jeffrey K. Liker – The Toyota Way
  • 78. Automatización Lean/Agile  Artefactos como los Tests Unitarios se detienen automáticamente al encontrar una falla. - Si están conectados a un CI Server interrumpen, a la vez, un deploy a otro ambiente.
  • 79. Automatización Lean/Agile  Artefactos como los Tests de Aceptación ejecutan la suite entera y, de existir, informan fallas al final. - Cuentan con mecanismos de reversión de estado, dejando la SUT en un estadío previo a la ejecución.
  • 80. Automatización Lean/Agile  Los artefactos de Automatización son mantenidos por todos los integrantes del equipo:
  • 83. Delivery Contínuo  “Es una disciplina de desarrollo de Software que permite la construcción del mismo de forma tal de poder desplegarlo a producción en cualquier momento.” http://martinfowler.com/bliki/ContinuousDelivery.html
  • 84. Diagrama de procesos http://en.wikipedia.org/wiki/Continuous_delivery
  • 85. Development Pipeline  Es un patrón de Implementación automatizada de un proceso de build, test y release de aplicaciones. Continuous Delivery – cap. 5 “Anatomy of the Deployment Pipeline”
  • 86. Continuous Delivery – cap. 5 “Anatomy of the Deployment Pipeline”
  • 87. Automatización del testing  En la Commit Stage encontramos: - Tests Unitarios. - Tests de Integración.  En la Acceptance Stage encontramos: - Test Funcionales.  Test de Aceptación. - Smoke Tests.  En la UAT Stage y Equivalentes encontramos: - Test Manuales. Continuous Delivery – cap. 4 “Implementing a Testing Strategy”.
  • 88. Pirámide de Automatización http://martinfowler.com/bliki/TestPyramid.html
  • 89. Aut. Acceptance Stage Commit Stage Manual Acceptance Stage Capacity Stage
  • 90. Beneficios  Cada instancia provee distintos tipos de Feedback: - A nivel de unidad/integración una falla detiene la ejecución de la suite, completamente. - A nivel de aceptación una falla no detiene la ejecución de la suite. Nos da un pantallazo del criterio de done.
  • 91. Beneficios  Los Tests Funcionales automatizados, en particular los Tests de Aceptación, tienen los atributos de: - Liberan a los Testers para que exploten su creatividad en la búsqueda de escenarios de borde y errores no detectados.
  • 92. Conclusiones: ¿Qué fue lo más importante que aprendiste hoy?
  • 93. Gracias! Marcelo Corpucci QC Practice Lead - CTO consultas: m.corpucci@globallogic.com

Editor's Notes

  1. TITLE PAGE – Headline 36pt Arial in WHITE – Sub-head 18pt Arial Reg in GREY – Do not include client logos on title page – TEXT ONLY
  2. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  3. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  4. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  5. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  6. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  7. 1-COLUMN WITH IMAGE – Headline 32pt Arial in BLACK – Sub-heads 12pt Arial Reg in ORANGE – Body copy & bulleted text 10pt Arial Reg in GRAY; body copy not to go below 6 pt – Left-justify all text and design elements – Divider Lines no larger than 1pt *****Divider lines are not built into Master Slides – must copy and paste from example slide*****
  8. TITLE PAGE – Headline 36pt Arial in WHITE – Sub-head 18pt Arial Reg in GREY – Do not include client logos on title page – TEXT ONLY