Iterativ zum Ziel: Wie Software- projekte plan- und steuerbar werden.
Iterativ zum Ziel: Wie Software- projekte plan- und steuerbar werden.
Iterativ zum Ziel: Wie Software- projekte plan- und steuerbar werden.
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Erfahrungsbericht Nr. 13 März 2002<br />
© by ERNI Consulting AG<br />
<strong>Iterativ</strong> <strong>zum</strong> <strong>Ziel</strong>: <strong>Wie</strong> <strong>Software</strong><strong>projekte</strong><br />
<strong>plan</strong>- <strong>und</strong> <strong>steuerbar</strong> <strong>werden</strong>.<br />
In den Führungsetagen vieler Unternehmen gelten innovative<br />
<strong>Software</strong><strong>projekte</strong> als komplex, riskant <strong>und</strong> weder <strong>plan</strong>- noch<br />
<strong>steuerbar</strong>. Nicht völlig zu Unrecht, denn schon die Planung der<br />
Vorhaben konfrontiert den Projektleiter mit vielen offenen Fragen.<br />
Diese Schwierigkeit lässt sich nicht isoliert bereinigen, sondern<br />
nur indem die Projekte gr<strong>und</strong>sätzlich anders angegangen <strong>werden</strong>.<br />
Die Praxis hat gezeigt, dass iteratives Vorgehen in allen Workflows<br />
<strong>Software</strong><strong>projekte</strong> wieder <strong>plan</strong>bar <strong>und</strong> damit auch kontrollierbar<br />
macht. Von Dr. Rudolf Mattmann
Beginnt ein Projektleiter mit der<br />
Planung eines grösseren Projekts,<br />
ist er mit zahlreichen Aufgaben<br />
konfrontiert. Er muss unter<br />
anderem ein Pflichtenheft erstellen,<br />
die Ansprechpartner für die<br />
Formulierungen der Anforderungen<br />
finden <strong>und</strong> interviewen<br />
sowie sich überlegen, wer die von<br />
ihm festgehaltenen Anforderungen<br />
verstehen <strong>und</strong> umsetzen soll.<br />
Noch bevor er diese Arbeiten erledigt<br />
hat, beginnen oft schon<br />
einzelne Beteiligte nach Gutdünken<br />
mit ihrer Arbeit. So ist<br />
der Ablauf kaum noch koordinierbar.<br />
Um das zu verhindern,<br />
muss nicht nur die Planung,<br />
sondern auch die Zusammenarbeit<br />
der Teams in allen<br />
Workflows (Requirements, Analyse,<br />
Design, Implementierung,<br />
Test) verändert <strong>werden</strong>. Das<br />
richtige Mittel hierfür sind<br />
Iterationen.<br />
Doch gerade wenn - anders als in der Entwicklung - verschiedene Teams<br />
zusammenarbeiten, sind die dank Iterationen schnell<br />
auftretenden Lerneffekte eine echte Unterstützung für die Mitarbeiter.<br />
Iterationen<br />
in allen Workflows<br />
An sich ist iteratives Vorgehen<br />
nichts Neues: Bei der objektorientierten<br />
<strong>Software</strong>entwicklung ist es<br />
der Normalfall. Tagtäglich durchlaufen<br />
die Entwickler die Schritte<br />
Analyse-Design-Implementierung-Tests,<br />
oft sogar innerhalb<br />
weniger St<strong>und</strong>en. In anderen<br />
Workflows dagegen wurde bisher<br />
meist versucht, die Aufgabe in<br />
einem Schritt zu bewältigen.<br />
Doch gerade wenn - anders als in<br />
der Entwicklung - verschiedene<br />
Teams zusammenarbeiten, sind die<br />
dank Iterationen schnell auftretenden<br />
Lerneffekte eine echte<br />
Unterstützung für die Mitarbeiter<br />
(siehe Abb 1). Besonders deutlich<br />
zeigt sich dies beim Requirements<br />
Engineering, wo aufgr<strong>und</strong> der<br />
vielen Beteiligten mit <strong>zum</strong> Teil<br />
unterschiedlichem Hintergr<strong>und</strong><br />
die Koordination besonders<br />
heikel ist.<br />
Beispiel 1:<br />
<strong>Iterativ</strong>es Requirements<br />
Engineering<br />
In einem Projekt mit 25 Beteiligten<br />
formulierte das Requirements<br />
Team 80 Use-Cases (UC). Die sechs<br />
Teammitglieder arbeiteten in drei<br />
Zweiergruppen, wobei jede Gruppe<br />
aus einem «Business Analyst»,<br />
das heisst einem Fachexperten,<br />
<strong>und</strong> einem IT-Analysten bestand.<br />
Das gesamte Projekt wurde auf<br />
sechs Iterationen à zwei Monate<br />
aufgeteilt. Um alle Anforderungen<br />
zu erfassen, bearbeitete jedes<br />
Zweierteam in den ersten vier<br />
Iterationen des Gesamtprojekts je<br />
zehn Use-Cases. Am Ende jeder<br />
Iteration wurden die Use-Cases<br />
dem Architekturteam <strong>und</strong> den<br />
Leitern der verschiedenen Entwicklungsteams<br />
vorgelegt sowie<br />
einem formalen Review unterzogen.<br />
Bereits nach der zweiten<br />
Iteration stellte sich der Lerneffekt<br />
ein. Man gewöhnte sich an<br />
die einheitliche Iterationslänge<br />
von zwei Monaten <strong>und</strong> die Zusammenarbeit<br />
mit allen Projektbeteiligten<br />
wurde besser. Oft<br />
wussten die Mitarbeiter, schon<br />
wenn das Telefon läutete, wer anrief<br />
<strong>und</strong> was er oder sie erwartete.<br />
Am Beginn eines Projekts, wenn<br />
die Anforderungen neu erstellt<br />
<strong>werden</strong>, ist die Koordination mit<br />
Hilfe von Iterationen eher einfach.<br />
Doch auch in schwierigeren<br />
Phasen, etwa beim Project Close,<br />
wo es darum geht, die Applikation<br />
fertig zu erstellen, bewährt<br />
sich das iterative Vorgehen.<br />
Beispiel 2:<br />
<strong>Iterativ</strong>es Change Management<br />
Die Change Management Meetings<br />
erwiesen sich als eindrücklicher<br />
Erfolg für das iterative Vorgehen<br />
in einem Projekt. Dabei war der<br />
Anfang alles andere als einfach:<br />
Kaum jemand nahm an den<br />
Sitzungen teil. Doch auch hier<br />
wirkten Iterationen W<strong>und</strong>er. Die<br />
Meetings wurden regelmässig<br />
zweimal pro Woche angesetzt.<br />
Vorgängig verteilten die Mitglieder<br />
des Change Management<br />
Teams die Listen mit allen neuen<br />
Change Requests (CR) <strong>und</strong> baten<br />
die Entwicklungsteamleader, mit<br />
ihren Mitarbeitern die Aufwände<br />
für jeden neuen CR (in Personentagen)<br />
für ihr Team zu schätzen.<br />
Am Meeting gingen die Beteiligten<br />
die Liste durch <strong>und</strong> sammelten<br />
die Daten. Beim Eingeben in<br />
das vorbereitete Excel-Sheet<br />
wurden die Aufwände auto-
Abb. 1<br />
Lernkurven in Wasserfall- <strong>und</strong> RUP-Projekten<br />
Wasserfall-Projekt<br />
Wissensaufbau<br />
1. Projekt Wissensverlust 2. Projekt Wissensverlust<br />
Zeit<br />
RUP-Projekt<br />
Wissensaufbau<br />
1. Iteration 2. Iteration 3. Iteration 4. Iteration<br />
<strong>Iterativ</strong> lernende Organisation<br />
Wenn alle Mitarbeiter immer wieder dieselben Prozessschritte durchführen,<br />
lernen sie im richtigen Augenblick das Richtige zu tun <strong>und</strong> das<br />
abzuliefern, was die Kollegen in den benachbarten Workflows als Input<br />
für ihre Arbeit erwarten. Jeder weiss, was er zu tun hat, ohne gross<br />
nachzudenken oder nachzuschlagen. Damit ist das Lernen durch iteratives<br />
Vorgehen ein anschauliches Beispiel für das Schlagwort «lernende<br />
Organisation». Die Zusammenarbeit spielt sich so ein, dass der Prozess<br />
wie von selbst läuft.<br />
matisch addiert <strong>und</strong> mit den<br />
verfügbaren Personentagen verglichen.<br />
Färbten sich die Zahlen<br />
rot, bedeutete das, dass nicht<br />
genügend Ressourcen zur Verfügung<br />
standen <strong>und</strong> der Business-<br />
Vertreter Prioritäten setzen musste.<br />
Die Vorarbeit der Entwicklungsteams<br />
erleichterte ihm nun<br />
diese Arbeit. Anhand dieser Angaben<br />
konnte am Meeting selbst<br />
entschieden <strong>werden</strong>, welche CRs<br />
als nächste anzugehen waren.<br />
Da sich die Meetings als äusserst<br />
fruchtbar erwiesen, war die Teilnahme<br />
bald eine Selbstverständlichkeit.<br />
Wer einmal keine Zeit<br />
hatte, lieferte dennoch die<br />
Zahlen ab <strong>und</strong> konnte sich<br />
nachher an der Sitzung vertreten<br />
lassen. Beim Project Close wurde<br />
das Change Management<br />
Meeting als sehr gutes Instrument<br />
bewertet.<br />
Zeit<br />
Erleichtertes<br />
Projektmanagement<br />
Mit den einzelnen Workflows<br />
wandelt sich auch das Projektmanagement<br />
durch die Iterationen<br />
gr<strong>und</strong>sätzlich. Nun kann der Projektleiter<br />
zuerst einen groben<br />
Phasen<strong>plan</strong> entwerfen <strong>und</strong> dann<br />
Pläne für die einzelnen Iterationen<br />
erstellen (siehe Abb 2). Für<br />
die Leitung ist das eine deutliche<br />
Vereinfachung, denn sie konnte<br />
ihre Erfahrung bisher kaum<br />
nutzen. Bis <strong>zum</strong> nächsten Projekt<br />
vergingen in der Regel mehrere<br />
Jahre. Inzwischen hatte sich die<br />
Technik gr<strong>und</strong>legend weiterentwickelt<br />
oder das Vorgehen war<br />
schlicht vergessen worden.<br />
Beim iterativen Vorgehen dagegen<br />
muss der Projektablauf nicht<br />
mehr von Anfang an bis ins<br />
Kleinste festgelegt <strong>werden</strong>.<br />
Vielmehr lassen sich die einzel-<br />
Wasserfall-Projekte<br />
Nach Projektbeendigung tritt<br />
ein akuter Wissensverlust ein.<br />
Bei jedem neuen Projekt muss<br />
das Fachwissen jeweils frisch<br />
aufgebaut <strong>werden</strong>.<br />
RUP-Projekte<br />
Bei RUP-Projekten<br />
(Rational Unified Process)<br />
wird neues Fachwissen<br />
auf vorhandenes Wissen<br />
gebaut.<br />
nen Iterationen nach <strong>und</strong> nach<br />
konzipieren. Weil die Planung<br />
damit dem Projektverlauf folgt,<br />
findet sie ebenfalls iterativ statt.<br />
Der Projektleiter befasst sich - wie<br />
alle anderen Beteiligten - immer<br />
wieder mit ähnlichen Aufgaben.<br />
Das Resultat ist auch in diesem<br />
Fall ein Routinegewinn. Darüber<br />
hinaus erlaubt die realisierbare<br />
Planung eine bessere Kontrolle<br />
des Gesamtprojekts.<br />
Nutzen für Projektmitarbeiter<br />
<strong>und</strong> Manager<br />
Durch das iterative Vorgehen bei<br />
den einzelnen Workflows <strong>und</strong> im<br />
Projektmanagement wickelt man<br />
jede Iteration wie ein eigenständiges<br />
Projekt ab. Alle Beteiligten<br />
üben innerhalb eines Projekts<br />
x-mal die Abläufe <strong>und</strong> die Zusammenarbeit<br />
mit den Kolleginnen<br />
<strong>und</strong> Kollegen aus anderen Workflows.<br />
Der Nutzen ist spürbar für
Abb. 2<br />
Lange Phasen in Wasserfall Projekten,<br />
kurze Iterationen bei RUP Projekten<br />
Wasserfall-Projekt<br />
Requirement Eng. UC1 UC2 UC3<br />
Analysis & Design UC1 UC2 UC3<br />
Implement. & Test UC1 UC2 UC3<br />
Phasen Phase 1 Phase 2 Phase 3<br />
RUP-Projekt<br />
Requirement Eng.. UC1 UC2 UC3<br />
Analysis & Design UC1 UC2 UC3<br />
Implement. & Test UC1 UC2 UC3<br />
Iterationen 1 2 3 4 5<br />
Phasen<strong>plan</strong> <strong>und</strong> Iterationspläne<br />
Damit alle Workflows koordiniert ablaufen, muss der Manager das ganze<br />
Projekt in handliche Iterationen aufteilen. Dabei ist zu beachten, dass<br />
Iterationen einen anderen Charakter haben als Phasen. Iterationen betonen<br />
das repetitiv gleichartige Vorgehen, also den Prozess. Phasen<br />
hingegen sind eigenständige Projektabschnitte, die sich wesentlich<br />
voneinander unterscheiden. Der Rational Unified Process kennt vier<br />
Phasen, die jeweils in ein bis vier gleichartige Iterationen aufgeteilt<br />
<strong>werden</strong>. Der Phasen<strong>plan</strong> wird zu Beginn des Projekts erstellt, die<br />
Planung für jede Iteration jedoch - als zentrale Aufgabe des Managers -<br />
während der unmittelbar vorangehenden.<br />
ERNI Consulting AG<br />
Talstrasse 82 · CH-8001 Zürich · Tel. +41 1 215 42 00<br />
Zentralstrasse 7 · CH-6002 Luzern · Tel. +41 41 227 35 00<br />
info@erni.ch · http://www.erni.ch<br />
alle Projektmitarbeiter wie auch<br />
für die Manager. Diese äussern<br />
sich zufrieden über die reibungslose<br />
Teamarbeit. Sie wissen es zu<br />
schätzen, dass die Zeitpläne besser<br />
eingehalten <strong>werden</strong> <strong>und</strong> die<br />
Teams bereit sind, nachträgliche<br />
Änderungen am Funktionsumfang<br />
eher zu berücksichtigen.<br />
Für die Projektmitarbeiter ist die<br />
Arbeitsbelastung konstanter, Spitzenbelastungen<br />
treten weniger auf.<br />
Damit ist das Team am Projektende<br />
nicht völlig ausgelaugt,<br />
sondern bereit für das nächste<br />
Vorhaben.<br />
Dr. Rudolf Mattmann<br />
Dipl. El.-Ing. ETH<br />
ERNI Consulting AG<br />
Zürich