Jorge Gamba
Desarrollador de Software
Web: http://jorgegamba.com
Twitter: @jorgegamba
Correo: contacto@jorgegamba.com
BDD (Behavior-Driven Development)
Descubriendo realmente qué requiere tu cliente
http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/
BDD (Behavior-Driven Development)
Descubriendo realmente qué requiere tu cliente
BDD (Behavior-Driven Development)
Descubriendo realmente qué requiere tu cliente
Agenda : Por qué Qué Cómo
Por qué (BDD)
BDD: Descubriendo qué requiere realmente tu cliente
Los hombres son de MarteLas mujeres son de Venus
Los desarrolladores son de MarteLos clientes son de Venus
¿ Y cuál es el problema ?
¿ Y cuál es el problema ?
No me
cumpliste
como yo quería
¿ Y cuál es el problema ?
No me
cumpliste
como yo quería
Pero ¿quién
te entiende?
¿ Y cuál es el problema ?
No me
cumpliste
como yo quería
Pero ¿quién
te entiende?
Nunca cumples
con los tiempos
esperados
¿ Y cuál es el problema ?
No me
cumpliste
como yo quería
Pero ¿quién
te entiende?
Nunca cumples
con los tiempos
esperados
Ayer lo querías
de una manera
y hoy de otra
djfhdjhfjdhfdhfjdhjfd
El problema es: Comunicación …
No se están entendiendo [los requerimientos]
Core / Business
Stakeholders
(ejecutivos)
Incidental
Stakeholders
(usuarios)
Business Analysts
(BAs)
QAs
(Testers)
Desarrolladores
(Devs)
Cliente
Equipo de Desarrollo
El teléfono roto
Qué (BDD)
Desarrollo Ágil de Software
Agilees acerca de …
minimizar el tiempo para obtener feedback
http://agilemanifesto.org/iso/es/
“Behaviour-driven development
is about implementing an application
by describing its behaviour
from the perspective of its
stakeholders”
http://dannorth.net/
“BDD is a second-generation,
outside-in, pullbased, multiple-
stakeholder, multiple-scale, high-
automation, agile methodology.
“It describes a cycle of
interactions with welldefined
outputs, resulting in the delivery
of working, tested software
that matters.”
http://dannorth.net/
BDDTDD
ATDD
DDD
Cómo (BDD)
El ciclo
• Outside-In
• Pull-based
• Fractal
• Decomposition
• Deriving scope
from goals
http://www.infoq.com/articles/pulling-power
http://www.infoq.com/articles/pulling-power
Divide y
vencerás
Business Value
• Factor diferenciador
• Se hace software por
– Hacer dinero
– Ahorrar dinero
– Proteger dinero
• Core Stakeholders
“Obtener ganancias producto de la
financiación en la modalidad de microcrédito”
Vision
• Todo proyecto necesita una única
visió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
BusinessValue
Personas y comunidades con proyectos productivos no pueden
realizarlos debido a la falta de apoyo financiero, son un mercado
desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy
sencillo, el otorgamiento de créditos, con facilidades de pago, a
personas de escasos recursos, concediéndoles beneficios de
acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final
de este procedimiento ya es claro si se otorga el crédito y sus
condiciones.
Personas y comunidades con proyectos productivos no pueden
realizarlos debido a la falta de apoyo financiero, son un mercado
desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy
sencillo, el otorgamiento de créditos, con facilidades de pago, a
personas de escasos recursos, concediéndoles beneficios de
acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de
este procedimiento ya es claro si se otorga el crédito y sus
condiciones.
PorquéQuéCómo
Personas y comunidades con proyectos productivos no pueden
realizarlos debido a la falta de apoyo financiero, son un mercado
desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy
sencillo, el otorgamiento de créditos, con facilidades de pago, a
personas de escasos recursos, concediéndoles beneficios de
acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de
este procedimiento ya es claro si se otorga el crédito y sus
condiciones.
PorquéQuéCómo
Cliente
Personas y comunidades con proyectos productivos no pueden
realizarlos debido a la falta de apoyo financiero, son un mercado
desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy
sencillo, el otorgamiento de créditos, con facilidades de pago, a
personas de escasos recursos, concediéndoles beneficios de
acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de
este procedimiento ya es claro si se otorga el crédito y sus
condiciones.
PorquéQuéCómo
Cliente
Desarro
llador
Personas y comunidades con proyectos productivos no pueden
realizarlos debido a la falta de apoyo financiero, son un mercado
desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy
sencillo, el otorgamiento de créditos, con facilidades de pago, a
personas de escasos recursos, concediéndoles beneficios de
acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de
este procedimiento ya es claro si se otorga el crédito y sus
condiciones.
PorquéQuéCómo
ClienteAmbos
Desarro
llador
Feature Sets
(Epics)
• Lo que necesitamos para
implementar la visión
• Son Stories muy grandes para
manejar y estimar, deben ser
divididas
• Pueden corresponder con los
subsistemas de la aplicación
• Se deben mantener en un alto
nivel de abstracción
• Incidental Stakeholders
Visión
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero capturar solo los
datos relevantes usando una
interfaz de usuario muy simple
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero capturar solo los
datos relevantes usando una
interfaz de usuario muy simple
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos
y facilidades de pago según la
condición socioeconómica
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero capturar solo los
datos relevantes usando una
interfaz de usuario muy simple
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos
y facilidades de pago según la
condición socioeconómica
Para reducir el riesgo de
pérdida de cartera
Como un director financiero
Yo quiero apoyo para decidir
el otorgamiento y condiciones
de crédito
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado
por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero capturar solo los
datos relevantes usando una
interfaz de usuario muy simple
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos
y facilidades de pago según la
condición socioeconómica
Para reducir el riesgo de
pérdida de cartera
Como un director financiero
Yo quiero apoyo para decidir
el otorgamiento y condiciones
de crédito
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
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á que
implementar
• Debe ser tan pequeña como sea
posible sin perder significado
para el negocio
• Business Analysts (BAs)
FeatureSets
Para que el proceso sea sencillo y
rápido
Como un analista de créditos
Yo quiero capturar solo los datos
relevantes usando una interfaz de
usuario muy simple
Para apoyar el desarrollo económico de
comunidades de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos y
facilidades de pago según la
condición socioeconómica
Para reducir el riesgo de pérdida
de cartera
Como un director financiero
Yo quiero apoyo para decidir el
otorgamiento y condiciones de
crédito
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero limitar la
información solicitada al
cliente financiera y social
Para que el proceso sea
sencillo y rápido
Como un analista de créditos
Yo quiero usar un solo
formulario que no requiera
navegar a diferentes ventanas
Para que el proceso sea sencillo y
rápido
Como un analista de créditos
Yo quiero capturar solo los datos
relevantes usando una interfaz de
usuario muy simple
Para apoyar el desarrollo económico de
comunidades de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos y
facilidades de pago según la
condición socioeconómica
Para reducir el riesgo de pérdida
de cartera
Como un director financiero
Yo quiero apoyo para decidir el
otorgamiento y condiciones de
crédito
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero conceder una tasa
de interés más baja a
personas desfavorecidas
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero permitir que los
clientes tengan al inicio un
período de gracia razonable
Para apoyar el desarrollo
económico de comunidades
de escasos recursos
Como un directivo del banco
Yo quiero que las personas
puedan elegir el número y
valor de cuotas
Para que el proceso sea sencillo y
rápido
Como un analista de créditos
Yo quiero capturar solo los datos
relevantes usando una interfaz de
usuario muy simple
Para apoyar el desarrollo económico de
comunidades de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos y
facilidades de pago según la
condición socioeconómica
Para reducir el riesgo de pérdida
de cartera
Como un director financiero
Yo quiero apoyo para decidir el
otorgamiento y condiciones de
crédito
Personas y comunidades con proyectos productivos no pueden realizarlos
debido a la falta de apoyo financiero, son un mercado desaprovechado por
las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el
otorgamiento de créditos, con facilidades de pago, a personas de escasos
recursos, concediéndoles beneficios de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este
procedimiento ya es claro si se otorga el crédito y sus condiciones.
Para reducir el riesgo de
pérdida de cartera
Como un director financiero
Yo quiero obtener un cálculo
de la capacidad de pago del
cliente
Para reducir el riesgo de
pérdida de cartera
Como un director financiero
Yo quiero poder consultar
centrales de riesgo que me
den información acerca del
cliente
Para reducir el riesgo de
pérdida de cartera
Como un director financiero
Yo quiero recibir indicaciones
sobre las condiciones que
debe cumplir el cliente
Scenarios
• Constituyen o detallan los
criterios de aceptación
• Son ejemplos, así de sencillo
• Deben incluir contexto, acción
y verficación
• Given / When / Then
• Se pueden automatizar
• Qas / Testers [ + Bas + devs]
Stories
Para que el proceso sea sencillo y rápido
Como un analistade créditos
Yo quiero capturar solo los datos
relevantes usando una interfaz de
usuario muy simple
Para apoyar el desarrollo económico de
comunidades de escasos recursos
Como un directivo del banco
Yo quiero otorgar descuentos y
facilidades de pago según la condición
socioeconómica
Para reducir el riesgo de pérdida de
cartera
Como un director financiero
Yo quiero apoyo para decidir el
otorgamiento y condiciones de crédito
Personas ycomunidades con proyectos productivos no pueden realizarlos debido a la falta de
apoyo financiero, son un mercado desaprovechado por las entidades financieras.
La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de
créditos, con facilidades de pago, a personas de escasos recursos,concediéndoles beneficios
de acuerdo a su condición social.
La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es
claro si se otorga el crédito y sus condiciones.
Para apoyar el desarrollo económico
de comunidades de escasos recursos
Como un directivo del banco
Yo quiero conceder una tasa de
interés más baja a personas
desfavorecidas
Para apoyar el desarrollo económico
de comunidades de escasos recursos
Como un directivo del banco
Yo quiero permitir que los clientes
tengan al inicio un período de gracia
razonable
Para apoyar el desarrollo económico
de comunidades de escasos recursos
Como un directivo del banco
Yo quiero que las personas puedan
elegir el número y valor de cuotas
Dado que el cliente es
desplazado por la violencia
Cuando se calcule su interés
Entonces deberían
descontársele 5 puntos
Y el total no debería exceder
10
Dado que el cliente es madre
cabeza de hogar
Cuando se calcule su interés
Entonces deberían
descontársele 4 puntos
Y el total no debería exceder
10
Dado que el cliente no es
desplazado ni madre cabeza
de hogar
Cuando se calcule su interés
Entonces no deberían
realizarse descuentos a su tasa
de interés
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ódigo
pero más legibles
• Devs (desarrolladores)
Scenarios
Beneficios
• Win-Win
• Clientes felices
• Equipo feliz
• Calidad
• Menos bugs
• Documentación
• Pruebas
• Etc.
http://www.infoq.com/articles/pulling-power
Demo
Feature Set Feature Set Feature Set
Visión
Story Story Story
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
Scenario Scenario Scenario
Feature Set Feature Set Feature Set
Visión
Story Story Story
Scenario Scenario Scenario
Scenario Scenario Scenario
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/
¿ Preguntas ?
Jorge Gamba
Desarrollador de Software
Web: http://jorgegamba.com
Twitter: @jorgegamba
Correo: contacto@jorgegamba.com
http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/

