Blog

Anti-Pattern-Kalender 2015 – Der Superheld

Superhelden

Superhelden besitzen übermenschliche Fähigkeiten oder auch besondere High-Tech-Waffen. Sie nutzen diese für nichts weniger, als das Böse zu vertreiben und die Welt zu retten. Allerdings ist außerhalb der Comic-Welten und im Rahmen realer Softwarentwicklung nicht immer ganz einfach zu entscheiden, was das Böse ist und welche Welt tatsächlich gerade der Rettung bedarf, so entsteht dann schon mal Konfliktpotenzial.

Superhelden gibt es in unterschiedlichen Varianten und Ausführungen. Ihnen gemein ist, dass sie als Einzelkämpfer am liebsten alleine ihr Werk verrichten, sie versuchen ihre wahre Identität zu verschleiern und aufgrund ihrer besonderer Fähigkeiten agieren sie immer auch am Rande oder außerhalb der geltenden Regeln.

Dabei sollte nicht nur für Spiderman gelten: „Aus großer Macht folgt große Verantwortung“. Leider beherzigt nicht jeder Projekt-Superheld diese Weisheit. Wir beschreiben im Folgenden einige der Projekt-Superhelden, die wir kennengelernt haben.

Heroes in the Pavillion

Heroes in the Pavillion – Ewen Roberts (CC BY 2.0)

Code-Flash (Selbst ist der Held)

„Code-Flash“ ist einfach der Schnellste. Außerdem ist es einfacher, es eben selbst zu machen, als es jemand anderem zu erklären. Gilt es Aufgaben zu verteilen, ist er auch immer vorn mit dabei und reserviert schon mal zwei Drittel des Sprint-Backlogs für sich, auch wenn die Erfahrung zeigt, dass selbst er das am Ende des Tages nicht alles schaffen wird.

Leider ist schnell gemacht nicht auch immer gut gemacht. „Code-Flash“ produziert unter dem selbstgewähltem Zeitdruck reichlich Fehler und braucht mehrere „schnelle“ Anläufe, bis es wirklich läuft. Im dabei entstehenden Code kennt sich am Ende außer ihm auch keiner mehr aus. Aber das macht seine „Superkräfte“ nur noch stärker und dem Rest des Teams klar, dass sie zu langsam sind, um mit seiner Komplexität umzugehen.

Mysteriom (Bewahrer des Wissens)

„Mysteriom“ ist der Bewahrer der mystischen Systemfunktionen in der großen Bibliothek und verfügt über die Gabe, die alten Schriften zu lesen. Ohne seinen Rat und seine Hilfe geht im Prinzip nichts. Zwischen all den obskuren Bezeichnern und den verschlungenen Abhängigkeiten kann man sich alleine kaum zurecht finden und nur er weiß, aufgrund welchen Problems vor vielen Jahren der Code an dieser Stelle bis zu Unkenntlichkeit verbogen wurde.

Neue Funktionalitäten sind nur schwierig einzubauen, aber Mysteriom hat den Code schon durch viele Winter gesehen. Wenn er sich zurückzieht, wird er immer noch einen Weg finden, wie er es noch eingebaut bekommt. So macht er ein ums andere Mal das Unmögliche möglich. Den Preis, dass die Architektur noch undurchsichtiger und unwartbarer wird, nimmt man dafür gerne in Kauf.

Refactoring ist sein Kryptonit. Es stört sein Denken und lässt ihn orientierungslos zurück. Er wird daher jeden Versuch abwehren und dies gekonnt begründen mit den unergründlichen Weisheiten der alten Schriften, die normale Menschen gar nicht erfassen können.

Verlässt Mysteriom das Team, macht sich Angst und Verzweiflung breit. Andererseits wurden seltenst tatsächliche nachhaltige Verschlechterungen der Entwicklungsperformance oder Systemstabilität beobachtet. Die waren allerdings vorher auch nicht so dolle.

Rocket („Ain‘t no rocket science“)

