05.06.2013 Aufrufe

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.

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!