SlideShare a Scribd company logo
1 of 39
Eliminando la brecha entre clientes y desarrolladores …
       mediante BDD (Behavior-Driven Development)
               para especificar e implementar mejor software




Jorge Gamba
Consultor en Arquitectura y Desarrollo de Software
Web: http://jorgegamba.com
Twitter: @jorgegamba
Correo: contacto@jorgegamba.com
Eliminando la brecha entre clientes y desarrolladores …
       mediante BDD (Behavior-Driven Development)
               para especificar e implementar mejor software




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




Agenda :         Por qué             Qué            Cómo
Por qué (BDD)
Las mujeres son de Venus   Los hombres son de Marte
Los clientes son de Venus   Los desarrolladores son de Marte
¿ Y cuál es el problema ?
No me
  cumpliste
como yo quería




                 ¿ Y cuál es el problema ?
No me                                     Pero ¿quién
  cumpliste                                  te entiende?
como yo quería




                 ¿ Y cuál es el problema ?
No me                                      Pero ¿quién
  cumpliste                                   te entiende?
como yo quería




Nunca cumples
con los tiempos
  esperados




                  ¿ Y cuál es el problema ?
No me                                         Pero ¿quién
  cumpliste                                      te entiende?
como yo quería




Nunca cumples
con los tiempos                               Ayer lo querías
  esperados                                   de una manera
                                               y hoy de otra




                  ¿ Y cuál es el problema ?
El problema es: Comunicación …
Nodjfhdjhfjdhfdhfjdhjfd
   se están entendiendo [los requerimientos]
El teléfono roto
      Core / Business                         Incidental
       Stakeholders                          Stakeholders
        (ejecutivos)                          (usuarios)

Cliente
Equipo de Desarrollo
     Business Analysts                      Desarrolladores
           (BAs)                                (Devs)

                                QAs
                              (Testers)
Qué (BDD)
Desarrollo Ágil de Software
Agile es 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/
ATDD



TDD   BDD


                   DDD
Cómo (BDD)
El ciclo
•   Outside-In
•   Pull-based
•   Fractal
•   Decomposition
•   Deriving scope
    from goals
                     http://www.infoq.com/articles/pulling-power
Divide y
vencerás




           http://www.infoq.com/articles/pulling-power
• Factor diferenciador
                 • Se hace software por
                   – Hacer dinero
Business Value     – Ahorrar dinero
                   – Proteger dinero
                 • Core Stakeholders
“Aumentar las ventas y controlar la cartera en
un estado saludable”
• Todo proyecto necesita una única
                            visión, de un mejor futuro
                              – Por qué es importante
                              – Qué esperamos lograr
Business Value




                              – Cómo se reconocerá el logro
                 Vision
                          •   Debe ser transmitida al equipo
                          •   Es la definición general de “Done”
                          •   Es el mayor punto de referencia
                          •   Core Stakeholders
MyCRM dará a la organización un control que no se tiene
actualmente, 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 captura
efectiva de información útil, analizándola y reportando
indicadores que permitan evaluar el estado del negocio.
• Lo que necesitamos para
                          implementar la visión
                        • Son Stories muy grandes para
                          manejar y estimar, deben ser
                          divididas
         Feature Sets
Visión




                        • Pueden corresponder con los
            (Epics)       subsistemas de la aplicación
                        • Se deben mantener en un alto
                          nivel de abstracción
                        • Incidental Stakeholders
Para contar con información    Para tomar mejores             Para diseñar mejores
que podamos evaluar            decisiones en el tratamiento   estrategias de cobro
Como un gerente de             de clientes                    Como un gerente de
departamento comercial         Como un asesor comercial       departamento de cartera
Yo quiero capturar             Yo quiero que el sistema me    Yo quiero disponer de
información comercial de los   proporcione información        reportes que me detallen el
clientes                       sobre cada cliente             estado actual de la cartera
• Es una manera de capturar y
                           describir una feature del sistema,
                           algo que el usuario quiere
                         • Constituye una unidad de
Feature Sets




                           entrega, algo que habrá que
               Stories     implementar
                         • Debe ser tan pequeña como sea
                           posible sin perder significado
                           para el negocio
                         • Business Analysts (BAs)
Para realizar una venta ágil y   Para no poner en riesgo la      Para concretar
sin demoras                      cartera de la empresa           oportunamente una venta
Como un asesor comercial         Como un asesor comercial        Como un asesor comercial
Yo quiero disponer               Yo quiero saber si le puede     Yo quiero registrar los datos
información detallada sobre      vender a crédito a un cliente   de una venta potencial o
los artículos en venta           según su endeudamiento          efectiva
• Constituyen o detallan los
                        criterios de aceptación
                      • Son ejemplos, así de sencillo
                      • Deben incluir contexto, acción
Stories




          Scenarios     y verficación
                      • Given / When / Then
                      • Se pueden automatizar
                      • Qas / Testers [ + Bas + devs]
Dado que el cliente no es    Dado que el cliente es moroso
                                                             Dado que el cliente es moroso
moroso                       Y no excede su límite de
                                                             Y excede su límite de crédito
Cuando solicite comprar a    crédito
                                                             Cuando solicite comprar a
crédito                      Cuando solicite comprar a
                                                             crédito
Entonces debería aprobarse   crédito
                                                             Entonces debería negarse
                             Entonces debería aprobarse
Y mostrarle el nuevo cupo                                    Y debería informarse la causa
                             Y mostrarle el nuevo cupo
• No son scripts, son especificaciones
                             • Son mejores que la documentación
                               tradicional
                                – Especifican qué hay que hacer
                                – Pruebas de aceptación y regresión
Scenarios




             Executable         – Documentación dinámica
            Specifications   • Son el artefacto más durable en el
                               proyecto
                             • Son tan confiables como el código
                               pero más legibles
                             • Devs (desarrolladores)
Beneficios
•   Win-Win
•   Clientes felices
•   Equipo feliz
•   Calidad
•   Menos bugs
•   Documentación
•   Pruebas
•   Etc.
                       http://www.infoq.com/articles/pulling-power
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
Consultor en Arquitectura y Desarrollo de Software
Web: http://jorgegamba.com
Twitter: @jorgegamba
Correo: contacto@jorgegamba.com




http://altnethispano.org/   http://agilescolombia.org/   http://mcscolombia.org/

More Related Content

Viewers also liked

Testing en equipos infectados de test
Testing en equipos infectados de testTesting en equipos infectados de test
Testing en equipos infectados de testJuan Gabardini
 
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD  Ruby on Rails #02: Test Driven DevelopmentCurso TDD  Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #02: Test Driven DevelopmentAlberto Perdomo
 
Objects: The Misunderstood Paradigm
Objects: The Misunderstood ParadigmObjects: The Misunderstood Paradigm
Objects: The Misunderstood ParadigmHernan Wilkinson
 
Arithmetic with measures on dynamically typed object oriented languages
Arithmetic with measures on dynamically typed object oriented languagesArithmetic with measures on dynamically typed object oriented languages
Arithmetic with measures on dynamically typed object oriented languagesHernan Wilkinson
 
Confianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaConfianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaHernan Wilkinson
 
Como hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoComo hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoHernan Wilkinson
 
Growing an open participative horizontal and based on trust company
Growing an open participative horizontal and based on trust companyGrowing an open participative horizontal and based on trust company
Growing an open participative horizontal and based on trust companyHernan Wilkinson
 
A new object oriented model of the gregorian calendar
A new object oriented model of the gregorian calendarA new object oriented model of the gregorian calendar
A new object oriented model of the gregorian calendarHernan Wilkinson
 
Augmenting Smalltalk Syntax
Augmenting Smalltalk SyntaxAugmenting Smalltalk Syntax
Augmenting Smalltalk SyntaxHernan Wilkinson
 
Obejct Oriented SCM - OOSCM
Obejct Oriented SCM - OOSCMObejct Oriented SCM - OOSCM
Obejct Oriented SCM - OOSCMHernan Wilkinson
 
Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Hernan Wilkinson
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDHernan Wilkinson
 
Desarrollando sistemas con metodologías y técnicas agiles
Desarrollando sistemas con metodologías y técnicas agilesDesarrollando sistemas con metodologías y técnicas agiles
Desarrollando sistemas con metodologías y técnicas agilesHernan Wilkinson
 
Los diez mandamientos de TDD
Los diez mandamientos de TDDLos diez mandamientos de TDD
Los diez mandamientos de TDDHernan Wilkinson
 
Programming Languages and their influence in Thinking
Programming Languages and their influence in ThinkingProgramming Languages and their influence in Thinking
Programming Languages and their influence in ThinkingHernan Wilkinson
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutosAdrian Moya
 

Viewers also liked (20)

BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
BDD para la mejora de la calidad software
BDD para la mejora de la calidad softwareBDD para la mejora de la calidad software
BDD para la mejora de la calidad software
 
BDD TDD ATDD
BDD TDD ATDDBDD TDD ATDD
BDD TDD ATDD
 
