SlideShare una empresa de Scribd logo
1 de 45
Descargar para leer sin conexión
Shift Left
En busca del éxito
del software
Marco Avendaño
XIV Jornadas Latinoamericanas de Agilidad
¿Cuál es
nuestro propósito?
Mejorar la calidad de
vida de las personas
@marcoviaweb
Los retos
actuales de las
organizaciones
● Disminuir los tiempos de
Delivery
● Incrementar la calidad
● Minimizar los costos
#agiles2021
Problemas
de calidad
Decidir Analizar Diseñar Desarrollar Test Deploy
Ciclo de vida de desarrollo
@marcoviaweb #agiles2021
Decidir Analizar Diseñar Desarrollar Test Deploy
Modelo tradicional de calidad
@marcoviaweb #agiles2021
IBM System Science Institute Relative Cost of Fixing Defects
Costo de los defectos
Costo
Diseñar Desarrollar Test Pre-Producción Producción
@marcoviaweb #agiles2021
Incremento
exponencial
del costo
● Se debe a que el impacto y la
cantidad de retrabajo es
mayor cuando los defectos se
detectan o se corrigen en
fases posteriores
@marcoviaweb #agiles2021
Un defecto que se elimina después de que el producto ha
entrado a producción costará alrededor de 100 veces más que
uno que se identifica y elimina al inicio
Características
del modelo
tradicional
● Los miembros de Quality
Assurance (QA) están menos
involucrados en las primeras
fases
● Menos tiempo para corregir
defectos
● Alta probabilidad de "romper"
la funcionalidad debido a
correcciones de última hora
● Se trabaja en silos
@marcoviaweb #agiles2021
¿Qué podemos hacer?
Buscar
el éxito
del software
● ¿Cómo involucrar las
actividades de QA en las
primeras fases?
● ¿Cómo prevenir defectos?
● ¿Cómo reducir los costos?
● ¿Cómo hacer que el equipo
sea más efectivo?
@marcoviaweb #agiles2021
Quality Assurance
lo más antes posible
Enfoque
Shift Left
● Hacer las cosas más
temprano en el ciclo de
desarrollo
● Asegurar la calidad del
producto durante todo el
proceso
● Centrarse en la participación
y feedback de las personas
@marcoviaweb #agiles2021
Shift Left
NO
se trata de...
● Cambiar de posición, sino
hacer en todas las fase
● Enfocarse en la detección de
problemas, más bien en la
prevención su prevención
@marcoviaweb #agiles2021
Decidir Analizar Diseñar Desarrollar Test Deploy
No es cambiar de posición
@marcoviaweb #agiles2021
Decidir Analizar Diseñar Desarrollar Test Deploy
No es sólo detección Detección
Detección
Prevención
@marcoviaweb #agiles2021
https://devopedia.org/shift-left
Modelo de calidad de Shift Left
@marcoviaweb #agiles2021
Shift Left
se trata de...
● Considerar QA desde el
principio
● Tener un conocimiento
completo sobre el producto
● Establecer una cultura de
calidad como responsabilidad
de todos
@marcoviaweb #agiles2021
Beneficios de
Shift Left
● Delivery rápido
● Detectar defectos temprano
● Reducir costos
● Mejor entendimiento del
negocio
● Mejorar el trabajo en equipo
@marcoviaweb #agiles2021
Decidir Analizar Diseñar Desarrollar Test Deploy
Enfoque tradicional
Decidir
Analizar
Diseñar
Desarrollar
Test
Deploy
@marcoviaweb #agiles2021
Decidir Analizar Diseñar Desarrollar Test Deploy
Enfoque ágil
@marcoviaweb #agiles2021
Iteración n Iteración n + 1
Sprint Sprint Sprint Terminar Terminar
Trabajo sin terminar
release
@marcoviaweb #agiles2021
Sprint Sprint Sprint Terminar Terminar
Trabajo sin
terminar
release
Mover
DoD
@marcoviaweb #agiles2021
Sprint Sprint Sprint Sprint Sprint
release
release
release
release
release
@marcoviaweb #agiles2021
Sprint Sprint Sprint Sprint Sprint
release
release
release
release
release
release release release release release
@marcoviaweb #agiles2021
¿Dónde se puede
aplicar Shift Left?
● Diseño
● Desarrollo
● Testing
● Seguridad
● Operaciones
@marcoviaweb #agiles2021
Diseño
● Eliminar requisitos deficiente
que hagan que un producto
no esté alineado con las
necesidades del negocio
● Propiciar una mentalidad de
pensamiento de diseño en
todo el equipo
● Todos comparten la visión del
producto
@marcoviaweb #agiles2021
Feedback en el diseño
@marcoviaweb #agiles2021
● Scrum: El Product Owner es parte del equipo y colabora en la
descripción, evaluación y reajuste de las necesidades del negocio
● Diseño basado en valor: Las mejores ideas surgen de datos
empíricos
● BizDevOps: Se derriban los silos entre el negocio y DevOps
● Arquitectura emergente: La arquitectura está de acuerdo a las
condiciones reales
● Diseñado para afrontar fallas: Se debe anticipar, no sólo a los
cambios, sino también a como se recuperará a las fallas
Desarrollar
● Intercambiar conocimientos y
experiencias
● Validación de la calidad
● Atención de la deuda técnica
@marcoviaweb #agiles2021
Validación de la calidad
@marcoviaweb #agiles2021
● Análisis de código: Usar herramientas como SonarQube
● Regla de los Boy Scouts: Deja cualquier código en un mejor estado
del que lo encontraste
● Continuous integration: Mob/Pair programming
● Buid automatizado: Build una vez, Deploy mucha veces
Testing
● Tienen su origen en las
pruebas
● Se alinea con prácticas ágiles
como el desarrollo basado en
pruebas (TDD) y el desarrollo
basado en el comportamiento
(BDD)
@marcoviaweb #agiles2021
Definición de pruebas
@marcoviaweb #agiles2021
● Test Driven Development: BDD para escribir Features e Historias
de usuario; TDD para escribir código
● Load Testing: Validar que la aplicación y la infraestructura están
sujetas a cargas máximas, cargas continuas, volúmenes de datos
● Test automation: Programar pruebas en varios niveles de
funcionalidad para disminuir la posibilidad de errores manuales
Seguridad
● Combinado con DevOps, se
obtiene DevSecOps
● Deben existir estándares de
seguridad
● El personal de seguridad
debe usar las mismas
herramientas que DevOps y
tener la capacidad de corregir
el código por su cuenta
@marcoviaweb #agiles2021
Preocupaciones de seguridad
@marcoviaweb #agiles2021
● DevSecOps: Implica pensar desde el principio en la seguridad de
las aplicaciones y de la infraestructura.
● Automatización: También implica automatizar algunas puertas de
seguridad para impedir que se ralentice el flujo de trabajo de
DevOps
Operaciones
● Cuando las aplicaciones
están en la nube, CD se ha
convertido en una práctica
común para ofrecer
rápidamente las últimas
correcciones y funciones
● El Deploying de software está
automatizado
● La implementación continua
permite realizar pruebas
continuas
@marcoviaweb #agiles2021
Preocupaciones operativas
@marcoviaweb #agiles2021
● DevOps: Mejora la comunicación, colaboración e integración de
Desarrollo y Operaciones
● Monitoreo: Para garantizar el correcto funcionamiento del
producto
“Shift Left se basa en el concepto de acercar una persona, un
proceso o una tecnología al cliente, lo que da como resultado
una resolución más rápida, más eficiente y más eficaz”
Shift Left en acción
Adopción de Shift Left
Estrategia operativa
Definir e implementar: quality gates, prácticas de calidad y actividades de
testing a lo largo del ciclo de desarrollo
Madurez en Agile Experiencias en la adopción de agile
Test automation
La realización de test de manera frecuente requiere adoptar herramientas de
automatización
Pipeline CI/CD
Los defectos pueden detectarse y corregirse inclusive durante la integración del
código, mejorando la calidad del producto
Test temprano y frecuente Todos se ven involucrados durante todo el ciclo de desarrollo
Release y Deploy
automatizado
La probabilidad de que ocurra un error humano es menor, mejorando la
eficiencia y la eficacia del equipo
@marcoviaweb #agiles2021
Habilitando Shift Left
Shift Left
Cambio de mentalidad
Definir puertas de calidad y prácticas
de calidad a lo largo de todo el ciclo
Cambio de responsabilidades
La calidad es responsabilidad de todos
Cambio en el tiempo
Realizar pruebas con anticipación
Cambio en la organización
Más ingenieros de calidad que solo
testers
@marcoviaweb #agiles2021
“Cuanto más antes se encuentre un defecto en el ciclo de vida
del software, más barato será repararla”
Referencias
@marcoviaweb #agiles2021
Shift left thinking applied to the full software delivery cycle by Jasper Bogers
https://blog.jdriven.com/2018/10/devops-shift-left-paradigm/
Shift left Testing by Matias Torcivia
https://medium.com/globant/shift-left-testing-c838521617b0
Devopedia
https://devopedia.org/shift-left#discussion
SAFe
https://www.scaledagileframework.com/blog/enabling-technical-agility-in-
the-lean-enterprise-vlog-series-shift-left-testing/
AGILES2021.AGILES.ORG
Contacto
linkedin.com/in/marcoviaweb
@marcoviaweb
marcoviaweb@gmail.com

