Wie ist die letzte Wochen beruflich verlaufen? Nachdem uns die Problemstellung aus verschiedenen Kundenperspektiven dargestellt wurde, stellte sich uns die Frage, wie wir nun weiter machen, um eben dieses Problem zu lösen. Befindet man sich im Chaos und weiß erst einmal nicht weiter, lautet die Devise: Handel!
Wir führten ein Brainstorming durch, bei dem jedes Teammitglied Ideen für Arbeitspakete aufschreiben sollte, die sich seiner Meinung nach aus dem bisher Erfahrenen ergeben. Diese Ideen ordneten wir dann bestimmten Themenbereichen (Produkten / Komponenten / Schnittstellen) zu. In einem weiteren Planungsmeeting haben wir aus diesen Ideen konkrete Arbeitspakete mit konkreterer Beschreibung und Akzepttanzbedingungen erstellt, diese geordnet und uns zwei Pakete für unseren ersten Sprint (ein Zeitraum von 2 Wochen) ausgewählt. Das ist knifflig, da wir hierfür prognostizieren müssen, ob wir diese Pakete in diesem Zeitraum auch schaffen können.
Zu diesem Komplex ließe sich vieles sagen. Kurz: Prinzipiell fehlt uns, als neu zusammengestelltes Team, die Erfahrung, wie gut unsere Leistungsfähigkeit ist. Wie arbeiten wir zusammen? Unterstützen und ergänzen wir uns gegenseitig, arbeitet jeder nur für sich, oder behindern wir uns sogar? Erst nach mehreren bearbeiteten Projekten lägen genug Daten vor, um zu wissen, wie lange das Team für die Fertigstellung einer bestimmen Aufgabe benötigt hat. Über die Zukunft kann man dann trotzdem nur eine Wahrscheinlichkeitsaussage machen, die umso genauer ist, je größer die Datenmenge ist. Die Aufgabe des Teams ist es dabei aber nicht, die Zeit für eine vor ihm liegende Aufgabe abzuschätzen, sondern abzuschätzen, wie sehr die Komplexität dieser Aufgabe einer bereits in der Vergangenheit bearbeiteten Aufgabe ähnelt. Mit dieser Information kann der Projektleiter - oder Product Owner - nun seine Datenbank befragen und mit einem entsprechenden Signifikanzniveau/Fehlerwahrscheinlichkeit eine Zeitaussage gegenüber dem Kunden machen. Und entsprechend muss der Product Owner dann auch dem Team vorgeben, welche Aufgaben bearbeitet werden sollen und welche warten müssen. Ich verlinke hierzu einmal einen kurzen Artikel von Ralf Westphal. Soviel zur Theorie.
Nachdem die erfahrenen Entwickler ob dieser Vorstellung nun einmal freundlich geschmunzelt haben, greifen wir uns einfach ein Arbeitspaket heraus, dass wir für sinnvoll ansehen und proklamieren: "Wir schaffen das!"
Dieses Arbeitspaket besteht aus zwei Teilen. Teil eins konnten wir tatsächlich am Freitag gemeinsam sogar fertigstellen. Unter Anleitung bauten wir ein rudimentäre Projekt mit unseren eigenen Tools zusammen, wie es auch unsere Kunden tun, um zum einen das Endergebnis als Referenz zum Testen zu haben und zum anderen, um zu sehen, wo die Problemstellen sind. Zitat: "Ja, jetzt fühlt mal den Schmerz!" Große Freude am Ende, als das Teil dann lief. Wieder Zitat: "Ich bin immer wieder erstaunt, wie sehr sich Entwickler freuen, wenn sie sehen, dass die Produkte die sie selbst entwickelt haben, wirklich funktionieren."
Der zweite Teil wird dann herausfordernder, denn hier wollen wir nun versuchen, die bisherige Lösung auf ein neues technisches Fundament zu stellen. Bildlich gesprochen: Alter Motor raus, neuer rein. Fahren muss es aber noch genauso.
Für die nächste Woche bedeutet das aber erst einmal etwas Lernen. Ich darf mich wieder in C einarbeiten. Das habe ich das letzte Mal vor 22 Jahren oder so programmiert. Dabei war aber so etwas dabei herausgekommen.
Wie schaffe ich jetzt die Überleitung zu dem nachfolgenden Video?
Äh... Wenn Du ein wirklich gut eingespieltes Pair-Programming-Duo hast und deren Arbeit als Tanz choreographierst, dann sieht das wahrscheinlich so aus:
Kommentare
Kommentar veröffentlichen