Testing en equipos infectados de test
Testing en equipos infectados de testTesting en equipos infectados de test
Testing en equipos infectados de test
 
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD  Ruby on Rails #02: Test Driven DevelopmentCurso TDD  Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #02: Test Driven Development
 
Selenium
SeleniumSelenium
Selenium
 
Objects: The Misunderstood Paradigm
Objects: The Misunderstood ParadigmObjects: The Misunderstood Paradigm
Objects: The Misunderstood Paradigm
 
Arithmetic with measures on dynamically typed object oriented languages
Arithmetic with measures on dynamically typed object oriented languagesArithmetic with measures on dynamically typed object oriented languages
Arithmetic with measures on dynamically typed object oriented languages
 
Confianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresaConfianza+Participación+Transparencia= Refactorizando la empresa
Confianza+Participación+Transparencia= Refactorizando la empresa
 
Como hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intentoComo hacer tdd y no morir en el intento
Como hacer tdd y no morir en el intento
 
Growing an open participative horizontal and based on trust company
Growing an open participative horizontal and based on trust companyGrowing an open participative horizontal and based on trust company
Growing an open participative horizontal and based on trust company
 
A new object oriented model of the gregorian calendar
A new object oriented model of the gregorian calendarA new object oriented model of the gregorian calendar
A new object oriented model of the gregorian calendar
 
Augmenting Smalltalk Syntax
Augmenting Smalltalk SyntaxAugmenting Smalltalk Syntax
Augmenting Smalltalk Syntax
 
Obejct Oriented SCM - OOSCM
Obejct Oriented SCM - OOSCMObejct Oriented SCM - OOSCM
Obejct Oriented SCM - OOSCM
 
Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...Técnicas y herramientas para que la computadora haga más y el programador m...
Técnicas y herramientas para que la computadora haga más y el programador m...
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDD
 
Desarrollando sistemas con metodologías y técnicas agiles
Desarrollando sistemas con metodologías y técnicas agilesDesarrollando sistemas con metodologías y técnicas agiles
Desarrollando sistemas con metodologías y técnicas agiles
 
Los diez mandamientos de TDD
Los diez mandamientos de TDDLos diez mandamientos de TDD
Los diez mandamientos de TDD
 
Programming Languages and their influence in Thinking
Programming Languages and their influence in ThinkingProgramming Languages and their influence in Thinking
Programming Languages and their influence in Thinking
 
BDD en 5 minutos
BDD en 5 minutosBDD en 5 minutos
BDD en 5 minutos
 

Similar to Eliminando la brecha entre clientes y desarrolladores mediante BDD

Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetAsier Marqués
 
El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery marcosnils
 
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)Jorge Hernán Abad Londoño
 
Bootcamp: Startup Agile
Bootcamp: Startup AgileBootcamp: Startup Agile
Bootcamp: Startup AgileIncutex
 
Scrum trainer clase 7 y 8
Scrum trainer clase 7 y 8Scrum trainer clase 7 y 8
Scrum trainer clase 7 y 8S
 
2 presentación cloud en la venta-jornada 2
2 presentación cloud en la venta-jornada 22 presentación cloud en la venta-jornada 2
2 presentación cloud en la venta-jornada 2Iñaki Bizero Comunio
 
Workshop Liferay - eCommerce Day Chile Online [Live] Experience
Workshop Liferay - eCommerce Day Chile Online [Live] ExperienceWorkshop Liferay - eCommerce Day Chile Online [Live] Experience
Workshop Liferay - eCommerce Day Chile Online [Live] ExperienceeCommerce Institute
 
Seminario "Propuestas Ganadoras 2.0"
Seminario "Propuestas Ganadoras 2.0"Seminario "Propuestas Ganadoras 2.0"
Seminario "Propuestas Ganadoras 2.0"APM-Shipley
 
BA 2013, Definición de requerimientos
BA 2013, Definición de requerimientosBA 2013, Definición de requerimientos
BA 2013, Definición de requerimientosGoNet
 
Meetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderMeetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderEduardo Riol
 
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumTech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumEduardo Riol
 
Cas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioCas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioEduardo Riol
 
PresentacióN Bacit QlikView
PresentacióN Bacit QlikViewPresentacióN Bacit QlikView
PresentacióN Bacit QlikViewLuis Borrego
 
Contact centers como generadores de ingresos
Contact centers como generadores de ingresosContact centers como generadores de ingresos
Contact centers como generadores de ingresosTELEACCION
 
BI datos-informacion-conocimiento
BI datos-informacion-conocimientoBI datos-informacion-conocimiento
BI datos-informacion-conocimientoSolidQ
 
