Agiles Projektmanagement

Agiles Projektmanagement mit HERMES und SCRUM

Warum Agil

Um die Komplexität der Entwicklung von Produkten und Systemen zu meistern, setzen viele Entwickler agile Methoden ein. Am Beispiel der Methode SCRUM wird aufgezeigt, wie HERMES mit der agilen Entwicklung zusammenspielt.

Positionierung der agilen Entwicklung im Phasenmodell

HERMES deckt den gesamten Lebenszyklus des Projektes ab. SCRUM regelt die Organisation und die Steuerung des Entwicklungs-Teams. Für das Entwicklungs-Team müssen die Phasenübergänge jedoch nicht sichtbar sein. Das Entwicklungs-Team ist nur bedingt in die Steuerung des Projekts involviert, da die Steuerung des Entwicklungs-Teams über Product Backlog und Sprint-Backlog erfolgt.

Die Abbildung 33 zeigt auf, dass entlang den HERMES-Phasen die Entwicklung agil geführt wird.

Abbildung 33: Agile Entwicklung entlang den HERMES-Phasen
Abbildung 33: Agile Entwicklung entlang den HERMES-Phasen

Die HERMES-Phasen und die Entscheidungsaufgaben mit den Meilensteinen der Steuerung, Führung und Ausführung werden von Projektleiter und Auftraggeber nach wie vor durchlaufen. Auch bei einer agilen Entwicklung nehmen im Rahmen der Projektsteuerung und Projektführung die Auftraggeber und Projektleiter ihre Aufgaben wahr, da diese nicht mit SCRUM abgedeckt werden.

Bei der agilen Entwicklung mit SCRUM sind die Schwerpunkte des Entwicklungs-Teams in den Phasen wie folgt:

Initialisierung

Der Schwerpunkt der Phase Initialisierung liegt auf der Erarbeitung der Studie mit Lösungsvarianten. Entsprechend hat in dieser Phase die Entwicklung noch keine Bedeutung.

Konzept

In der Phase Konzept, wenn der Entwicklungspartner festgelegt und der Entwicklungsumfang genügend stabil definiert ist, kann SCRUM für die agile Entwicklung eingeführt werden. Dazu wird das Modul Entwicklung agil eingesetzt.

Zuerst wird die Aufgabe Entscheid zu SCRUM treffen durchgeführt. Die agile Entwicklung mit SCRUM hat Auswirkungen auf die Partner Anwender, Ersteller und Betreiber. Deshalb wird der Entscheid mit Einbezug der Betroffenen bewusst gefällt. Die Einführung von SCRUM wird anschliessend mit der Aufgabe SCRUM einführen geplant und durchgeführt. Ab dann können bereits die ersten Sprints durchlaufen werden. Diese können dazu dienen, die Systemarchitektur mit einem Prototypen (Proof-of-Concept) zu verifizieren.

In der Phase Konzept wird der Entscheid zur Systemarchitektur getroffen. Dazu muss die Architektur so detailliert erarbeitet werden, dass sie durch die zuständige Controlling- und Vorgabestelle geprüft und der Entscheid zur Systemarchitektur getroffen werden kann. Dadurch wird die Nachhaltigkeit des IT-Systems sichergestellt, bevor viele Ressourcen in die Entwicklung fliessen.

Realisierung

Der Schwerpunkt der agilen Entwicklung liegt in der Phase Realisierung. Bei der agilen Entwicklung erfolgt die Erarbeitung der Detailspezifikation zeitnah zur Entwicklung. Die Entwicklung des Systems/Produkts erfolgt nach Vorliegen der jeweiligen Detailspezifikation in Sprints.

Einführung

In der Phase Einführung werden weitere Sprints durchlaufen. Dabei werden z. B. Korrekturen und das Bugfixing agil geführt und das bis zur Abnahme des Systems.

Szenarien

HERMES bietet zwei Standardszenarien an, die die agile Steuerung der Entwicklung mit SCRUM beinhalten:

  1. IT-Individualanwendung agil
  2. Dienstleistung/Produkt agil

Mit diesen Szenarien verfügt der Anwender über eine Methode zur agilen Steuerung der Entwicklung, die er sofort anwenden kann.

Nachfolgend wird beschrieben, wie HERMES und SCRUM gemeinsam in einem IT-Entwicklungsprojekt angewendet werden.

Modul Entwicklung Agil

SCRUM ist in HERMES als Modul Entwicklung Agil enthalten. Es enthält alle SCRUMArtefakte als Ergebnisse, und die SCRUM-Ereignisse sind in den Aufgaben integriert.