Más contenido relacionado

PDF
Conferencia Rails: Integracion Continua Y Rails
ODP
Introducción a LDAP
ODP
Introducción a Ganglia
PDF
Test Driven Development
PDF
Alta disponibilidad con MySQL
PDF
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
PPTX
OAUTH introducción y entretenida explicación.
PDF
Escalabilidad y alto rendimiento con Symfony2
Conferencia Rails: Integracion Continua Y Rails
Introducción a LDAP
Introducción a Ganglia
Test Driven Development
Alta disponibilidad con MySQL
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
OAUTH introducción y entretenida explicación.
Escalabilidad y alto rendimiento con Symfony2

Destacado (10)

PDF
TDD with phpspec2
PDF
Continous Delivering a PHP application
PPTX
Maven Overview
PPTX
Automatizacion de proyectos con gradle
PDF
Integrando sonar
PPTX
Introducción a DDD
PDF
PhpSpec 2.0 ilustrated by examples
PPTX
Building and Deploying Application to Apache Mesos
PPTX
A new model for Docker image distribution
TDD with phpspec2
Continous Delivering a PHP application
Maven Overview
Automatizacion de proyectos con gradle
Integrando sonar
Introducción a DDD
PhpSpec 2.0 ilustrated by examples
Building and Deploying Application to Apache Mesos
A new model for Docker image distribution
Publicidad