„Rocket“ weiß Bescheid. Er kennt alles, weiß alles und hat für jedes Problem schon ein Werkzeug parat oder zumindest in Arbeit. Seine Architekturentwürfe decken alle Eventualitäten ab und seine Frameworks sind, wenn sie denn einmal konfiguriert und kalibriert sind, pure Magie. So magisch, dass alle anderen nur hoffen können, dass sie selbst nie in die Verlegenheit kommen, daran rumschrauben zu müssen.

Als der Iron-Man unter unseren Superhelden ist er gleichermaßen genial, eitel und eine völlige Überforderung für sein Umfeld. Seine Kreationen sind teils ein Segen, oft geraten sie aber auch außer Kontrolle oder wenden sich gar gegen ihn. Die Energie, die es verschlingt, bis am Ende alles läuft, werden wir aber in den nächsten Jahrzehnten sicher wieder einfahren. Hoffentlich.

Zum Umgang mit Superhelden

Superhelden im Team haben immer auch das Potenzial, die anderen Teammitglieder zu demotivieren oder es komplett zu sprengen (siehe auch „The Avengers“). Daher lohnt es, insbesondere als Scrum Master oder Product Owner, zu lernen, wie man besten mit ihnen umgeht und dabei auf klare Spielregeln zu achten. Der Scrum-Prozess enthält eine Reihe von Elementen, die helfen zu verhindern, dass es Superhelden überhaupt erst braucht und wenn sie doch da sind, diese wieder ins Team und in den Prozess einzubinden:

Das Sprint-Review gehört zu den oft unterschätzten Meetings. Ein wichtiger Aspekt des Meetings als Teil des Architekturzyklus‘ ist, das gesamte Team in die Architekturarbeit mit einzubinden. Das bedeutet insbesondere

  • sicherzustellen, dass die gefundenen Lösungen und die auf dem Weg getroffen Entscheidungen bekannt und verstanden sind
  • gemeinschaftlich auf die innere Softwarequalität zu achten und gegenzusteuern
  • Einzelnen die Angst zu nehmen, alles richtig machen und Entscheidungen allein treffen zu müssen. Dies führt ansonsten oft dazu, dass Probleme versteckt werden, statt im Team nach einer Lösung zu suchen
  • das Verständnis des gesamten Teams zu erhöhen, welche Qualitäten für die Software von Bedeutung sind, und dass man sich diese immer wieder neu erarbeiten muss

Bei der Sprint-Planung ist wichtig, darauf zu achten, dass die zu bewältigenden Aufgaben tatsächlich in kleine Arbeitsschritte runtergebrochen werden. Erfahrungsgemäß führt das nämlich häufig erst dazu, dass sichtbar wird, wo der „Superheld“ Unterstützung bekommen kann oder andersherum, wo die Gelegenheit für andere ist, sich in ein Thema einzuarbeiten, ohne dies gleich komplett übernehmen zu müssen.

Die Regel zur Task-Zuweisung ist eigentlich klar: Tasks gehören immer dem Team und werden nicht durch Einzelne reserviert. Als Scrum-Master sollte man darauf achten, dass diese Regel eingehalten wird und die Abarbeitung der Tasks tatsächlich ein Prozess ist, der vom Team selbst kontinuierlich während des Sprints und vor dem Hintergrund der aktuellen Lage erfolgt. Dies ist häufig einer der schwierigsten Lernprozesse und einer der Kernpunkte, an denen sich mitentscheidet, ob Superhelden sich abkoppeln können.

Schließlich ermöglicht die Definition of Done klare Regeln zu verankern, die sicherstellen, dass auch ein Superheld z.B. Tests schreibt (obwohl er ja perfekt ist), innerhalb eines Peer-Reviews jemand anderem im Detail seinen Lösung erläutert und auch zumindest für die Zukunft ein wenig Dokumentation entsteht.

Am Ende des Tages wird man sich immer auch persönlich mit dem Superhelden auseinandersetzen müssen, um rauszufinden, was diesen an- und umtreibt. Denn tief im Inneren sehnen sich Superhelden doch eigentlich auch nur nach einem ganz normalen Leben.

Holisticon AG — Teile diesen Artikel

Über den Autor

Antwort hinterlassen