Extreme Programming gewinnt an Fahrt

Raus aus dem Programmier-Alltag

10.12.2001

Problematisch war für alle Befragten, dass bei XP ein Kundenvertreter ständig beim Projektteam anwesend sein soll ("On site Customer"), um Fragen der Entwickler zu beantworten und Unklarheiten zu beseitigen. Die Gründe: Die verschiedenen Kundengruppen hätten unterschiedliche Anforderungen an das System, und die Kunden seien geografisch verteilt oder hätten zu viel mit ihrem Tagesgeschäft zu tun, um sich im notwendigen Maß dem Projektteam widmen zu können. Deshalb gibt es hier oft Abweichungen von der reinen Lehre.

So auch bei Gassmanns Außendienstanwendung: "Wir haben den On Site Customer durch ein Mehr an Dokumentation und einen Proxy (Vermittler) ersetzt, dessen Funktion die Projektleitung übernahm." Dieser Vermittler sammelte die Fragen an die Auftraggeber und reichte sie gebündelt weiter, um die Kunden zu entlasten.

Weniger problematisch ist das Prinzip des Pair Programming - der Arbeit zu zweit vor dem Rechner: "Die Unit Tests sowie Refactoring, also die permanente Restrukturierung des Code, führten zur Qualitätsverbesserung", erklärt Gassmann. Für König ist kontinuierliches Refactoring so in die Arbeit integriert, dass es zum untrennbaren Bestandteil des Programmierens wird: "Wo Refactoring stattfindet, gilt Unit Testing als unabdingbare Voraussetzung", betont er. Dabei werden für jede Klasse, für jede nicht-triviale Methode automatisierte Tests geschrieben.

Laut König und Gassmann folgt daraus in der Summe über die Projektdauer aber kein Mehraufwand. "Im Gegenteil, konsequentes Schreiben von Unit Tests beschleunigt die Arbeit", lautet das einstimmige Urteil. Denn durch das Schreiben der Tests entstehe gleichsam das Design des Codes, und darüber hinaus erlaubten die Tests die ständige Fehlerkontrolle. Ferner ließen sich Unit Tests als exzellente Dokumentation für den eigentlichen Programm-Code verwenden.

Allen Befragten war Dokumentation in XP-Projekten wichtig. Diese müsse allerdings nicht immer auf dem Papier stehen, hieß es. Zur Dokumentation zählten neben den Unit Tests technische Kochbücher und nötigenfalls Architekturdokumente, besonders wenn das Projekt zu einem späteren Zeitpunkt weitergeführt werden müsse, erklärt Credit-Suisse-Mann Wegener.

Ein wichtiger Bestandteil der Dokumentation seien die User Stories. Die darin formulierte Anforderungsspezifikation anhand von praktischen Anwendungsszenarien entsteht in XP-Projekten während des Planning Game.