Oracle aplicaciones Oracle CRM On Demand
Oracle aplicaciones Oracle CRM On DemandOracle aplicaciones Oracle CRM On Demand
Oracle aplicaciones Oracle CRM On DemandAppsMk
 

Similar to Eliminando la brecha entre clientes y desarrolladores mediante BDD (20)

Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en Internet
 
El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery El dilema del product owner delivery vs disovery
El dilema del product owner delivery vs disovery
 
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)
Hablemos de Contratos Ágiles - Agile Contracts (Reloaded)
 
Bootcamp: Startup Agile
Bootcamp: Startup AgileBootcamp: Startup Agile
Bootcamp: Startup Agile
 
Scrum trainer clase 7 y 8
Scrum trainer clase 7 y 8Scrum trainer clase 7 y 8
Scrum trainer clase 7 y 8
 
2 presentación cloud en la venta-jornada 2
2 presentación cloud en la venta-jornada 22 presentación cloud en la venta-jornada 2
2 presentación cloud en la venta-jornada 2
 
Workshop Liferay - eCommerce Day Chile Online [Live] Experience
Workshop Liferay - eCommerce Day Chile Online [Live] ExperienceWorkshop Liferay - eCommerce Day Chile Online [Live] Experience
Workshop Liferay - eCommerce Day Chile Online [Live] Experience
 
Seminario "Propuestas Ganadoras 2.0"
Seminario "Propuestas Ganadoras 2.0"Seminario "Propuestas Ganadoras 2.0"
Seminario "Propuestas Ganadoras 2.0"
 
BA 2013, Definición de requerimientos
BA 2013, Definición de requerimientosBA 2013, Definición de requerimientos
BA 2013, Definición de requerimientos
 
etapas para un proyecto web
etapas para un proyecto webetapas para un proyecto web
etapas para un proyecto web
 
Meetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poderMeetup bdd & tdd: aprovecha_su_poder
Meetup bdd & tdd: aprovecha_su_poder
 
Del pla estratègic a la realitat
Del pla estratègic a la realitatDel pla estratègic a la realitat
Del pla estratègic a la realitat
 
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_seleniumTech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
Tech day#7 – especificaciones_ejecutables_y_BDD_con_cucumber_y_selenium
 
Cas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocioCas 2017 bdd-colaborando_de_verdad_con_negocio
Cas 2017 bdd-colaborando_de_verdad_con_negocio
 
Pres desarrolladores
Pres desarrolladoresPres desarrolladores
Pres desarrolladores
 
PresentacióN Bacit QlikView
PresentacióN Bacit QlikViewPresentacióN Bacit QlikView
PresentacióN Bacit QlikView
 
Contact centers como generadores de ingresos
Contact centers como generadores de ingresosContact centers como generadores de ingresos
Contact centers como generadores de ingresos
 
BI datos-informacion-conocimiento
BI datos-informacion-conocimientoBI datos-informacion-conocimiento
BI datos-informacion-conocimiento
 
Proyectos de BI Factibles Genexus XIX
Proyectos de BI Factibles Genexus XIXProyectos de BI Factibles Genexus XIX
Proyectos de BI Factibles Genexus XIX
 
Oracle aplicaciones Oracle CRM On Demand
Oracle aplicaciones Oracle CRM On DemandOracle aplicaciones Oracle CRM On Demand
Oracle aplicaciones Oracle CRM On Demand
 

Recently uploaded

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Recently uploaded (20)

El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

