Eliminando la brecha entre clientes y desarrolladores mediante BDD
-
Upload
jorge-gamba -
Category
Technology
-
view
2.427 -
download
2
description
Transcript of Eliminando la brecha entre clientes y desarrolladores mediante BDD
![Page 1: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/1.jpg)
Jorge GambaConsultor en Arquitectura y Desarrollo de SoftwareWeb: http://jorgegamba.comTwitter: @jorgegambaCorreo: [email protected]
Eliminando la brecha entre clientes y desarrolladores …mediante BDD (Behavior-Driven Development)
para especificar e implementar mejor software
![Page 2: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/2.jpg)
http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/
Eliminando la brecha entre clientes y desarrolladores …mediante BDD (Behavior-Driven Development)
para especificar e implementar mejor software
![Page 3: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/3.jpg)
Eliminando la brecha entre clientes y desarrolladores …mediante BDD (Behavior-Driven Development)
para especificar e implementar mejor software
Agenda : Por qué Qué Cómo
![Page 4: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/4.jpg)
Por qué (BDD)
![Page 5: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/5.jpg)
![Page 6: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/6.jpg)
Los hombres son de MarteLas mujeres son de Venus
![Page 7: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/7.jpg)
Los desarrolladores son de MarteLos clientes son de Venus
![Page 8: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/8.jpg)
¿ Y cuál es el problema ?
![Page 9: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/9.jpg)
¿ Y cuál es el problema ?
No me cumpliste
como yo quería
![Page 10: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/10.jpg)
¿ Y cuál es el problema ?
No me cumpliste
como yo quería
Pero ¿quiénte entiende?
![Page 11: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/11.jpg)
¿ Y cuál es el problema ?
No me cumpliste
como yo quería
Pero ¿quiénte entiende?
Nunca cumplescon los tiempos
esperados
![Page 12: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/12.jpg)
¿ Y cuál es el problema ?
No me cumpliste
como yo quería
Pero ¿quiénte entiende?
Nunca cumplescon los tiempos
esperadosAyer lo queríasde una maneray hoy de otra
![Page 13: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/13.jpg)
djfhdjhfjdhfdhfjdhjfdEl problema es: Comunicación …No se están entendiendo [los requerimientos]
![Page 14: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/14.jpg)
Core / BusinessStakeholders(ejecutivos)
IncidentalStakeholders
(usuarios)
Business Analysts(BAs)
QAs(Testers)
Desarrolladores(Devs)
Cliente
Equipo de Desarrollo
El teléfono roto
![Page 15: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/15.jpg)
Qué (BDD)
![Page 16: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/16.jpg)
Desarrollo Ágil de Software
![Page 17: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/17.jpg)
Agile es acerca de …minimizar el tiempo para obtener feedback
![Page 19: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/19.jpg)
“Behaviour-driven developmentis about implementing an application by describing its behaviourfrom the perspective of itsstakeholders”
http://dannorth.net/
![Page 20: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/20.jpg)
“BDD is a second-generation, outside-in, pullbased, multiple-stakeholder, multiple-scale, high-automation, agile methodology.
“It describes a cycle of interactions with welldefinedoutputs, resulting in the delivery of working, tested softwarethat matters.”
http://dannorth.net/
![Page 21: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/21.jpg)
BDDTDD
ATDD
DDD
![Page 22: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/22.jpg)
Cómo (BDD)
![Page 23: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/23.jpg)
El ciclo
• Outside-In
• Pull-based
• Fractal
• Decomposition
• Deriving scope from goals
http://www.infoq.com/articles/pulling-power
![Page 24: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/24.jpg)
http://www.infoq.com/articles/pulling-power
Divide y vencerás
![Page 25: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/25.jpg)
Business Value
• Factor diferenciador
• Se hace software por
– Hacer dinero
– Ahorrar dinero
– Proteger dinero
• Core Stakeholders
![Page 26: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/26.jpg)
“Aumentar las ventas y controlar la cartera en un estado saludable”
![Page 27: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/27.jpg)
Vision
• Todo proyecto necesita una únicavisión, de un mejor futuro– Por qué es importante
– Qué esperamos lograr
– Cómo se reconocerá el logro
• Debe ser transmitida al equipo
• Es la definición general de “Done”
• Es el mayor punto de referencia
• Core Stakeholders
Bu
sin
ess
Val
ue
![Page 28: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/28.jpg)
MyCRM dará a la organización un control que no se tieneactualmente, al proporcionar información valiosa que serviráde soporte para la toma de decisiones y definición de estrategias para proteger nuestro patrimonio.
Esto mediante proporcionar herramientas de capturaefectiva de información útil, analizándola y reportandoindicadores que permitan evaluar el estado del negocio.
![Page 29: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/29.jpg)
Feature Sets(Epics)
• Lo que necesitamos paraimplementar la visión
• Son Stories muy grandes paramanejar y estimar, deben serdivididas
• Pueden corresponder con los subsistemas de la aplicación
• Se deben mantener en un alto nivel de abstracción
• Incidental Stakeholders
Vis
ión
![Page 30: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/30.jpg)
Para contar con informaciónque podamos evaluarComo un gerente de departamento comercialYo quiero capturarinformación comercial de los
clientes
Para tomar mejoresdecisiones en el tratamientode clientesComo un asesor comercialYo quiero que el sistema me proporcione informaciónsobre cada cliente
Para diseñar mejoresestrategias de cobroComo un gerente de departamento de carteraYo quiero disponer de reportes que me detallen el estado actual de la cartera
![Page 31: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/31.jpg)
Stories
• Es una manera de capturar y describir una feature del sistema, algo que el usuario quiere
• Constituye una unidad de entrega, algo que habrá queimplementar
• Debe ser tan pequeña como sea posible sin perder significadopara el negocio
• Business Analysts (BAs)
Feat
ure
Set
s
![Page 32: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/32.jpg)
Para realizar una venta ágil y sin demorasComo un asesor comercialYo quiero disponerinformación detallada sobrelos artículos en venta
Para no poner en riesgo la cartera de la empresaComo un asesor comercialYo quiero saber si le puedevender a crédito a un clientesegún su endeudamiento
Para concretaroportunamente una ventaComo un asesor comercialYo quiero registrar los datosde una venta potencial o efectiva
![Page 33: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/33.jpg)
Scenarios
• Constituyen o detallan los criterios de aceptación
• Son ejemplos, así de sencillo
• Deben incluir contexto, accióny verficación
• Given / When / Then
• Se pueden automatizar
• Qas / Testers [ + Bas + devs]
Sto
ries
![Page 34: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/34.jpg)
Dado que el cliente no esmorosoCuando solicite comprar a créditoEntonces debería aprobarse
Y mostrarle el nuevo cupo
Dado que el cliente es morosoY no excede su límite de créditoCuando solicite comprar a créditoEntonces debería aprobarseY mostrarle el nuevo cupo
Dado que el cliente es morosoY excede su límite de créditoCuando solicite comprar a créditoEntonces debería negarseY debería informarse la causa
![Page 35: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/35.jpg)
Executable Specifications
• No son scripts, son especificaciones• Son mejores que la documentación
tradicional– Especifican qué hay que hacer– Pruebas de aceptación y regresión– Documentación dinámica
• Son el artefacto más durable en el proyecto
• Son tan confiables como el códigopero más legibles
• Devs (desarrolladores)
Scen
ario
s
![Page 36: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/36.jpg)
Beneficios• Win-Win• Clientes felices• Equipo feliz• Calidad• Menos bugs• Documentación• Pruebas• Etc.
http://www.infoq.com/articles/pulling-power
![Page 37: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/37.jpg)
Referencias
• Dan North - http://dannorth.net/
• Liz Keogh - http://lizkeogh.com/
• Jorge Gamba - http://jorgegamba.com/
• Skills Matter - http://skillsmatter.com/
• InfoQ - http://www.infoq.com/
![Page 38: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/38.jpg)
¿ Preguntas ?
![Page 39: Eliminando la brecha entre clientes y desarrolladores mediante BDD](https://reader033.fdocument.pub/reader033/viewer/2022060123/55978f741a28abbf368b4732/html5/thumbnails/39.jpg)
Jorge GambaConsultor en Arquitectura y Desarrollo de SoftwareWeb: http://jorgegamba.comTwitter: @jorgegambaCorreo: [email protected]
http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/