Die Abbildung 34 zeigt die Positionierung des Moduls Entwicklung Agil im Szenario ITIndividualanwendung agil. Das Modul ist auf der Hierarchieebene Führung angesiedelt. Es ergänzt das Modul Projektführung, dessen Ergebnisse und Aufgaben nach wie vor benötigt werden, da sie von SCRUM nicht abgedeckt sind.

Abbildung 34: Positionierung des Moduls Entwicklung Agil
Abbildung 34: Positionierung des Moduls Entwicklung Agil

Die Module der Hierarchieebene Ausführung werden weiterhin benötigt, da SCRUM keine Angaben zu den konkreten Aufgaben und Ergebnissen zur Beschaffung, zur Entwicklung des IT-Systems, zum Testen, zur Migration etc. macht, sondern auf die agile Steuerung der Entwicklung fokussiert.

Rollen

SCRUM verfügt über drei Rollen. Sie ergänzen die HERMES-Rollen und werden gemäss der Definition der SCRUM Guide™ gelebt.

HERMES geht davon aus, dass eine Person mehrere Rollen besetzen kann (Rollenkumulation). Ein HERMES-Rolleninhaber kann somit zusätzlich eine SCRUM-Rolle übernehmen. Die Tabelle zeigt mögliche Rollenkumulationen.

Tabelle 49: Mögliche Rollenkumulationen mit SCRUM

SCRUM Rolle

HERMES Kandidat für die SCRUM-Rolle

Product Owner

Business Analyst

Projektleiter des Anwenders

Geschäftsprozessverantwortlicher

Anwendungsverantwortlicher

IT-Architekt

Entwicklungsteam

Entwickler, Business Analyst, Testverantwortlicher, Tester

SCRUM Master

Entwickler, Business Analyst

HERMES und SCRUM haben bezüglich der Führung des Teams ein grundsätzlich unterschiedliches Verständnis. Während HERMES davon ausgeht, dass der Projektleiter Arbeitsaufträge erteilt, wird die Arbeit des SCRUM-Teams durch den Product Owner über das Product Backlog gesteuert, und das Team organisiert seine Arbeit selbstständig.

Für die Anwendung von SCRUM ist die Wahrung der in SCRUM definierten Rollen ein zentraler Erfolgsfaktor. Bei einer Rollenkumulation muss beachtet werden, dass die in SCRUM definierte Rolle durch den Rolleninhaber eingehalten wird.

Aufgaben

Weitreichende Ausrichtung der Aufgaben

Die Ausrichtung der Aufgaben auf die Softwareentwicklung geht im Modul Entwicklung Agil weiter, als dies in SCRUM der Fall ist. Die Tabelle zeigt die Aufgaben des Moduls Entwicklung Agil und ihre Beziehung zur SCRUM Guide™.

Tabelle 50: HERMES-Aufgaben und ihre Beziehung zur SCRUM Guide™

HERMES Aufgabe

HERMES Aufgabenbeschreibung

SCRUM Guide™

Entscheid zur agilen Entwicklung mit SCRUM treffen

Der Entscheid bildet die Grundlage für die agile Entwicklung mit SCRUM. Er legt fest, wie die agile Arbeit für die Entwicklung mit SCRUM erfolgt und wie sie eingeführt wird.

Nicht vorhanden

SCRUM einführen

Die gezielte Einführung von SCRUM schafft die Voraussetzung für die agile Entwicklung.

Nicht vorhanden

Product Backlog führen

Das Product Backlog schafft die Voraussetzung zur Erarbeitung des Releaseplans und zur Durchführung der Sprints.

Teil von SCRUM.
Eine Tätigkeit der Rolle Product Owner

Releaseplan erarbeiten

Der Releaseplan bildet die Grundlage, um die Sprints durchzuführen, die Auslieferung eines Releases an die Anwender zu planen und die Aktivitäten mit den betroffenen Stellen zu koordinieren.

Nicht vorhanden

Sprints durchführen

Die Durchführung eines Sprints führt zu einem vereinbarten, konkreten und überprüfbaren Ergebnis.

Der Sprint ist das Herz von SCRUM.
Er enthält alle SCRUM-Ereignisse und ist in der SCRUM Guide™ beschrieben.
In HERMES sind die SCRUM-Ereignisse als Aktivitäten in dieser Aufgabe aufgeführt.

Die folgenden Aufgaben des Moduls Projektführung sind bei der agilen Entwicklung besonders zu beachten:

Änderungsmanagement führen