Más contenido relacionado

La actualidad más candente

Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing MindsetElias Nogueira
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
API Test Automation using Karate.pdf
API Test Automation using Karate.pdfAPI Test Automation using Karate.pdf
API Test Automation using Karate.pdfVenessa Serrao
 
BDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringElias Nogueira
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMIBM UrbanCode Products
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentClaudia Ring
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIDinesh Kaushik
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumberNibu Baby
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingAtlassian
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes CamadasJúlio de Lima
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 

La actualidad más candente (20)

Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing Mindset
 
Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
API Test Automation using Karate.pdf
API Test Automation using Karate.pdfAPI Test Automation using Karate.pdf
API Test Automation using Karate.pdf
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile testing
Agile testing Agile testing
Agile testing
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
BDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum GatheringBDD não é automação de teste - Scrum Gathering
BDD não é automação de teste - Scrum Gathering
 
Shift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBMShift Left - Approach and practices with IBM
Shift Left - Approach and practices with IBM
 
Docs Like Code
Docs Like CodeDocs Like Code
Docs Like Code
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deployment
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
 
Introduction to Bdd and cucumber
Introduction to Bdd and cucumberIntroduction to Bdd and cucumber
Introduction to Bdd and cucumber
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
TDD refresher
TDD refresherTDD refresher
TDD refresher
 
