Das Problem
Die im Rahmen eines Angebotes erforderliche Aufwandsschätzung benötigt oft mehr Zeit, als zur Verfügung steht. Pauschale Angebote mit Stundensätzen und der Verweis auf ein zunächst zu erstellendes Pflichtenheft finden jedoch zu Recht wenig Gefallen beim Kunden. Mit dem bestätigten Angebot stehen Leistungsumfang, Lieferdatum und Kostenrahmen oft im wesentlichen fest. Doch ebenso oft entwickeln und verändern sich die Anforderungen erst im Laufe des Projektes, erfahrene Projektleiter sprechen von 30 bis 50%.
Agiles Projektmanagement in der Softwareentwicklung
Pragmatische Verfahren helfen durch verstärkte Einbindung des Kunden und schrittweises Vorgehen, diesen Widerspruch zu lösen. Sie gehen von folgenden Voraussetzungen aus:
-
Die handelnden Personen und deren Zusammenarbeit bei der Zielerreichung sind für den Erfolg wesentlicher als Tools und Methoden
-
Funktionierende Lösungen sind wichtiger als eine lückenlose Dokumentation
-
Das einvernehmliche Ändern überholter Anforderungen hat Priorität gegenüber bloßer Vertragserfüllung
-
Die Reaktion auf veränderte Anforderungen geht vor Erfüllung eines starren Projektplanes
-
Die vorgenommenen Änderungen werden kurzfristig ausgeliefert und vom Kunden hinsichtlich der Benutzbarkeit bewertet
Diese Verfahrensweise bedingt eine tägliche, enge Zusammenarbeit und direkte Kommunikation zwischen Kunden, Projektleitern und Entwicklern, die ein sich selbst organisierendes Team bilden. Die Dynamik im Projekt wird als alltäglicher Faktor akzeptiert - und nicht als Störung der Projektziele empfunden.
Dabei werden die Anwendungen zunächst mit Grundfunktionalitäten entwickelt, am besten unter Verwendung modularer Komponenten (Rapid Prototyping) und später spezielle Anforderungen in kurzen Schritten hinzugenommen.
Einsatz von Komponenten
Der Einsatz fertiger Komponenten bildet eine sichere Basis, weil diese in Ihrer erprobten Funktionalität bereits feststehen und dokumentiert sind. Man muss also nicht bei Null beginnen. Grundfunktionen stehen sofort zur Verfügung. Sie bilden die Grundlage des Kick-Off Workshops. Darin werden eventuelle Abweichungen bzw. Erweiterungen definiert. Einfache Lösungen haben dabei den Vorrang. Jede Modifikation wird gründlich auf deren Notwendigkeit und Nebenwirkungen hin geprüft.
Anforderungsmanagement
Im Rahmen des Workshops werden die Anforderungen festgelegt, und auf Schlüssigkeit und Widerspruchsfreiheit geprüft. Die Abnahmekriterien werden anhand von identifizierbaren Merkmalen bestimmt.
Im weiteren gilt es die Anforderungsliste im Blick zu behalten. Einzelne Anforderungen werden u.U. an verschiedene Teams oder auch extern vergeben. Der Status ist zu kontrollieren und Abhängigkeiten zu beachten. Die Priorisierung stellt die Konzentration auf die für die Lösung relevanten Leistungsmerkmale sicher.
Extreme Programming
Hier liegt der Schwerpunkt des agilen Prozesses auf der Programmierung. Der Projektleiter auf Kundenseite wird direkt in den Entwicklungsprozess eingebunden, möglichst im Team vor Ort - zumindest mit direkten Zugriff auf das zur Verwaltung eingesetzte System. Er kann so alle auftretenden Fragen sehr kurzfristig klären und es gibt weniger Verluste bei der Übermittlung der Informationen. Diese Vorgehensweise setzt jedoch einen von der fachlichen Kompetenz und Entscheidungsfähigkeit her voll handlungsfähigen Projektleiter auf Kundenseite voraus.
Die Realisierung erfolgt in sehr kurzen Schritten, so werden Fehlentwicklungen vermieden. Möglicherweise erforderliche Fallbacks betreffen immer nur wenige Iterationen. Der Kunde erhält zu jeder Iteration ein lauffähiges System (build to date). Das begrenzt das Risiko für Kunden und Dienstleister. Natürlich entsteht hier ein gewisser zusätzlicher Aufwand. Doch dieser bleibt gering verglichen mit den Kosten von Fehlentwicklungen über einen längeren Zeitraum.
Der Blick auf das bereits gemeinsam geschaffene vermittelt Zufriendenheit - und Sicherheit hinsichtlich der Lösung der ebenso transparenten Defizite. Gleichzeitig steigt durch das gemeinsame Vorgehen die Akzeptanz der Lösung.
Scrum
Diese Vorgensweise stammt aus dem Sport. Dort wird im Rugby die Teambesprechung vor dem nächsten Spielzug so bezeichnet. Entsprechend wichtig sind hier die täglichen zu festen Angangs- und Endterminen (!) stattfindenden Besprechungen. Die Teilnehmer konzentrieren sich auf die Fragen
-
Was wurde seit dem letzten Treffen erledigt
-
Was hat mich dabei behindert
-
Was nehme ich mir bis zum nächsten Scrum vor
So werden Synergien oder auch Konflikte schnell deutlich. Diskussionen über technische Einzelheiten sind nicht Bestandteil des Scrum. Das Team arbeitet mit einer priorisierten Aufgabenliste, die die Projektleiter (Scrum Master) auf beiden Seiten gemeinsam pflegen. Hier werden in festen Intervallen (Sprints, ca. 2-4 Wochen) gemeinsam (Sprint Planning Meeting) die nächsten Aufgaben festgelegt und Rückstände (Backlogs) ermittelt. Während der Sprints arbeitet das Team weitgehend störungsfrei. Wärend der Sprints bleibt die Teamzusammensetzung konstant. Idealerweise wird dieses vorgehen mit bewährten Methoden wie Pair Programming und Unit Tests kombiniert. Es werden jedoch keine speziellen Verfahren vorgeschrieben.

Fazit
Agile Prozesse werden von den Entwicklern sehr gut angenommen. Sie entsprechen ihrer natürlichen Vorgehensweise.
-
Wesentliche Aufgaben werden früher erledigt
-
die Auslastung ist gleichmäßiger
-
die Produktivität steigt
-
Überlastung zu Projektende wird vermieden
Probleme haben eher die Projekt- und Kostenverantwortlichen auf beiden Seiten. Agile Prozesse erfordern eine agile Preisgestaltung. Auswege bietet z.B. ein iteratives Festpreis-Modell. Dabei vereinbaren die Beteiligten jeweils auf der Basis der Erfahrungen der letzten Stufen einen Festpreis für die nächste Iteration. Ähnlich wie bei den technischen Anforderungen
-
steigt dabei die Sicherheit, richtig zu liegen.
-
Unnötige Ausgaben werden vermieden.
-
Die Projektlaufzeiten werden verkürzt.
Die neuen Anforderungen können also durch eine enge Zusammenarbeit überwunden werden. Gelingt dies, bestehen beste Voraussetzungen, daß am Ende auch jeder Einzelne seine Erwartungen erfüllt sieht.
Quellen: