Montag, 27. Februar 2017

Kann man Rollout-Projekte mit Scrum machen?

Scrum ist in der Entwicklung von neuen Softwareprodukten sehr beliebt. Deshalb denken auch viele, dass Scrum nur für die Entwicklung gedacht ist. Das stimmt so nicht. Scrum ist für alle Projekte geeignet, bei denen es komplexe Probleme gibt. Softwareentwicklung ist eine Art von kniffeligen Problemen. Aber es gibt noch mehr von dieser Sorte.

Was ist ein Rollout-Projekt?

Mit Rollout meinen Flugzeugbauer das erste Herausrollen eines Flugzeugs aus der Halle. Das meine ich hier nicht.

Im IT-Betrieb geht es darum, neue Software (oder auch Hardware) unter den Anwendern zu verteilen. Je nach Art der Software und Anzahl der Anwender kann das Projekt ziemlich kompliziert werden. Es ist sicherlich einfacher eine neue Version der Buchhaltungssoftware auf 15 Arbeitsplätze zu verteilen als 1.500 Anwender mit einer neuen Betriebssystemversion zu beliefern.

Ein Rollout-Projekt besteht grob aus mehreren Phasen:
  • Analyse: Wer ist von der neuen Software betroffen? Welche Version läuft auf den Rechnern bisher? Gibt es neue Anwender? Wie ist die Ausstattung der Geräte, d. h. passt die neue Software überhaupt darauf?
  • Beschaffung und Anpassung: Wenn der ungefähre Umfang bekannt ist, müssen ggf. neue Lizenzen beschafft werden. Vielleicht muss die neue Software oder die neue Version auch an die Bedürfnisse der Organisation angepasst werden. Das kann ebenfalls etwas dauern.
  • Ausrollen und Schulen: Wenn die Software soweit fertig ist, muss sie an die neuen Plätze verteilt werden. Heute geht viel automatisch. Früher waren sehr viele manuelle Tätigkeiten nötig. Die Anwender werden je nach Komplexität der Anwendung in die neue Version eingewiesen. Vielleicht sind das nur ein paar Änderungen. Vielleicht kennen sie sich auch noch gar nicht mit dem Produkt aus.
  • Nachbetreuung: Es ist gute Praxis, dass es nach der eigentlichen Umstellung noch Unterstützung gibt. Es gibt Fragen zu beantworten. Hier und da treten noch ein paar technische Probleme auf.

Wie viel Unsicherheit liegt in solchen Projekten?

Eine agile Arbeitsweise eignet sich immer für Situationen, in denen die Unsicherheit größer ist. IT-Projekte sind wie die Planung einer Party. Auch wenn der Auftraggeber die Veranstaltung bezahlt, muss bei der Projektarbeit auf die Bedürfnisse der Anwender geachtet werden, damit das Ergebnis gut wird. Bei Rollout-Projekten gibt es oft kniffelige Details, auch wenn es auf den ersten Blick einfach aussieht:
  • Neuheit: Verstehen alle Anwender, was das neue Produkt oder die neue Version wirklich kann?
  • Technologie: Kennt sich das Projektteam mit der neuen Technologie aus? Hat es solche Projekte mit genau dieser Technologie schon öfter gemacht?
  • Komplexität, Zusammenarbeit: Wie viele Abteilungen und Lieferanten müssen wirklich zusammenarbeiten, damit das Gesamtergebnis stimmt?
  • Zeitdruck: Gibt es einen festen Endtermin, der eingehalten werden muss?
Im Rautenmodell von Shenhar und Dvir würde man nun sehen, dass wir in allen vier Unsicherheitbereichen den Grad der einfachen Unsicherheit verlassen haben (Neuheit: Platform, Technologie: Medium Tech oder High Tech, Komplexität: System, Zeitdruck: Fast/Competitive). In solch einer Situation gibt es keine Wahrheit. Es ist nicht möglich vorab alle Anforderungen abschließend zu erfassen und vorab das endgültige Lösungskonzept zu erstellen. In solch einer Situation ist es besser, iterativ zu arbeiten und sich ständig Feedback zu holen. Hier können agile Arbeitsweisen wie Scrum ihre Stärken ausspielen.

Wie macht man ein Rollout-Projekt mit Scrum?

Nachdem wir uns das Unsicherheitsprofil angesehen haben, ist es eine gute Idee, über den Einsatz von Scrum nachzudenken. Hier sind meine Anmerkungen.

Product Owner: Wer hat das höchste Interesse am funktionierenden Gesamtergebnis? Wer kann aus fachlicher Sicht die Themen gut priorisieren? Wer hat den Auftrag für die Softwareumstellung gegeben? Diese Person sollte die Rolle des Product Owners übernehmen.

Umsetzungsteam: Wen brauchen wir, damit Ergebnisse komplett fertig gestellt werden können? Beim Rollout von neuer Software braucht man nicht nur den Softwarelieferanten, sondern auch Hilfe aus dem Bereich Softwareverteilung (Desktop Management), Netzwerk und Anwendersupport. Die Zusammensetzung des Teams bzw. die Anzahl der Personen aus verschiedenen Bereichen kann sich im Laufe des Projekts durchaus verändern.

Scrum Master: Wem vertraut das Umsetzungsteam? Wer ist schon länger im Unternehmen? Wer ist gut vernetzt, sodass er dem Team schnell helfen kann, wenn es auf Hindernisse stößt?

Sprintlänge: 1-2 Wochen. Länger kann das Team wahrscheinlich nicht in die Zukunft blicken.

Sprintziele:
  • Am Anfang muss das Systemkonzept geprüft werden. Das Team muss unterschiedliche Varianten testen, um zu wissen, was ein gutes Konzept ist. 
  • Zudem braucht es in frühen Phase Feedback zur Funktionalität. Dazu muss es wichtige neue Funktionen an einen Teil der Anwender verteilen, um zu wissen, ob es auf dem richtigen Weg ist.
  • In späteren Phasen werden die Rollout-Methoden getestet. 
  • Anschließend wird eine Anwendergruppe nach der anderen umgestellt. Angefangen bei unkritischen Anwendergruppen bis zur schwierigsten Gruppe.
Der Sinn der Sprints ist Zwischenergebnisse (sog. Inkremente) zu liefern, durch die das Umsetzungsteam für die nächsten Sprints dazulernen kann.

Product Backlog: Im Backlog stehen zwei Arten von Anforderungen. Einerseits (und überwiegend) Anforderungen zur Fachlichkeit ("Als XY-Anwender rufe ich ABC-Funktion auf, um mein DEF-Ziel zu erreichen. Akzeptanzkriterien: ..."). Andererseits gibt ein paar Anforderungen aus Betriebs- und Softwareverteilungssicht.

Definition of Ready:
  • Genug Lizenzen vorhanden?
  • Anwender informiert?
  • Lieferant(en) für Tätigkeiten beauftragt?
  • Notwendige Daten oder Informationen liegen vor
  • Anforderung hat Akzeptanzkriterien?
  • Anforderung vom Team geschätzt?
  • Anforderung kann in einem Sprint umgesetzt werden?
Definition of Done:
  • Konzepte sind aktualisiert
  • Neue Software bzw. Funktionen sind zur Verteilung bereit
  • Handbuch oder Leitfaden für Anwender wurden aktualisiert
  • Admindokumentation wurde aktualisiert
  • Keine neuen technischen Schulden aufgebaut.
  • Wenn konkret verteilt wird:
    •  Technische Ansprechpartner sind informiert
    • Verteiltung mit Change Management o. ä. abgestimmt, damit es nicht zu Konflikten kommt.
    • Anwender sind informiert und vorbereitet.
    • Ansprechpartner stehen für Rückfragen zur Verfügung.
Burndown, Fortschrittsmessung: Das Projektburndownchart zeigt an, wie viele Anwender noch auf die neue Software oder neue Geräte umzustellen sind.

Da es bei neuen IT-Systemen immer um geänderte Arbeitsweisen geht, muss der PO sich überlegen, wie er die Änderungen auch wirklich sicherstellt. Neue Software hat nur einen Nutzen, wenn sie zu dauerhaften Änderungen in den Arbeitsprozessen führt. Nur so rechnen sich solche Projekte.

Keine Kommentare:

Kommentar veröffentlichen