Eliminando la brecha entre clientes y desarrolladores mediante BDD

  • 1. Eliminando la brecha entre clientes y desarrolladores … mediante BDD (Behavior-Driven Development) para especificar e implementar mejor software Jorge Gamba Consultor en Arquitectura y Desarrollo de Software Web: http://jorgegamba.com Twitter: @jorgegamba Correo: contacto@jorgegamba.com
  • 2. Eliminando la brecha entre clientes y desarrolladores … mediante BDD (Behavior-Driven Development) para especificar e implementar mejor software http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/
  • 3. Eliminando la brecha entre clientes y desarrolladores … mediante BDD (Behavior-Driven Development) para especificar e implementar mejor software Agenda : Por qué Qué Cómo
  • 5.
  • 6. Las mujeres son de Venus Los hombres son de Marte
  • 7. Los clientes son de Venus Los desarrolladores son de Marte
  • 8. ¿ Y cuál es el problema ?
  • 9. No me cumpliste como yo quería ¿ Y cuál es el problema ?
  • 10. No me Pero ¿quién cumpliste te entiende? como yo quería ¿ Y cuál es el problema ?
  • 11. No me Pero ¿quién cumpliste te entiende? como yo quería Nunca cumples con los tiempos esperados ¿ Y cuál es el problema ?
  • 12. No me Pero ¿quién cumpliste te entiende? como yo quería Nunca cumples con los tiempos Ayer lo querías esperados de una manera y hoy de otra ¿ Y cuál es el problema ?
  • 13. El problema es: Comunicación … Nodjfhdjhfjdhfdhfjdhjfd se están entendiendo [los requerimientos]
  • 14. El teléfono roto Core / Business Incidental Stakeholders Stakeholders (ejecutivos) (usuarios) Cliente Equipo de Desarrollo Business Analysts Desarrolladores (BAs) (Devs) QAs (Testers)
  • 17. Agile es 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/
  • 21. ATDD TDD BDD DDD
  • 23. El ciclo • Outside-In • Pull-based • Fractal • Decomposition • Deriving scope from goals http://www.infoq.com/articles/pulling-power
  • 24. Divide y vencerás http://www.infoq.com/articles/pulling-power
  • 25. • Factor diferenciador • Se hace software por – Hacer dinero Business Value – Ahorrar dinero – Proteger dinero • Core Stakeholders
  • 26. “Aumentar las ventas y controlar la cartera en un estado saludable”
  • 27. • Todo proyecto necesita una única visión, de un mejor futuro – Por qué es importante – Qué esperamos lograr Business Value – Cómo se reconocerá el logro Vision • Debe ser transmitida al equipo • Es la definición general de “Done” • Es el mayor punto de referencia • Core Stakeholders
  • 28. MyCRM dará a la organización un control que no se tiene actualmente, 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 captura efectiva de información útil, analizándola y reportando indicadores que permitan evaluar el estado del negocio.
  • 29. • Lo que necesitamos para implementar la visión • Son Stories muy grandes para manejar y estimar, deben ser divididas Feature Sets Visión • Pueden corresponder con los (Epics) subsistemas de la aplicación • Se deben mantener en un alto nivel de abstracción • Incidental Stakeholders
  • 30. Para contar con información Para tomar mejores Para diseñar mejores que podamos evaluar decisiones en el tratamiento estrategias de cobro Como un gerente de de clientes Como un gerente de departamento comercial Como un asesor comercial departamento de cartera Yo quiero capturar Yo quiero que el sistema me Yo quiero disponer de información comercial de los proporcione información reportes que me detallen el clientes sobre cada cliente estado actual de la cartera
  • 31. • Es una manera de capturar y describir una feature del sistema, algo que el usuario quiere • Constituye una unidad de Feature Sets entrega, algo que habrá que Stories implementar • Debe ser tan pequeña como sea posible sin perder significado para el negocio • Business Analysts (BAs)
  • 32. Para realizar una venta ágil y Para no poner en riesgo la Para concretar sin demoras cartera de la empresa oportunamente una venta Como un asesor comercial Como un asesor comercial Como un asesor comercial Yo quiero disponer Yo quiero saber si le puede Yo quiero registrar los datos información detallada sobre vender a crédito a un cliente de una venta potencial o los artículos en venta según su endeudamiento efectiva
  • 33. • Constituyen o detallan los criterios de aceptación • Son ejemplos, así de sencillo • Deben incluir contexto, acción Stories Scenarios y verficación • Given / When / Then • Se pueden automatizar • Qas / Testers [ + Bas + devs]
  • 34. Dado que el cliente no es Dado que el cliente es moroso Dado que el cliente es moroso moroso Y no excede su límite de Y excede su límite de crédito Cuando solicite comprar a crédito Cuando solicite comprar a crédito Cuando solicite comprar a crédito Entonces debería aprobarse crédito Entonces debería negarse Entonces debería aprobarse Y mostrarle el nuevo cupo Y debería informarse la causa Y mostrarle el nuevo cupo
  • 35. • No son scripts, son especificaciones • Son mejores que la documentación tradicional – Especifican qué hay que hacer – Pruebas de aceptación y regresión Scenarios Executable – Documentación dinámica Specifications • Son el artefacto más durable en el proyecto • Son tan confiables como el código pero más legibles • Devs (desarrolladores)
  • 36. Beneficios • Win-Win • Clientes felices • Equipo feliz • Calidad • Menos bugs • Documentación • Pruebas • Etc. http://www.infoq.com/articles/pulling-power
  • 37. 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/
  • 39. Jorge Gamba Consultor en Arquitectura y Desarrollo de Software Web: http://jorgegamba.com Twitter: @jorgegamba Correo: contacto@jorgegamba.com http://altnethispano.org/ http://agilescolombia.org/ http://mcscolombia.org/