How to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile TestingHow to Build in Quality from Day 1 using Lean QA and Agile Testing
How to Build in Quality from Day 1 using Lean QA and Agile Testing
 
[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas[ATC2021] Distribuição de Testes em Diferentes Camadas
[ATC2021] Distribuição de Testes em Diferentes Camadas
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 

Similar a Shift Left: En busca del éxito del software

#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOpsHablemosDeTesting
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Presentación gathering ees2
Presentación gathering ees2Presentación gathering ees2
Presentación gathering ees2Etna Estrella
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agilesfmmeson
 
Importancia del testing en los proyectos
Importancia del testing en los proyectosImportancia del testing en los proyectos
Importancia del testing en los proyectosSoftware Guru
 
Webinar automatizacion de pruebas con smart selenium kit
Webinar automatizacion de pruebas con smart selenium kitWebinar automatizacion de pruebas con smart selenium kit
Webinar automatizacion de pruebas con smart selenium kitatSistemas
 
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...Mkt Manager Data Adviser
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasBelatrix Software
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).pptMatasEnriqueFarasPea
 

Similar a Shift Left: En busca del éxito del software (20)

#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
 
Mcvds
McvdsMcvds
Mcvds
 
Los retos de un tester ágil
Los retos de un tester ágilLos retos de un tester ágil
Los retos de un tester ágil
 