Similar a BDD: Descubriendo qué requiere realmente tu cliente (20)

PPTX
Microcredito
PDF
¿Cómo obtener microcréditos en Colombia_ en 2019 _ Educar.pdf
DOC
1ad8dd42e8cae056b49357c845139530
PPT
lineas de credit0
DOCX
Gota a gota tsj
DOCX
Anteproyecto
PDF
Plan de financiación: ayudas y subvenciones
PDF
PROTECTA proyecto de seguros en PERÚ.pdf
PPT
WEBINAR: Manejo del crédito emprendedores
PPT
Microcredito
DOC
FONDECON Fondo de Empleados de Comfandi
PDF
Gestion conocimiento
PPTX
Great solution calculadora de prestamo y certificados financieros (1)
PDF
Seminario "Administración de créditos y cobranzas" - Parte 01
DOCX
ANTEPROYECTO --.docx
PDF
El lado humano del producto (El costo de no escuchar a los usaurios)
PPTX
Característica de una entidad financiera
PDF
Memorias Sesión 3. Accede al Crédito con Confianza.pdf
PPT
Mapa de Experiencia del Cliente
PPT
Grupo 7
Microcredito
¿Cómo obtener microcréditos en Colombia_ en 2019 _ Educar.pdf
1ad8dd42e8cae056b49357c845139530
lineas de credit0
Gota a gota tsj
Anteproyecto
Plan de financiación: ayudas y subvenciones
PROTECTA proyecto de seguros en PERÚ.pdf
WEBINAR: Manejo del crédito emprendedores
Microcredito
FONDECON Fondo de Empleados de Comfandi
Gestion conocimiento
Great solution calculadora de prestamo y certificados financieros (1)
Seminario "Administración de créditos y cobranzas" - Parte 01
ANTEPROYECTO --.docx
El lado humano del producto (El costo de no escuchar a los usaurios)
Característica de una entidad financiera
Memorias Sesión 3. Accede al Crédito con Confianza.pdf
Mapa de Experiencia del Cliente
Grupo 7
Publicidad

