Skip to content

Latest commit

 

History

History
44 lines (24 loc) · 2.74 KB

Desarrollo guiado por comportamiento (BDD).md

File metadata and controls

44 lines (24 loc) · 2.74 KB

Desarrollo guiado por comportamiento (BDD)

30_05_2022

El desarrollo guiado por comportamiento o BDD (behavior driven development) es una metodología ágil para el desarrollo de software o una forma ágil de trabajar al hacer un software.

Esta metodología permite involucrar a todas las personas que trabajan en un proyecto, pero principalmente mejora la comunicación entre programadores y ayuda a desentrañar lo que el cliente quiere, al igual que definir las necesidades del usuario.

Forma de trabajo

BDD se centra en primero definir el comportamiento de una funcionalidad en un lenguaje común, llamado Ghekin (soporta varios lenguajes como ingles o español), para que luego, una vez ya definida la funcionalidad todos los involucrados la desarrollen, sabiendo y entendiendo como es que tiene que funcionar para el usuario.

Por ejemplo con una funcionalidad que resta y suma números, podríamos definir el comportamiento así:

dado que quiero sumar dos números
cuando ingreso dos números y selecciono sumar
entonces se suman los dos números y veo el resultado de la suma

Comunicación producida por BDD

Gracias a que BDD usa un lenguaje común que cualquier persona puede entender permite la colaboración y comunicación no solo con el cliente sino también con otras partes del equipo. Es por esta comunicación que el cliente puede tener una idea más clara de lo que va y debería tener de una manera realista.

Hablar el mismo idioma que el cliente es fundamentar para poder crear lo que este quiere tener.

Lo mejor de BDD

El punto más fuerte de BDD es tratar a un proyecto desde el punto de vista del cliente, el negocio y los usuarios. No desde un punto de vista técnico, es por esto que mejora la comprensión y concepto de lo que es un proyecto para un equipo.

  • Todo el equipo lo puede usar, comunicarse y saber que hablan de lo mismo.

  • Permite la colaboración entre todos los involucrados en un proyecto.

  • Permite expresar y comprender el propósito de un código, entender para que y porque creamos una porción de código.

  • Gracias a que maneja un lenguaje común todos obtienen una gran comprensión de lo que es el proyecto o una parte de el.

  • Alta visibilidad de la progresión de un proyecto.

  • Bajo costo de uso.

  • Tiene una muy buena integración con cualquier otra metodología, como lo puede ser TDD.

  • El uso de escenarios para el diseño y desarrollo de las funcionalidades de una aplicación también es un punto fuerte, ya que esto permite establecer como tiene que ser y funcionar cada funcionalidad para el usuario/cliente.

  • Repito, el negocio es su foco principal, es por eso que no se basa en detalles técnicos sino en como debería ser un proyecto desde la perspectiva común de los usuarios.