Desarrollo Agil con BDD en PHP

El 12 de Junio de 2013 tuve la oportunidad de compartir mi charla acerca del Desarrollo Ágil utilizando BDD con la comunidad de PHP en Bogotá. Es la primera de una serie de charlas que tengo planificadas para este año donde pretendo difunfir el tema del desarrollo guiado por comportamiento con las comunidades de desarrolladores de la ciudad.

Continuar leyendo →

Usando dobles para especificar la comunicación entre objetos

Cuando usamos BDD de especificaciones para diseñar objetos, queremos describir el comportamiento de nuestros objetos como una unidad. Pero ¿qué pasa cuando este objeto debe interactuar con otros para lograr su propósito?. A continuación explicaré cómo hacer uso de dobles de prueba para describir la comunicación entre distintos objetos.

Continuar leyendo →

Diseñando objetos con BDD de especificaciones

Ya hemos visto en los artículos anteriores como utilizar el lenguaje natural del cliente para describir un sistema utilizando BDD de historias, y comunicar el comportamiento esperado a través de un conjunto de escenarios. Hoy comenzaremos a adentrarnos en el segundo nivel de BDD, para especificar el comportamiento del sistema a nivel técnico.

Continuar leyendo →

BDD de historias: un ejemplo concreto en PHP

A continuación, veamos como es la implementación en PHP del ejemplo presentado en BDD de historias: un ejemplo concreto. Las librerías y herramientas Para este ejemplo concreto, realizado en PHP, voy a utilizar las siguientes librerías y herramientas: Silex: Silex es un micro framework basado en los componentes de Symfony2, el cual permite construir rápidamente una aplicación sencilla en PHP. También utilice Twig como mecanismo de plantillas para la vista. Continuar leyendo →

BDD de historias: un ejemplo concreto en Java

A continuación, veamos como es la implementación en Java del ejemplo presentado en BDD de historias: un ejemplo concreto.

Continuar leyendo →

BDD de historias: un ejemplo concreto

Para continuar con la serie de artículos acerca del Desarrollo Guiado por Comportamiento, hoy les traigo un ejemplo de BDD de historias, junto con sus implementaciones en Java y PHP. La historia y sus escenarios Como he comentado en la serie de artículos de BDD, nuestra intención es partir desde los requerimientos del cliente. Así, para este ejemplo, vamos a partir con la siguiente historia de usuario (característica del sistema): Continuar leyendo →

Automatizando la verificación de historias en BDD

En el artículo Describiendo Sistemas con BDD, vimos como escribir los requerimientos de un sistema utilizando el lenguaje natural del cliente, y describiendo los escenarios principales mediante una serie de pasos. En este artículo comentaré acerca de cómo automatizar estos requerimientos, y algunos tips que debemos tener en cuenta.

Continuar leyendo →

Participando en dojos de agilidad

La semana pasada tuve la oportunidad de participar en 3 Dojos de agilidad patrocinados por Kleer, dictados por Carlos Peix @carlospeix, instructor y coach de agilidad. El sitio de encuentro fue HackBo, un espacio comunitario para la realización de eventos relacionados a tecnología y nuevas tendencias en Bogotá. A continuación les comento mis impresiones: ¿Qué son los dojos de agilidad? El término dojo proviene de las artes marciales, y en esencia es un sitio para la práctica y aprendizaje. Continuar leyendo →

Describiendo sistemas con BDD

Luego de mi Introducción a BDD, quisiera comenzar a escribir acerca de BDD de historias, o Story BDD. Se trata de la parte de BDD que cubre las especificaciones de un sistema, expresadas en el lenguaje natural de nuestro cliente mediante características y escenarios.

Continuar leyendo →

Introducción a Desarrollo Guiado por Comportamiento (BDD)

A finales del año 2011 decidí que el 2012 sería el año en el que me enfocaría en aprender todo lo relacionado a las prácticas de pruebas del mundo ágil. Ya para ese entonces escuchaba y leía de BDD (Desarrollo guiado por comportamiento) pero decidí que me enfocaría en TDD “puro y simple” antes de comenzar a explorar otras prácticas “más avanzadas”. Y ahí fue cuando comenzo mi frustración.

Continuar leyendo →