Simyl
simylflow
Lektion 2 von 5
11 Min.

Wenn XP an Grenzen stößt

Kontexte, in denen XP-Praktiken vor echten Herausforderungen stehen oder erhebliche Anpassungen erfordern.

1Festpreisverträge mit fixem Umfang und Termin

Viele Softwareprojekte haben Verträge, die Umfang, Termin und Preis festschreiben. XPs iterativer Ansatz steht dazu im Widerspruch.

Die XP-Position: Man kann nicht alle drei Faktoren (Umfang, Termin, Ressourcen) fixieren. Etwas muss flexibel bleiben. XP bevorzugt flexiblen Umfang bei fester Qualität.

Die Vertragsrealität: Kunden wollen genau wissen, was sie wann und für wie viel bekommen. Traditionelle Verträge versprechen das.

Spannungen:

  • XP sagt „wir finden gemeinsam die beste Lösung." Verträge sagen „baue genau das."
  • XP sagt „Änderungen sind willkommen." Verträge sagen „Änderungen kosten extra."
  • XP sagt „liefere früh und iteriere." Verträge sagen „liefere am Ende alles."

Optionen:

  • Bessere Verträge aushandeln: Zeit-und-Material, ergebnisorientiert oder umfangsflexible Vereinbarungen
  • XP intern nutzen: Auch bei Festpreisvertrag können interne Praktiken XP sein
  • Erwartungen managen: Kommunizieren, dass frühe Lieferung von Teilumfang möglich ist

XP in Vertragsumgebungen ist nicht unmöglich, erfordert aber Kundenaufklärung und Vertragsverhandlung.

Die Vertragsfalle

Traditionelle Verträge gehen davon aus, dass man alles im Voraus wissen kann. Das kann man nicht. Jemand trägt das Risiko dieser Unsicherheit – entweder der Kunde (Nachträge) oder der Auftragnehmer (Mehrkosten). XP versucht, es durch Zusammenarbeit zu teilen.

2Verteilte Teams mit schlechter Kommunikation

XP wurde für Teams am gleichen Ort konzipiert. Es kann remote funktionieren, aber nur mit guten Kommunikationswerkzeugen und -kultur.

Herausforderungen:

  • Pair Programming ist schwieriger (Latenz, Zeitzonen)
  • Kundenverfügbarkeit ist schwieriger (kein kurzer Weg zum Fragen)
  • Collective Ownership ist schwieriger (weniger organische Wissensverbreitung)
  • Vertrauen ist schwieriger (weniger persönlicher Kontakt, weniger Beziehung)

Wenn dein verteiltes Team hat:

  • Stark asynchrone Kultur (Tage zwischen Antworten)
  • Zeitzonenunterschiede, die Überschneidungen verhindern
  • Zurückhaltung bei Video oder synchroner Kommunikation
  • Kein etabliertes Vertrauen zwischen Teammitgliedern

...werden XP-Praktiken Schwierigkeiten haben.

Damit es funktioniert, braucht es:

  • Überschneidende Arbeitszeiten (mindestens einige Stunden pro Tag)
  • Starke schriftliche Kommunikationsnormen
  • Bewussten Beziehungsaufbau
  • Werkzeuge, die Echtzeit-Zusammenarbeit ermöglichen

Manche verteilten Teams machen XP sehr gut. Andere schaffen es nicht. Der Unterschied ist meist die Kommunikationskultur, nicht die Geografie.

3Stark regulierte Umgebungen

Branchen wie Gesundheitswesen, Finanzen und Luftfahrt haben regulatorische Anforderungen, die mit XP-Praktiken kollidieren können.

Spannungen:

  • Continuous Deployment vs. Change Control Boards
  • Collective Ownership vs. individuelle Freigabepflichten
  • Einfache Dokumentation vs. Compliance-Nachweise
  • Refactoring vs. Re-Validierungsanforderungen

Jedoch: XP ist in regulierten Umgebungen nicht unmöglich. Viele regulierte Teams nutzen XP erfolgreich.

Anpassungen:

  • Tests werden zu Compliance-Nachweisen (jedes Verhalten ist validiert)
  • Change Control gilt für Releases, nicht für Commits
  • Dokumentation wird aus Code und Tests automatisiert
  • Risikobasierte Validierung (nicht jeder Code erfordert dieselbe Strenge)

Die zentrale Erkenntnis: XPs Qualitätspraktiken übertreffen oft regulatorische Mindestanforderungen. Umfassende Tests, Code-Review (Pairing) und Nachvollziehbarkeit sind Dinge, die Regulatoren wollen.

Was XP ablehnt, ist Verschwendung: Dokumentation um ihrer selbst willen, lange Freigabeprozesse, Formalitäten, die Qualität nicht verbessern.

