Aquí es donde creo que Behavior Driven Development muestra ganancias inmediatas, pero no estoy seguro de que el desarrollo impulsado por pruebas lo haga.
En el desarrollo impulsado por el comportamiento, usted aborda sus tickets de una manera diferente: se sienta con la persona de negocios y trabaja con ellos para definir los comportamientos que esta porción de funcionalidad debería tener. Describo esto en una entrada en mi blog (el título de la publicación: Comportamientos de escritura ).
Sentarse con la persona de negocios o con cualquier persona lo ayudará a usted y a ellos a comprender mejor lo que el sistema debe hacer para que todos estén contentos con esa funcionalidad. Lo que debe hacer para poder ser aceptado por el proceso de control de calidad que tiene implementado.
La definición de los criterios de prueba, y luego escribir esos criterios de prueba en su conjunto de pruebas automatizadas, debería reducir la cantidad de ida y vuelta que obtiene: alguien que dice que la funcionalidad está rota, porque se perdió algo (ya sea porque legítimamente se perdió algo o porque nunca se lo dijeron usted al respecto).
También puede ayudar a la percepción de otros sobre su equipo: si se sienta y define lo que se debe hacer en el sistema, podría pasar de "idiotas que diseñan todo y pasan tiempo en cosas que no pedimos", a, "gente inteligente a la que se le ocurren funciones útiles".
TL; DR: El desarrollo impulsado por el comportamiento puede mostrar mejoras rápidamente porque está enfocado en el "cliente". Test Driven Development, para mí, parece tratarse de probar los componentes internos de la base de código que a "nadie" le importa y proporciona beneficios comerciales menos obvios. (Behavior Driven Development tiene el cambio inmediato, en su cara: los ingenieros de repente tienen mucho más tiempo cara a cara con el "cliente" o el analista de negocios para tratar de hacer esto bien, lo que debería verse como algo bueno ". Oh , tienen una reunión sobre la función X, lo que significa que hay progreso en ese frente ")