Organisatorische Voraussetzungen für ATDD

Faktoren, die den Erfolg von ATDD beeinflussen

26.11.2012, Von Stephan Schwab

Acceptance Test Driven Development (ATDD) ist keine Technik oder Vorgehensweise für Programmierer allein. Es ist eine Vorgehensweise für das gesamte Team. Für ein Team dessen Mitglieder aus verschiedenen Funktionsbereichen kommen und die alle gemeinsam an einem Produkt arbeiten.

ATDD fördert Kommunikation und Verständnis

Die große Stärke von ATDD ist die Förderung der Kommunikation zwischen allen an der Erstellung des Produktes Beteiligten. Verbesserte Kommunikation führt zu verbessertem Verständnis des zu lösenden Problems und was die als Lösung entwickelte Software eigentlich tun soll.

Damit das funktionieren kann benötigen wir funktionsübergreifende Zusammenarbeit. Im einfachsten Fall bringt das Programmierer, Tester und Business Analysts zusammen. Das sind dann die drei Amigos, die zusammen definieren was programmiert werden soll und wie die Software sich verhalten soll.

Wer gehört eigentlich noch zum Team dazu?

In einem Entwicklungsteam gibt es mehr als nur die Rollen Programmierer, Tester und Business Analyst. Wie schaut es eigentlich mit demjenigen aus, der ursprünglich den Anstoß für die Entwicklung einer Software gab? Sollte diese Person nicht auch aktiv in die Entwicklung einbezogen werden?

ATDD kann auch da helfen. Da Akzeptanzkriterien als ausführbare Beispiele in natürlicher Sprache (Deutsch, Englisch oder andere) erfaßt werden, kann sie jeder lesen und verstehen. Somit kann man Auftraggeber, Produktmanager, Marketingleute, die Autoren des Benutzerhandbuches oder wer auch sonst noch mit der Entwicklung des Produktes und seinem späteren Einsatz oder Verkauf zu tun hat fortwährend einbeziehen.

Scrum-Ziele

Teams, die Scrum als Rahmenmodell für eine Verbesserung der funktionsübergreifenden Zusammenarbeit nutzen, haben in der Regel diese Ziele:

  • Funktionsfähige Software nach jedem Sprint
  • Immer den Status des Projektes kennen
  • Jederzeit eine gebrauchsfertige Version des Produktes
  • Keine Mißverständnisse

Wollen Sie diesen Artikel mit anderen teilen?

Fit für die Zukunft

Arbeitsgruppen aus Spezialisten bringen un­ter­durch­schnitt­liche Leistung, weil die darin ver­sam­mel­ten Spezialisten nicht wirklich zielgerichtet zu­sammenarbeiten können. Die Grundlage für Erfolg ist immer technisches Können. Die Grundlage für dauerhaften Erfolg ist organisatorisches Können.

Gern unterstütze ich Sie bei der Entwicklung organisatorischer und technischer Fähigkeiten. Beispiele für dazu hilfreiche Maßnahmen sind:

Lernendes Team
Die Fähigkeit schnell zu lernen erlaubt Unter­nehmen jeder Art sich auf schnelle Ver­än­derungen im Markt gut anzupassen und dadurch fortwährend die Erwartungen von Kunden und Mitarbeitern zu erfüllen. Be­geis­ter­te Kunden beweisen den Erfolg!
Lean Startup
Beobachtung, Schluß­fol­ge­rung und Anpassung sind Schlüsseltechnologien. Lernen Sie durch kontrollierte Experimente, sorgsames Messen und Schlußfolgern Erkenntnisse für die weitere Unternehmensentwicklung zu gewinnen.
Agile Vorgehensweisen
Das Ziel agiler Vorgehensweisen war nie­mals das Ziel mehr Software schneller zu entwickeln (Effizienzsteigerung). Statt­des­sen geht es darum zielgerichteter die Ar­beit im Unternehmen zu organisieren - ganz egal, ob es dabei um Software­ent­wick­lung oder andere Tätigkeiten geht.
Defekte durch ATDD vermeiden
Auftraggeber und Entwick­lungsteam de­fi­nie­ren gemeinsam in Form einer aus­führ­baren Spezifikation was die zu entwickelnde Soft­ware tun soll.
Activity-Centered Design
Produkte mit gutem Design sind aus einem tiefen und umfassenden Ver­ständ­nis der Tätigkeiten des Anwenders her­vor­ge­gan­gen. Das macht sie fit für einen an­spruchs­vol­len Markt und besser als der Mitbewerb. In einigen Fällen kann dieser Unterschied zu gewöhnlichen Produkten einen ganzen In­du­strie­zweig auf den Kopf stellen.