Fabricas de software
Fabricas de softwareFabricas de software
Fabricas de software
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Presentación gathering ees2
Presentación gathering ees2Presentación gathering ees2
Presentación gathering ees2
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agiles
 
Importancia del testing en los proyectos
Importancia del testing en los proyectosImportancia del testing en los proyectos
Importancia del testing en los proyectos
 
Gestión De Calidad
Gestión De CalidadGestión De Calidad
Gestión De Calidad
 
GestióN De Calidad
GestióN De CalidadGestióN De Calidad
GestióN De Calidad
 
Webinar automatizacion de pruebas con smart selenium kit
Webinar automatizacion de pruebas con smart selenium kitWebinar automatizacion de pruebas con smart selenium kit
Webinar automatizacion de pruebas con smart selenium kit
 
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
Desayuno Tecnológico Data Adviser: "DevOps, realidad o ficción" ~ 28 de Junio...
 
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasTesting de Aplicaciones Móviles, Públicas, Masivas y Críticas
Testing de Aplicaciones Móviles, Públicas, Masivas y Críticas
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QA
 
20150416 releasemanagement
20150416 releasemanagement20150416 releasemanagement
20150416 releasemanagement
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
 
Calidad en Agile - EducacionIT
Calidad en Agile - EducacionITCalidad en Agile - EducacionIT
Calidad en Agile - EducacionIT
 

Más de Marco Avendaño

Historias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosHistorias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosMarco Avendaño
 
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipo
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipoScrum en el aula - mejorando la colaboración y el aprendizaje en equipo
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipoMarco Avendaño
 
Las dimensiones del producto
Las dimensiones del productoLas dimensiones del producto
Las dimensiones del productoMarco Avendaño
 
Scrum Master: El líder del cambio
Scrum Master: El líder del cambioScrum Master: El líder del cambio
Scrum Master: El líder del cambioMarco Avendaño
 
Antipatrones de las retrospectivas relacionados a las personas
Antipatrones de las retrospectivas relacionados a las personasAntipatrones de las retrospectivas relacionados a las personas
Antipatrones de las retrospectivas relacionados a las personasMarco Avendaño
 
Value Stream Mapping para la eficiencia del proceso
Value Stream Mapping para la eficiencia del procesoValue Stream Mapping para la eficiencia del proceso
Value Stream Mapping para la eficiencia del procesoMarco Avendaño
 
Las siete dimensiones del producto
Las siete dimensiones del productoLas siete dimensiones del producto
Las siete dimensiones del productoMarco Avendaño
 
Introducción a DevOps workshop
Introducción a DevOps workshopIntroducción a DevOps workshop
Introducción a DevOps workshopMarco Avendaño
 
Patrones de Scrum orientados al valor
Patrones de Scrum orientados al valorPatrones de Scrum orientados al valor
Patrones de Scrum orientados al valorMarco Avendaño
 
Eliminando desperdicios en el desarrollo de software
Eliminando desperdicios en el desarrollo de softwareEliminando desperdicios en el desarrollo de software
Eliminando desperdicios en el desarrollo de softwareMarco Avendaño
 
Acuerdos de equipo en tiempos remotos
Acuerdos de equipo en tiempos remotosAcuerdos de equipo en tiempos remotos
Acuerdos de equipo en tiempos remotosMarco Avendaño
 
OKR: Alineando objetivos y resultados en las organizaciones
OKR: Alineando objetivos y resultados en las organizacionesOKR: Alineando objetivos y resultados en las organizaciones
OKR: Alineando objetivos y resultados en las organizacionesMarco Avendaño
 
User Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónUser Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónMarco Avendaño
 
Design Sprint - Workshop
Design Sprint - WorkshopDesign Sprint - Workshop
Design Sprint - WorkshopMarco Avendaño
 

Más de Marco Avendaño (20)

Historias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productosHistorias de Usuario en acción: potenciando el valor de los productos
Historias de Usuario en acción: potenciando el valor de los productos
 
