Echte Kunden, verfügbar, um Fragen zu beantworten und Entscheidungen in Echtzeit zu treffen.
XP forderte ursprünglich einen On-Site Customer – einen echten Nutzer oder dessen Vertreter, physisch beim Team anwesend.
Warum so extrem?
Softwareentwicklung ist ständige Entscheidungsfindung:
Wenn der Kunde nicht verfügbar ist, raten Entwickler. Sie raten falsch. Sie bauen das Falsche. Oder sie warten und blockieren den Fortschritt, bis sie eine Antwort bekommen können.
Verfügbare Kunden:
Die Kosten einer falschen Antwort, die sofort erkannt wird: Minuten. Die Kosten einer falschen Antwort, die nach dem Ausliefern erkannt wird: Tage oder Wochen. Kundenverfügbarkeit zahlt sich aus.
Die XP-Kundenrolle bringt sowohl Rechte als auch Pflichten mit sich.
Kundenrechte:
Kundenpflichten:
Das ist eine Partnerschaft. Der Kunde ist kein entfernter Stakeholder, der Anforderungen über die Mauer wirft. Er ist ein Teammitglied, das täglich Entscheidungen trifft.
In der Praxis ist der „echte Kunde" oft nicht verfügbar. Sie haben Jobs. Sie können nicht den ganzen Tag bei Entwicklern sitzen.
Hier kommt der Product Owner als Stellvertreter ins Spiel – jemand, der den Kunden repräsentiert:
Das Stellvertretermodell funktioniert, wenn:
Das Stellvertretermodell scheitert, wenn:
Der Produktmanager sitzt beim Team und beantwortet den ganzen Tag über Fragen. Er ist im Daily Standup. Er führt alle zwei Wochen Demos für echte Nutzer durch und bringt Feedback zurück zum Team.
Der Produktmanager nimmt an Planungsmeetings teil, ist aber ansonsten nicht verfügbar. Fragen häufen sich in E-Mails. Entscheidungen dauern Tage. Entwickler bauen, was sie für richtig halten, und raten oft falsch.
Akzeptanztests sind die Art, wie Kunden und Entwickler überprüfen, dass sie einander verstehen.
Für jede Story definiert der Kunde Akzeptanzkriterien:
Diese werden zu ausführbaren Tests. Wenn die Tests bestehen, ist die Story fertig. Keine Debatte darüber, ob sie „wirklich fertig" ist.
Vorteile:
Im modernen XP werden Akzeptanztests oft in Zusammenarbeit zwischen Kunde und Entwicklern geschrieben. Der Kunde beschreibt das Verhalten; Entwickler helfen bei der Übersetzung in testbare Form.
Moderne Teams sind oft verteilt. Der „On-Site"-Kunde ist ein Slack-Channel, ein Zoom-Call oder eine asynchrone Nachricht.
Remote zum Funktionieren bringen:
Asynchrone Kundeneinbindung:
Das Prinzip bleibt: Minimiere die Zeit zwischen Frage und Antwort. Remote-Arbeit macht das schwieriger, aber nicht unmöglich.
Wenn Ihr Kunde nicht synchron verfügbar sein kann, bauen Sie asynchrone Checkpoints in Ihren Workflow ein. Beginnen Sie keine Story ohne Akzeptanzkriterien. Beenden Sie keine ohne Kundenabnahme.