Último (20)

PPTX
Navegación en neurocirugías y su implicación ética.pptx
DOCX
Guía 5. Test de orientación Vocacional 2[1] (Recuperado automáticamente).docx
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Usuarios en la arquitectura de la información
PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PPTX
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
PDF
Distribucion de frecuencia exel (1).pdf
PDF
Trabajo de recuperación _20250821_191354_0000.pdf
DOCX
orientacion nicol juliana portela jimenez
PPTX
libro proyecto con scratch jr pdf en la e
PPTX
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
PPTX
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
PDF
Taller tecnológico Michelle lobo Velasquez
PDF
Presentación_u.01_digitalización_CFGS.pdf
PPTX
TECNOLOGIA EDUCATIVA...........pptx.....
DOCX
tablas tecnologia maryuri vega 1....docx
DOCX
Guía 5. Test de orientación Vocacional 2 NICOL.docx
DOCX
Nombre del estudiante Gabriela Benavides
PPTX
Todas las señales relativas a la seguridad en el trabajo están normalizadas, ...
PPTX
Control de calidad en productos de frutas
Navegación en neurocirugías y su implicación ética.pptx
Guía 5. Test de orientación Vocacional 2[1] (Recuperado automáticamente).docx
Teoría de estadística descriptiva y aplicaciones .pdf
Usuarios en la arquitectura de la información
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
Distribucion de frecuencia exel (1).pdf
Trabajo de recuperación _20250821_191354_0000.pdf
orientacion nicol juliana portela jimenez
libro proyecto con scratch jr pdf en la e
Procesamiento-del-Lenguaje-Natural-Un-Viaje-Paso-a-Paso.pptx
CLASE PRACTICA-- SESION 6 -- FPW -- 04 11 23.pptx
Taller tecnológico Michelle lobo Velasquez
Presentación_u.01_digitalización_CFGS.pdf
TECNOLOGIA EDUCATIVA...........pptx.....
tablas tecnologia maryuri vega 1....docx
Guía 5. Test de orientación Vocacional 2 NICOL.docx
Nombre del estudiante Gabriela Benavides
Todas las señales relativas a la seguridad en el trabajo están normalizadas, ...
Control de calidad en productos de frutas