Desing Thinking
Desing ThinkingDesing Thinking
Desing Thinking
 
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipo
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipoScrum en el aula - mejorando la colaboración y el aprendizaje en equipo
Scrum en el aula - mejorando la colaboración y el aprendizaje en equipo
 
eduScrum
eduScrumeduScrum
eduScrum
 
Las dimensiones del producto
Las dimensiones del productoLas dimensiones del producto
Las dimensiones del producto
 
Scrum Master: El líder del cambio
Scrum Master: El líder del cambioScrum Master: El líder del cambio
Scrum Master: El líder del cambio
 
Atención al cliente
Atención al clienteAtención al cliente
Atención al cliente
 
Antipatrones de las retrospectivas relacionados a las personas
Antipatrones de las retrospectivas relacionados a las personasAntipatrones de las retrospectivas relacionados a las personas
Antipatrones de las retrospectivas relacionados a las personas
 
Value Stream Mapping para la eficiencia del proceso
Value Stream Mapping para la eficiencia del procesoValue Stream Mapping para la eficiencia del proceso
Value Stream Mapping para la eficiencia del proceso
 
Las siete dimensiones del producto
Las siete dimensiones del productoLas siete dimensiones del producto
Las siete dimensiones del producto
 
Introducción a DevOps workshop
Introducción a DevOps workshopIntroducción a DevOps workshop
Introducción a DevOps workshop
 
Patrones de Scrum orientados al valor
Patrones de Scrum orientados al valorPatrones de Scrum orientados al valor
Patrones de Scrum orientados al valor
 
Eliminando desperdicios en el desarrollo de software
Eliminando desperdicios en el desarrollo de softwareEliminando desperdicios en el desarrollo de software
Eliminando desperdicios en el desarrollo de software
 
Acuerdos de equipo en tiempos remotos
Acuerdos de equipo en tiempos remotosAcuerdos de equipo en tiempos remotos
Acuerdos de equipo en tiempos remotos
 
OKR: Alineando objetivos y resultados en las organizaciones
OKR: Alineando objetivos y resultados en las organizacionesOKR: Alineando objetivos y resultados en las organizaciones
OKR: Alineando objetivos y resultados en las organizaciones
 
Design Sprint Remoto
Design Sprint RemotoDesign Sprint Remoto
Design Sprint Remoto
 
User Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcciónUser Story Mapping - Proceso de construcción
User Story Mapping - Proceso de construcción
 
Product Discovery
Product DiscoveryProduct Discovery
Product Discovery
 
Agile Mindset Workshop
Agile Mindset WorkshopAgile Mindset Workshop
Agile Mindset Workshop
 
Design Sprint - Workshop
Design Sprint - WorkshopDesign Sprint - Workshop
Design Sprint - Workshop
 

