BDD Überblick

Das Akronym BDD (Behaviour driven development) führt zunächst in die Irre, denn nicht das Verhalten (Behaviour) steht im Vordergrund, sondern die ausdrucksstarke Beschreibung von Anforderungen und deren Akzeptanzkriterien. Akzeptanzkriterien sollten automatisiert überprüft werden können (Ausführbare Spezifikationen).

Nutzen auf den Punkt gebracht

  • Einheitliche Sprache für Anforderungen (wird von allen verstanden).
  • Klare Fokussierung auf Nutzen (Arbeit erfolgt vom Aktzeptanzkriterium ausgehend, Test first!)
  • Erfüllung von Anforderungen wird automatisch getestet (Aktzeptanzkriterien)
  • Fortschritt ist für alle einsehbar

Einheitliche Sprache

BDD hilft dabei die Kommunikation verschiedener Rollen im Softwareentstehungsprozess zu verbessern. Das entstehen einer einheitlichen Sprache zwischen Projektmanager, Auftraggeber, Entwickler und Tester wird gefördert.

Projektmanager erarbeiten Anforderungen mit dem Auftraggeber. Die Entwicklungsabteilung setzt diese Anforderungen in ausführbaren Code um. Mit jedem Entwicklungsfortschritt werden diese Anforderungen automatisch ausgeführt und erzeugen Reports über den Implementierungsstatus.

BDD ergänzt das Konzept der einheitlichen Sprache (Ubiquitous Language, DDD). Es ist erstrebenswert BDD-Framework so zu erweitern, das die „Ubiquitous Language“ ergänzend zu den strukturierten Anforderungen mit erfasst wird.

Fokussierung auf die Anforderung

BDD hilft dabei, dass Entwickler einen starken Fokus auf die Erfüllung von Anforderungen haben. Nicht selten driftet dieser Fokus ab und die Konzentration verfängt sich in technischen Aspekten. Passt man nicht auf, ist man mitten in der Entwicklung des x-ten ORM Frameworks oder baut das n-te Utility Framework.

Kommende  Themen

  • Szenarien Refaktorisieren
  • TDD vs BDD