XP in regulierter Umgebung

Ein Medizinprodukte-Team nutzt TDD (Tests sind Validierungsnachweise), Pair Programming (Vier-Augen-Review) und CI (Nachvollziehbarkeit). Sie deployen seltener, arbeiten aber trotzdem iterativ. Audits verlaufen reibungslos, weil Nachweise eingebaut sind.

Compliance-Theater

Ein Team erstellt umfangreiche Design-Dokumente vor dem Coding (nie aktualisiert), führt manuelles Testen am Ende durch (findet Bugs spät) und vermeidet Änderungen (weil Änderungen Re-Dokumentation erfordern). Qualität ist schlecht; Compliance ist nominell.

4Teams, die technische Praktiken ablehnen

XPs Engineering-Praktiken sind nicht verhandelbar. Wenn das Team sich weigert, sie zu übernehmen, funktioniert XP nicht.

Häufige Widerstände:

  • „TDD ist zu langsam" (Missverständnis über Produktivität)
  • „Wir haben keine Zeit zum Pairen" (Milchmädchenrechnung)
  • „Refactoring ist Goldrandlösung" (Verwechslung mit Wartung)
  • „CI ist Overhead" (Wert wird nicht erkannt)

Wenn Widerstand von Entwicklern kommt:

  • Es kann mangelnde Erfahrung sein (sie wissen nicht wie)
  • Es kann vergangenes Trauma sein (schlechte Umsetzung, die sie gesehen haben)
  • Es kann Identitätsbedrohung sein (Herausforderung ihrer Expertise)
  • Klein anfangen, Wert demonstrieren, Fähigkeiten schrittweise aufbauen

Wenn Widerstand vom Management kommt:

  • „Pairing bedeutet halbe Produktivität" (über Qualitätsvorteile aufklären)
  • „TDD ist verschwendete Zeit" (Bug-Reduktion, schnelleres Debugging zeigen)
  • „Wir können uns die Investition nicht leisten" (langfristige Kosteneinsparungen zeigen)

XP erfordert Commitment. Man kann Praktiken schrittweise einführen, aber wenn Team oder Organisation sich weigern, sich mit technischer Exzellenz zu befassen, wird XP nicht Fuß fassen.

Widerstand kommt oft aus Angst. Angst, als unwissend entlarvt zu werden. Angst vor Verlangsamung. Angst vor Veränderung. Adressiere die Angst, nicht nur den Einwand.

5Domänen, in denen TDD wirklich schwierig ist

Manche Domänen machen TDD deutlich schwieriger:

UI-lastige Anwendungen: Testen von visuellem Erscheinungsbild und Interaktion kann knifflig sein. (Moderne Tools wie React Testing Library haben das aber verbessert.)

Machine-Learning-Modelle: Testen probabilistischer Ergebnisse passt nicht zum assert-equals-Modell.

Hardware-abhängige Systeme: Physisches Geräteverhalten ist schwer zu simulieren.

Hochgradig nebenläufige Systeme: Timing-abhängiges Verhalten ist schwer deterministisch zu testen.

Für diese Domänen:

  • TDD kann auf Teile des Systems (Geschäftslogik) anwendbar sein, aber nicht auf andere (UI, ML-Training)
  • Andere Teststrategien können nötig sein (Property-based Testing, Visual Regression, Hardware-Simulation)
  • Das Prinzip (schnelles Feedback zur Korrektheit) bleibt, auch wenn die Praktik sich anpasst

Nutze diese nicht als Ausreden, um Tests ganz zu überspringen. Jedes System hat testbare Teile. Treibe TDD so weit wie möglich; passe an, wo du musst.

Wichtige Erkenntnisse
  • Festpreisverträge stehen im Konflikt mit XPs iterativem Ansatz – wenn möglich neu verhandeln
  • Verteilte Teams brauchen exzellente Kommunikation, um XP gut zu machen
  • Regulierte Umgebungen können XP mit Anpassungen nutzen – Qualitätspraktiken übertreffen oft Anforderungen
  • Team-Widerstand erfordert Commitment-Aufbau, nicht nur Praktiken-Mandate
  • Manche Domänen brauchen TDD-Anpassung, aber Testprinzipien gelten trotzdem
Häufige Fehler, die es zu vermeiden gilt
  • Die Umgebung beschuldigen, wenn das eigentliche Problem Veränderungswiderstand ist
  • Annehmen, XP sei unmöglich, wenn es nur Anpassung braucht
  • „Wir sind anders" als Ausrede nutzen, um technische Praktiken zu überspringen
  • XP komplett aufgeben statt das zu übernehmen, was passt

Praxisübungen