Shift Left: En busca del éxito del software

  • 1. Shift Left En busca del éxito del software Marco Avendaño XIV Jornadas Latinoamericanas de Agilidad
  • 3. Mejorar la calidad de vida de las personas
  • 4. @marcoviaweb Los retos actuales de las organizaciones ● Disminuir los tiempos de Delivery ● Incrementar la calidad ● Minimizar los costos #agiles2021
  • 6. Decidir Analizar Diseñar Desarrollar Test Deploy Ciclo de vida de desarrollo @marcoviaweb #agiles2021
  • 7. Decidir Analizar Diseñar Desarrollar Test Deploy Modelo tradicional de calidad @marcoviaweb #agiles2021
  • 8. IBM System Science Institute Relative Cost of Fixing Defects Costo de los defectos Costo Diseñar Desarrollar Test Pre-Producción Producción @marcoviaweb #agiles2021
  • 9. Incremento exponencial del costo ● Se debe a que el impacto y la cantidad de retrabajo es mayor cuando los defectos se detectan o se corrigen en fases posteriores @marcoviaweb #agiles2021
  • 10. Un defecto que se elimina después de que el producto ha entrado a producción costará alrededor de 100 veces más que uno que se identifica y elimina al inicio
  • 11. Características del modelo tradicional ● Los miembros de Quality Assurance (QA) están menos involucrados en las primeras fases ● Menos tiempo para corregir defectos ● Alta probabilidad de "romper" la funcionalidad debido a correcciones de última hora ● Se trabaja en silos @marcoviaweb #agiles2021
  • 13. Buscar el éxito del software ● ¿Cómo involucrar las actividades de QA en las primeras fases? ● ¿Cómo prevenir defectos? ● ¿Cómo reducir los costos? ● ¿Cómo hacer que el equipo sea más efectivo? @marcoviaweb #agiles2021
  • 14. Quality Assurance lo más antes posible
  • 15. Enfoque Shift Left ● Hacer las cosas más temprano en el ciclo de desarrollo ● Asegurar la calidad del producto durante todo el proceso ● Centrarse en la participación y feedback de las personas @marcoviaweb #agiles2021
  • 16. Shift Left NO se trata de... ● Cambiar de posición, sino hacer en todas las fase ● Enfocarse en la detección de problemas, más bien en la prevención su prevención @marcoviaweb #agiles2021
  • 17. Decidir Analizar Diseñar Desarrollar Test Deploy No es cambiar de posición @marcoviaweb #agiles2021
  • 18. Decidir Analizar Diseñar Desarrollar Test Deploy No es sólo detección Detección Detección Prevención @marcoviaweb #agiles2021
  • 19. https://devopedia.org/shift-left Modelo de calidad de Shift Left @marcoviaweb #agiles2021
  • 20. Shift Left se trata de... ● Considerar QA desde el principio ● Tener un conocimiento completo sobre el producto ● Establecer una cultura de calidad como responsabilidad de todos @marcoviaweb #agiles2021
  • 21. Beneficios de Shift Left ● Delivery rápido ● Detectar defectos temprano ● Reducir costos ● Mejor entendimiento del negocio ● Mejorar el trabajo en equipo @marcoviaweb #agiles2021
  • 22. Decidir Analizar Diseñar Desarrollar Test Deploy Enfoque tradicional Decidir Analizar Diseñar Desarrollar Test Deploy @marcoviaweb #agiles2021
  • 23. Decidir Analizar Diseñar Desarrollar Test Deploy Enfoque ágil @marcoviaweb #agiles2021 Iteración n Iteración n + 1
  • 24. Sprint Sprint Sprint Terminar Terminar Trabajo sin terminar release @marcoviaweb #agiles2021
  • 25. Sprint Sprint Sprint Terminar Terminar Trabajo sin terminar release Mover DoD @marcoviaweb #agiles2021
  • 26. Sprint Sprint Sprint Sprint Sprint release release release release release @marcoviaweb #agiles2021
  • 27. Sprint Sprint Sprint Sprint Sprint release release release release release release release release release release @marcoviaweb #agiles2021
  • 28. ¿Dónde se puede aplicar Shift Left? ● Diseño ● Desarrollo ● Testing ● Seguridad ● Operaciones @marcoviaweb #agiles2021
  • 29. Diseño ● Eliminar requisitos deficiente que hagan que un producto no esté alineado con las necesidades del negocio ● Propiciar una mentalidad de pensamiento de diseño en todo el equipo ● Todos comparten la visión del producto @marcoviaweb #agiles2021
  • 30. Feedback en el diseño @marcoviaweb #agiles2021 ● Scrum: El Product Owner es parte del equipo y colabora en la descripción, evaluación y reajuste de las necesidades del negocio ● Diseño basado en valor: Las mejores ideas surgen de datos empíricos ● BizDevOps: Se derriban los silos entre el negocio y DevOps ● Arquitectura emergente: La arquitectura está de acuerdo a las condiciones reales ● Diseñado para afrontar fallas: Se debe anticipar, no sólo a los cambios, sino también a como se recuperará a las fallas
  • 31. Desarrollar ● Intercambiar conocimientos y experiencias ● Validación de la calidad ● Atención de la deuda técnica @marcoviaweb #agiles2021
  • 32. Validación de la calidad @marcoviaweb #agiles2021 ● Análisis de código: Usar herramientas como SonarQube ● Regla de los Boy Scouts: Deja cualquier código en un mejor estado del que lo encontraste ● Continuous integration: Mob/Pair programming ● Buid automatizado: Build una vez, Deploy mucha veces
  • 33. Testing ● Tienen su origen en las pruebas ● Se alinea con prácticas ágiles como el desarrollo basado en pruebas (TDD) y el desarrollo basado en el comportamiento (BDD) @marcoviaweb #agiles2021
  • 34. Definición de pruebas @marcoviaweb #agiles2021 ● Test Driven Development: BDD para escribir Features e Historias de usuario; TDD para escribir código ● Load Testing: Validar que la aplicación y la infraestructura están sujetas a cargas máximas, cargas continuas, volúmenes de datos ● Test automation: Programar pruebas en varios niveles de funcionalidad para disminuir la posibilidad de errores manuales
  • 35. Seguridad ● Combinado con DevOps, se obtiene DevSecOps ● Deben existir estándares de seguridad ● El personal de seguridad debe usar las mismas herramientas que DevOps y tener la capacidad de corregir el código por su cuenta @marcoviaweb #agiles2021
  • 36. Preocupaciones de seguridad @marcoviaweb #agiles2021 ● DevSecOps: Implica pensar desde el principio en la seguridad de las aplicaciones y de la infraestructura. ● Automatización: También implica automatizar algunas puertas de seguridad para impedir que se ralentice el flujo de trabajo de DevOps
  • 37. Operaciones ● Cuando las aplicaciones están en la nube, CD se ha convertido en una práctica común para ofrecer rápidamente las últimas correcciones y funciones ● El Deploying de software está automatizado ● La implementación continua permite realizar pruebas continuas @marcoviaweb #agiles2021
  • 38. Preocupaciones operativas @marcoviaweb #agiles2021 ● DevOps: Mejora la comunicación, colaboración e integración de Desarrollo y Operaciones ● Monitoreo: Para garantizar el correcto funcionamiento del producto
  • 39. “Shift Left se basa en el concepto de acercar una persona, un proceso o una tecnología al cliente, lo que da como resultado una resolución más rápida, más eficiente y más eficaz”
  • 40. Shift Left en acción
  • 41. Adopción de Shift Left Estrategia operativa Definir e implementar: quality gates, prácticas de calidad y actividades de testing a lo largo del ciclo de desarrollo Madurez en Agile Experiencias en la adopción de agile Test automation La realización de test de manera frecuente requiere adoptar herramientas de automatización Pipeline CI/CD Los defectos pueden detectarse y corregirse inclusive durante la integración del código, mejorando la calidad del producto Test temprano y frecuente Todos se ven involucrados durante todo el ciclo de desarrollo Release y Deploy automatizado La probabilidad de que ocurra un error humano es menor, mejorando la eficiencia y la eficacia del equipo @marcoviaweb #agiles2021
  • 42. Habilitando Shift Left Shift Left Cambio de mentalidad Definir puertas de calidad y prácticas de calidad a lo largo de todo el ciclo Cambio de responsabilidades La calidad es responsabilidad de todos Cambio en el tiempo Realizar pruebas con anticipación Cambio en la organización Más ingenieros de calidad que solo testers @marcoviaweb #agiles2021
  • 43. “Cuanto más antes se encuentre un defecto en el ciclo de vida del software, más barato será repararla”
  • 44. Referencias @marcoviaweb #agiles2021 Shift left thinking applied to the full software delivery cycle by Jasper Bogers https://blog.jdriven.com/2018/10/devops-shift-left-paradigm/ Shift left Testing by Matias Torcivia https://medium.com/globant/shift-left-testing-c838521617b0 Devopedia https://devopedia.org/shift-left#discussion SAFe https://www.scaledagileframework.com/blog/enabling-technical-agility-in- the-lean-enterprise-vlog-series-shift-left-testing/