Tutaj myślę, że rozwój oparty na zachowaniach wykazuje natychmiastowe korzyści, ale nie jestem pewien, czy rozwój oparty na testach.
W rozwoju opartym na zachowaniu podchodzisz do biletów w inny sposób: siadasz z przedsiębiorcą i współpracujesz z nim, aby określić zachowania, które powinna mieć ta część funkcjonalności. Opisuję to we wpisie na moim blogu (tytuł posta: Pisanie zachowań ).
Siadanie z przedsiębiorcą lub kimkolwiek, kto pomoże Tobie i nim lepiej zrozumieć, co system musi zrobić, aby wszyscy byli zadowoleni z tej funkcji. Co należy zrobić, aby zostać zaakceptowanym przez proces kontroli jakości, który masz na miejscu.
Zdefiniowanie kryteriów testowych, a następnie zapisanie tych kryteriów testowych w zautomatyzowanym pakiecie testowym, powinno zmniejszyć ilość otrzymywanych tam iz powrotem: ktoś twierdzi, że funkcjonalność jest zepsuta, ponieważ coś przegapiłeś (albo dlatego, że coś legalnie przegapiłeś, albo dlatego, że nigdy ci nie powiedziało) ty o tym).
Może to również pomóc w postrzeganiu twojego zespołu przez innych: jeśli usiądziesz i określisz, co należy zrobić w systemie, możesz przejść od „idiotów, którzy wszystko nadzorują i spędzają czas na rzeczach, o które nie prosiliśmy”, „inteligentni ludzie, którzy wymyślają przydatne funkcje”.
TL; DR: Rozwój oparty na zachowaniach może szybko wykazywać ulepszenia, ponieważ koncentruje się na „kliencie”. Wydaje mi się, że Test Driven Development dotyczy testowania wewnętrznych części kodu, na których „nikt” nie dba i daje mniej oczywiste korzyści biznesowe. (Rozwój napędzany zachowaniem ma natychmiastową, bezpośrednią zmianę: inżynierowie nagle mają dużo więcej czasu na kontakt z „klientem” lub analitykiem biznesowym, aby spróbować to zrobić dobrze - co należy postrzegać jako dobrą rzecz. ”Och , mają spotkanie na temat Funkcji X, co oznacza postęp na tym froncie! ”)