Prozess-Modernisierung in Softwaremodernisierungs-Projekten

Wer kennt das nicht? Wir leben in unserem Trott und machen tagein, tagaus immer dasselbe: Wir nehmen immer den selben Weg zur Arbeit und wieder zurück nach Hause. Oder wir führen immer dasselbe Ritual vor dem Zubettgehen aus.

Das gleiche Verhalten lässt sich auch auf unsere Arbeitswelt übertragen, egal ob es einen selbst oder eine ganze Firma betrifft. Wir benutzen immer die selben Methoden, um Dinge zu erledigen. Genauso wie Firmen immer die selben Prozesse benutzen, um zum Beispiel Projekte anzugehen.

Aber warum fällt es uns so schwer, manche Rituale oder Herangehensweisen zu ändern? Und warum modernisieren wir nicht auch mal den Prozess, anstatt immer nur die Technik zu modernisieren?

An einem Beispiel aus einem unserer Projekte möchte ich zeigen, dass Änderungen und Modernisierungen manchmal wahre Wunder bewirken können.

Das haben wir schon immer so gemacht

Die Ausgangssituation in besagtem Projekt war genauso verfahren wie in den meisten Firmen, die ich kenne. Es wurde sich an Prozesse und Methoden geklammert, die bereits vor Jahren definiert wurden und mittlerweile nicht mehr zeitgemäß waren. Die Projekte liefen richtig zäh und die Projektbeteiligten waren sehr genervt, gar extrem frustriert.

Anfangs wurde jeder Versuch die Prozesse zu ändern mit dem Kommentar „Das haben wir schon immer so gemacht und es funktioniert!“ abgeblockt.

Erst als die Schmerzen bis ins Unerträgliche stiegen und die Prozessbeteiligten in Retrospektiven ebenfalls ihren Unmut für die anderen im Team zugänglich gemacht hatten, wurde die Bereitschaft für Anpassungen der Prozesse geschaffen. Somit waren wir dann in der Lage, kleinere Anpassungen vorzunehmen, um das Projektleben für alle Beteiligten etwas erträglicher zu machen.

Doch was konnten wir tun, um das Leben in einem harten „Wasserfall“-Projekt zu verbessern und die Prozesse etwas zu modernisieren?

Prozess-Modernisierung – der erste Schritt

Nachdem eine gefühlte Ewigkeit versucht wurde, Scrum als Methode einzuführen (und das erwartungsgemäß nicht funktionierte), haben wir beschlossen, andere Methoden in Betracht zu ziehen.

Einer der ersten Schritte war, dass wir einige der unzähligen Meetings abgeändert oder manche sogar komplett abgeschafft haben. Somit wurde ein wichtiger Faktor – nämlich die Zeit, die für andere Aufgaben bleibt – erheblich vergrößert. Und siehe da, die Entwickler konnten dadurch magische Dinge im Projekt erledigen.

Hintergrund für der Umstrukturierung einzelner Meetings war der enorm große Organisationsaufwand (14 Entwickler). Außerdem hat der geringe Outcome die Teilnehmer nur frustriert.

Wir haben beispielsweise das Refinement so umgestaltet, dass statt des gesamten Teams nur noch eine Handvoll Teilnehmer dabei sind. Andere Meetings, wie zum Beispiel ein zweites wöchentliches Refinement mit allen Entwicklern, wurden gänzlich abgeschafft, weil deren Informationsgehalt sehr gut in anderen Meetings aufgehen konnte. Die weiterhin stattfindenden Meetings konnten so straffer gestaltet werden, um deren Zeit effektiver zu nutzen.

Teilen verbindet

Die nächste, etwas größere, Anpassung war die Aufteilung der Teams. Da wir ein großes Team aus 14 Entwicklern hatten/haben, war die Koordination und Planung erwartungsgemäß recht aufwendig.

Deshalb haben wir uns nach Rücksprache mit dem Team dazu entschieden, aus den vierzehnköpfigen Team zwei Teams zu je sieben Personen zu formen. Somit können wir an unterschiedlichen Stellen gleichzeitig arbeiten. Während ein Team für die Modernisierung der Software und andere technische Aktualisierungen sorgt, arbeitet das andere Team neue fachliche Anforderungen ab. Im gleichen Atemzug haben wir einen Teil unserer Regelmeetings auf Remote umgestellt, um so die Reisezeit zu verringern.

Diese beiden Anpassungen haben dafür gesorgt, dass die Koordination und Planung der einzelnen Meetings stark vereinfacht wurden. Ein angenehmer Nebeneffekt war die massive Senkung der Kosten. Das wiederum hat dafür gesorgt, dass sich beide Teams vollständig auf die Modernisierung – respektive die neuen fachlichen Anforderungen – fokussieren konnten. Dadurch konnte letzten Endes auch ordentlich Strecke in beiden Bereichen gemacht werden.

Schritt für Schritt

Eine weitere Anpassung war der iterative Ansatz in einem neuen Teilprojekt – anstelle der Methodik eines Proof of Concept.

In der Regel wurde bei neuen Projekten immer ein Proof of Concept verlangt, um abschätzen zu können, ob die Umsetzung tatsächlich möglich wäre. Leider kommt es bei diesem Ansatz häufig vor, dass der Proof of Concept schnell und dreckig hingestellt und dieser „Prototyp“ dann für die Weiterentwicklung verwendet wird.

Um das zu verhindern und die Entwicklung ein bisschen in Richtung der iterativen Veröffentlichungen zu bringen, haben wir beschlossen, mit einem Minimum Viable Product (MVP) zu beginnen und dieses iterativ weiterzuentwickeln. Damit haben wir gleichzeitig die „Wasserfall“-Methodik ausgehebelt, indem wir das Nutzer-Feedback in die kommenden Iterationen einfließen liessen.

Diese Herangehensweise macht das Projekt planbarer und sorgt dafür, dass die Bedürfnisse der Nutzer auch wirklich umgesetzt werden und nicht an diesen vorbeientwickelt wird.

Erfolgsmessung

Diese kleinen oder auch größeren Anpassungen und Modernisierungen haben dazu geführt, dass wir durch unsere regelmäßig stattfindende Team-Stimmungsabfrage, Team-Retro und einem Team-Healthcheck nachweisen konnten, dass das Projektleben und die Stimmung innerhalb des Teams um ein vielfaches besser wurde.

Viele der Anpassungen sind aus den Retrospektiven entstanden und wurden somit vom gesamten Team getragen. Somit zeigt diese kleine Erfolgsstory, dass bereits kleine Anpassungen eine große Wirkung erzielen können.

Wenn dieses Feintuning dann noch durch ein regelmäßig stattfindendes Beobachten und Verbessern zustande kommt, ist gesichert, dass die Anpassungen auch tatsächlich den „kaputten“ Prozess um eins besser machen können.

tl;dr

Mein Fazit ist also, dass man nicht immer mit der alles erschlagenden Superwaffe um die Ecke kommen muss, da eben auch kleinere Anpassungen eine große Wirkung erzielen können.

Vielleicht kann man dasselbe Vorgehen auch auf seine privaten Gewohnheiten anwenden, um so seine Rituale anzupassen (wenn gewünscht). Natürlich kann man auch alles beim Alten belassen, sofern man keine Probleme identifiziert.

Also: Öfter mal was ändern, um neuen Schwung in eine Sache zu bekommen und um Frustrationen zu vermeiden.

Für neue Blogupdates anmelden:


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.