Kürzlich lernte ich, dass Software-Teaming, Ensemble-Programmierung und Mob-Programmierung mehr oder weniger dasselbe sind. Ich erfuhr, warum Woody Zuill sich entschieden hat, den Begriff Mob Programming mit Software Teaming zu ersetzen. Einer der Gründe war, dass „Mob” eine negative Konnotation von „Aggressivität” und „Bullying” hat. Das brachte mich dazu, mein Problem mit dem Wort „Sprint” in der Scrum-Terminologie zu überdenken.
Mein Problem mit „Sprint”
Ein Sprint ist etwas, in das ich meine ganze Energie stecke. Für kurze Zeit, danach brauche ich eine Pause. Ich kann auch nicht sehr oft hintereinander sprinten. Darüber hinaus ist sprinten etwas, das ich alleine mache. Bei einem Sprint macht es auch nicht allzu viel aus, wenn ich es nicht rechtzeitig schaffe, anzukommen. Ich werde dann eben einfach nicht als Erster über die Ziellinie laufen. Aber es gibt keine wirklichen Konsequenzen.
Aber vielleicht gab es ja einen guten Grund, den Begriff „Sprint” zu wählen?
Warum heißt ein Sprint „Sprint”?
Ich bin nicht der Erste, der diese Frage stellt. Jeff Sutherland hat den Begriff in seinem Buch „Scrum. Die Kunst, doppelt so viel Arbeit in der halben Zeit zu schaffen“ beschrieben:
“And so my team embarked on what we called “Sprints”. We called them that because the name evoked a quality of intensity. We were going to work all out for a short period of time and then stop to see where we were.”
(Und so begann mein Team mit dem, was wir „Sprints” nannten. Wir nannten es so, weil der Name eine gewisse Qualität der Intensität suggeriert. Wir geben für eine kurze Zeitspanne Vollgas und hören dann auf, um zu sehen, wo wir stehen.)
Es gibt also anscheinend keine tiefere Bedeutung von „Sprint”, außer „Intensität“. Diese kann aber wahrscheinlich über einen längeren Zeitraum nicht lange aufrechterhalten werden.
Das ist für mich kein guter Grund, eine Iteration einen Sprint zu nennen. Aber was wäre ein besserer Begriff?
Hike / Die Wanderung
Mich erinnert eine Iteration viel mehr an einen Abschnitt einer langen Wanderung als an einen Sprint. In Anlehnung an den englischen Ursprung von „Sprint”, hab ich mich für „Hike” entschieden. Aber, warum finde ich die Analogie zu einem „Hike” bzw. einer „Wanderung” besser?
Planung
Bevor man eine Mehrtagestour oder einen Teil davon beginnt, muss man im Voraus planen. Sobald man nicht mehr allein unterwegs ist, muss sich die Wandergruppe auf eine Route einigen. Als Erstes wählt ihr einen Start und ein Ziel – hoffentlich eine schöne Hütte oder sogar eine Alm mit Restaurant und Aussicht. Ihr könnt die Tour entweder dort beginnen, wo ihr gerade seid, oder ihr braucht vielleicht einen Transport zum Ausgangspunkt. Damit habt ihr auch schon die erste in einer Reihe von Fragen beantwortet. Danach plant ihr die Route und müsst erstmal weiter Fragen beantworten:
- Schaffen wir es als Gruppe bis zum Einbruch der Dunkelheit oder müssen wir die Route anders planen? Wollen wir Draußen schlafen?
- Kann jedes Gruppenmitglied die geplante Strecke gehen? Vielleicht gibt es steile Hänge, Gratwanderungen oder sogar Stellen, an denen man klettern muss. Falls nicht, können wir es trotzdem als Gruppe schaffen, indem wir uns gegenseitig helfen, oder müssen wir eine andere Route wählen? Vielleicht sogar ein anderes Ziel?
- Brauchen wir eine spezielle Ausstattung? Zum Beispiel Stöcke, Seile oder Ähnliches.
- Was müssen wir an Proviant einpacken?
Die Gefährten
Man kann zwar alleine wandern, aber meiner Erfahrung nach macht das Wandern in der Gruppe viel mehr Spaß. Das bedeutet nicht, dass die Gruppe immer zusammenbleibt. Es kann Momente geben, in denen ein paar Leute alleine gehen, in ihrem eigenen Tempo. Oder man wechselt mal den Wander-Buddy. Manchmal warten alle darauf, dass die Nachzügler:innen aufholen. Ab und zu müssen alle zusammenkommen, um einen schwierigen Abschnitt gemeinsam zu bewältigen. Aber im großen und ganzen wandert ihr als Team, als Gefährt:innen.
Es kann sogar Strecken geben, für die man eine Wanderführer:in braucht. Schlussendlich ist es wichtig, dass die ganze Gruppe es jeden Tag bis zum geplanten Lagerplatz für die Nacht schafft.
Der Abend am Lagerplatz
Wenn die Gruppe den Lagerplatz dann schließlich erreicht hat, können alle zusammensitzen, essen, trinken und die Tagestour nochmal Revue passieren lassen. Was war schön an der Tour? Welche Ausrüstung hat gefehlt? Welche Ausstattung wurde nicht benötigt? Haben wir als Gruppe etwas Neues dazugelernt? Was hat jeder Einzelne Neues gelernt? Damit hat jeder Abschnitt der Wanderung seine eigene Retrospektive.
Wenn die Gruppe es nicht zum Lagerplatz schafft
Es hat Auswirkungen, wenn die Gruppe es nicht zum angepeilten Tagesziel, dem Übernachtungsplatz, schafft. Ihr müsst dann vielleicht draußen schlafen. Es kann sein, dass euch eure Verpflegung ausgeht und ihr könnt nur hoffen, dass in der vorgesehenen Hütte noch etwas zu finden ist. Ihr könnt euch möglicherweise nicht richtig erholen und müsst die nächste Etappe der geplanten Tour ändern.
Fotopräsentation
Nach jeder Tour ist es schön, die Wanderung in einer Fotokollektion festzuhalten. Für dich selbst, um dich an die Tour zu erinnern, und für alle Daheimgebliebenen, damit sie neidisch werden. Das wäre dann die Review in der ihr nur die schönen Teile zeigt, oder die lustigen.
Keine Analogie ist perfekt
Die Analogie mag nicht perfekt sein, aber ich finde „Hike” passt als Begriff viel besser für Iteration als „Sprint“. Zumindest für mich. Man muss viel Energie aufbringen, um die ganze, lange Strecke zu bewältigen. Es kann sein, dass einzlene oder mehrere an manchen Stellen Hilfe brauchen. Aber die Gruppe wird immer dazulernen und im Laufe der gesamten Tour stetig besser werden. Im Großen und Ganzen ist ein Hike auch nicht so einfach zu planen wie ein Sprint – es kann immer unvorhergesehene Hindernisse geben, wie zum Beispiel eine Herde Kühe, die den Weg versperrt.
Worte sind wichtig
Vielleicht bin ich zu wählerisch, was Worte angeht. Vielleicht messe ich Worten zu viel Bedeutung bei. Aber stellt euch mal eine Manager:in ohne technischen Hintergrund vor. Eine Person, die noch nie Software entwickelt hat. Wenn diese Person hört, dass wir „Sprints” machen, kann ich mir vorstellen, dass folgendes Bild in ihrem Kopf entsteht:
Ein Sprint ist eher einfach. Es gibt keine Hindernisse, jedes Gruppenmitglied kann für sich alleine laufen – man muss nur seine ganze Energie aufbringen. Und je mehr sie rennen, desto schneller werden sie wahrscheinlich.
Das führt zur Illusion einer einfachen, wiederholbaren Iteration für das Softwareentwicklungsteam. Doch wir alle wissen, dass in Wirklichkeit keine Iteration wie die vorherige ist, und es passiert immer etwas Unvorhergesehenes. Das ist einer der Gründe, warum ich für eine Iteration den Begriff „Hike” viel lieber mag als „Sprint”. Bei einer Wanderung kann man sich auch mal verlaufen und hat trotzdem alle Vorteile, wie oben beschrieben.
Während ich das hier schreibe, kommt mir der Gedanke, die gesamte Softwareentwicklung als eine Art Expedition zu betrachten, bei der man ohne Karte einen Weg über die Alpen finden muss. Man kann vielleicht ein paar Tage im Voraus planen, aber nicht viel mehr. Es kann sogar vorkommen, dass man den ganzen Weg zurück zum Ausgangspunkt der Wanderung gehen muss, weil man in eine Sackgasse geraten ist oder ein Felssturz den Weg versperrt. Ich bin sehr gespannt auf eure Gedanken zu diesem Thema!
0 Kommentare