BDD: Descubriendo qué requiere realmente tu cliente

  • 1. Jorge Gamba Desarrollador de Software Web: http://jorgegamba.com Twitter: @jorgegamba Correo: contacto@jorgegamba.com BDD (Behavior-Driven Development) Descubriendo realmente qué requiere tu cliente
  • 3. BDD (Behavior-Driven Development) Descubriendo realmente qué requiere tu cliente Agenda : Por qué Qué Cómo
  • 6. Los hombres son de MarteLas mujeres son de Venus
  • 7. Los desarrolladores son de MarteLos clientes son de Venus
  • 8. ¿ Y cuál es el problema ?
  • 9. ¿ Y cuál es el problema ? No me cumpliste como yo quería
  • 10. ¿ Y cuál es el problema ? No me cumpliste como yo quería Pero ¿quién te entiende?
  • 11. ¿ Y cuál es el problema ? No me cumpliste como yo quería Pero ¿quién te entiende? Nunca cumples con los tiempos esperados
  • 12. ¿ Y cuál es el problema ? No me cumpliste como yo quería Pero ¿quién te entiende? Nunca cumples con los tiempos esperados Ayer lo querías de una manera y hoy de otra
  • 13. djfhdjhfjdhfdhfjdhjfd El problema es: Comunicación … No se están entendiendo [los requerimientos]
  • 14. Core / Business Stakeholders (ejecutivos) Incidental Stakeholders (usuarios) Business Analysts (BAs) QAs (Testers) Desarrolladores (Devs) Cliente Equipo de Desarrollo El teléfono roto
  • 17. Agilees acerca de … minimizar el tiempo para obtener feedback
  • 19. “Behaviour-driven development is about implementing an application by describing its behaviour from the perspective of its stakeholders” http://dannorth.net/
  • 20. “BDD is a second-generation, outside-in, pullbased, multiple- stakeholder, multiple-scale, high- automation, agile methodology. “It describes a cycle of interactions with welldefined outputs, resulting in the delivery of working, tested software that matters.” http://dannorth.net/
  • 23. El ciclo • Outside-In • Pull-based • Fractal • Decomposition • Deriving scope from goals http://www.infoq.com/articles/pulling-power
  • 25. Business Value • Factor diferenciador • Se hace software por – Hacer dinero – Ahorrar dinero – Proteger dinero • Core Stakeholders
  • 26. “Obtener ganancias producto de la financiación en la modalidad de microcrédito”
  • 27. Vision • Todo proyecto necesita una única visió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 BusinessValue
  • 28. Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones.
  • 29. Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. PorquéQuéCómo
  • 30. Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. PorquéQuéCómo Cliente
  • 31. Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. PorquéQuéCómo Cliente Desarro llador
  • 32. Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. PorquéQuéCómo ClienteAmbos Desarro llador
  • 33. Feature Sets (Epics) • Lo que necesitamos para implementar la visión • Son Stories muy grandes para manejar y estimar, deben ser divididas • Pueden corresponder con los subsistemas de la aplicación • Se deben mantener en un alto nivel de abstracción • Incidental Stakeholders Visión
  • 34. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones.
  • 35. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones.
  • 36. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones.
  • 37. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones.
  • 38. 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á que implementar • Debe ser tan pequeña como sea posible sin perder significado para el negocio • Business Analysts (BAs) FeatureSets
  • 39. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero limitar la información solicitada al cliente financiera y social Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero usar un solo formulario que no requiera navegar a diferentes ventanas
  • 40. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero conceder una tasa de interés más baja a personas desfavorecidas Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero permitir que los clientes tengan al inicio un período de gracia razonable Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero que las personas puedan elegir el número y valor de cuotas
  • 41. Para que el proceso sea sencillo y rápido Como un analista de créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas y comunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos, concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero obtener un cálculo de la capacidad de pago del cliente Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero poder consultar centrales de riesgo que me den información acerca del cliente Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero recibir indicaciones sobre las condiciones que debe cumplir el cliente
  • 42. Scenarios • Constituyen o detallan los criterios de aceptación • Son ejemplos, así de sencillo • Deben incluir contexto, acción y verficación • Given / When / Then • Se pueden automatizar • Qas / Testers [ + Bas + devs] Stories
  • 43. Para que el proceso sea sencillo y rápido Como un analistade créditos Yo quiero capturar solo los datos relevantes usando una interfaz de usuario muy simple Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero otorgar descuentos y facilidades de pago según la condición socioeconómica Para reducir el riesgo de pérdida de cartera Como un director financiero Yo quiero apoyo para decidir el otorgamiento y condiciones de crédito Personas ycomunidades con proyectos productivos no pueden realizarlos debido a la falta de apoyo financiero, son un mercado desaprovechado por las entidades financieras. La aplicación “Te prestamos” evalúa, mediante un proceso muy sencillo, el otorgamiento de créditos, con facilidades de pago, a personas de escasos recursos,concediéndoles beneficios de acuerdo a su condición social. La atención de cada caso se resuelve en pocos minutos y al final de este procedimiento ya es claro si se otorga el crédito y sus condiciones. Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero conceder una tasa de interés más baja a personas desfavorecidas Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero permitir que los clientes tengan al inicio un período de gracia razonable Para apoyar el desarrollo económico de comunidades de escasos recursos Como un directivo del banco Yo quiero que las personas puedan elegir el número y valor de cuotas Dado que el cliente es desplazado por la violencia Cuando se calcule su interés Entonces deberían descontársele 5 puntos Y el total no debería exceder 10 Dado que el cliente es madre cabeza de hogar Cuando se calcule su interés Entonces deberían descontársele 4 puntos Y el total no debería exceder 10 Dado que el cliente no es desplazado ni madre cabeza de hogar Cuando se calcule su interés Entonces no deberían realizarse descuentos a su tasa de interés
  • 44. 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ódigo pero más legibles • Devs (desarrolladores) Scenarios
  • 45. Beneficios • Win-Win • Clientes felices • Equipo feliz • Calidad • Menos bugs • Documentación • Pruebas • Etc. http://www.infoq.com/articles/pulling-power
  • 46. Demo
  • 47. Feature Set Feature Set Feature Set Visión Story Story Story
  • 48. Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario
  • 49. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story
  • 50. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story
  • 51. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story
  • 52. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story
  • 53. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario
  • 54. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario Scenario Scenario Scenario
  • 55. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario Scenario Scenario Scenario
  • 56. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario Scenario Scenario Scenario
  • 57. Scenario Scenario Scenario Feature Set Feature Set Feature Set Visión Story Story Story Scenario Scenario Scenario Scenario Scenario Scenario
  • 58. 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/
  • 60. Jorge Gamba Desarrollador de Software Web: http://jorgegamba.com Twitter: @jorgegamba Correo: contacto@jorgegamba.com http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/