Die Priorisierung des Product Backlogs führt zu Veränderungen im Leistungsumfang. Die Projektleiter des Anwenders und des Erstellers führen das Änderungsmanagement gemäss dem für das Projekt definierten Prozess, der im Projektmanagementhandbuch festgehalten ist. SCRUM macht diese Aufgabe nicht überflüssig.

Auch beim Einsatz von SCRUM müssen der Projektumfang und die Projektabgrenzung im Auge behalten werden. Eine Ausweitung des Umfangs oder eine Verschiebung der Projektabgrenzung kann die Stammorganisation betreffen und muss durch die zuständigen Stellen beurteilt werden. Dies sind insbesondere der Auftraggeber und die für das Projektportfoliomanagement zuständige Controlling- und Vorgabestelle.

Leistungen vereinbaren und steuern

Die Steuerung der Leistungen erfolgt mittels Priorisierung der Anforderungen über das Product Backlog und die Sprint Backlogs.

Bei Leistungsvereinbarungen zu Festpreisen führen Änderungen des Leistungsumfangs zu Vertragsanpassungen. Grundlage dazu bildet die Änderungsstatusliste.

Positionierung von HERMES und SCRUM

In einem Projekt, in dem die Entwicklung agil mit SCRUM geführt wird, wird SCRUM als Ergänzung zu HERMES eingesetzt.

Die Tabelle zeigt die grundlegend unterschiedliche Positionierung von HERMES und SCRUM auf. Sie macht deutlich, dass SCRUM HERMES nicht ersetzt, sondern bei Bedarf ergänzt.

Tabelle 51: Unterschiedliche Positionierung von HERMES und SCRUM

Schwerpunkt

HERMES

SCRUM

Projekt Lebenszyklus

HERMES deckt den gesamten Lebenszyklus des Projekts ab. Das heisst vom Projektinitialisierungsauftrag bis zum Projektabschluss.

SCRUM deckt den Zeitabschnitt des

Projekts ab, in dem entwickelt wird.

Das Phasenmodell definiert differenzierte Entscheidungspunkte, an denen die Abstimmung des Projekts mit der Stammorganisation erfolgt (z. B. für die Abstimmung der Systemarchitektur).

SCRUM definiert keine differenzierten

Entscheidungspunkte zur Abstimmung mit der Stammorganisation.

Ergebnisse, Aufgaben, Rollen

HERMES definiert alle Ergebnisse, Aufgaben und Rollen für festgelegte Szenarien.

SCRUM definiert die für die agile Steuerung der Entwicklung benötigten Ergebnisse (Artefakte), Aufgaben (Ereignisse) und Rollen.

Ergebnisse, Aufgaben und Rollen sind auf den konkreten Projektinhalt (d. h. auf die Charakteristik eines Projekts) ausgerichtet. Sie sind spezifisch.

Ergebnisse, Aufgaben und Rollen sind nicht auf den konkreten Projektinhalt (d. h. die Charakteristik eines Projekts) ausgerichtet.

HERMES beschreibt konkrete Aufgaben zur Erarbeitung von projektspezifischen Ergebnissen.

SCRUM beschreibt keine konkreten Aufgaben zur Erarbeitung von projektspezifischen Ergebnissen.

SCRUM beschreibt keinen Entwicklungsprozess sondern ermöglicht die relative Wirksamkeit der Entwicklung messbar zu machen (Zitat aus SCRUM-Guide).

Hierarchieebenen

HERMES unterscheidet die Hierarchieebenen Steuerung, Führung und Ausführung. Die Rollen sind diesen drei Hierarchieebenen zugeordnet.

SCRUM unterscheidet die Ebenen
Steuerung und Ausführung.

HERMES umfasst mehrere Module, die je einer der Hierarchieebenen zugeordnet sind.
Die Unterscheidung dieser Hierarchieebenen ist ein bedeutendes Element der Governance.

Partner

HERMES definiert die Zusammenarbeit zwischen Anwender, Ersteller und Betreiber.

SCRUM definiert die Zusammenarbeit zwischen Anwender (Product Owner) und Entwickler (Rolle SCRUM Team).

Übersicht der Methodenelemente

HERMES und SCRUM bestehen aus ähnlichen Methodenelementen, sodass eine Integration des SCRUM-Frameworks in der HERMES-Methode einfach möglich ist.

Tabelle 52: Methodenelemente von HERMES und SCRUM

Methodenelemente HERMES

Methodenelemente SCRUM

Ergebnis

Artefakt

Aufgabe

Ereignis

Rolle

Rolle