„Ein gutes Projektmanagement basiert auf einem zielgerichteten Phasenmodell, beziehungsweise Vorgehensmodell. Dieses standardisiert die ablauforganisatorische Gestaltung des Vorgehens.“ [30]
Da es in der Softwareentwicklung unmöglich ist, ein universelles Vorgehensmodell (Denkansatz, wie ein Projekt durchgeführt wird), aufgrund der zu vielen Variablen, zu finden, sollte zu jedem Projekt ein individuelles Vorgehen bestimmt werden, nach dem das Projekt durchgeführt werden soll.
Abbildung 2.1: Der Aufbau der Ablauforganisationsplanung
Die Ablauforganisation von Projekten besteht grundsätzlich aus einem Vorgehensmodell (kann aus Grundmodellen abgeleitet sein), welches den Ablauf des Projektes in den Grundzügen regelt. Innerhalb des Vorgehensmodells befinden sich Phasen, welche aus Phasenmodellen (siehe 2.3) aufgebaut sein können oder davon abgeleitet sind und sich in ihrer Ausrichtung an dem Vorgehensmodell orientieren. Die Phasen geben grob vor, was in welchem zeitlichen Abschnitt im Projektzyklus jeweils zu tun ist. Die einzelnen Phasen wiederum beinhalten Prozesse, Methoden und Richtlinien, welche konkrete Vorgaben vermitteln, die zeigen, auf welche Art was zu tun ist. Eine Illustration dazu findet sich in der Abbildung 2.1 auf der Seite 16.
Da die konkrete Betrachtung der Ablauforganisationsplanung den Rahmen dieser Arbeit sprengen würde, werden lediglich die für diese Arbeit jeweils wichtigen und relevanten In-halte behandelt.
Zum Thema Ablauforganisationsplanung können die Bücher [SOMMERVILLE12], [BALZERT98] und die Dissertation [GNATZ05] empfohlen werden. Zum Thema Prototyping im IT-Projekt wird [NIELSON93] empfohlen.
„Eine planvolle, systematische Beschreibung der einzelnen Prozessschritte wird als Vorgehensmodell bezeichnet. […] In Vorgehensmodellen wird der organisatorische Ablauf für die Entwicklung eines IT-Systems beschrieben. Im Vordergrund steht die Frage: ‚Was ist wann zu tun?‘ “ [31]
Ein Vorgehensmodell ist eine Abstraktion einer vorgeschlagenen Vorgehensweise für ein konkretes Projekt. Bedingt dadurch existiert eine große Anzahl an Vorgehensmodellen mit ihren möglichen Ausprägungen (konkrete Vorgehen werden im Kapitel 2.2 behandelt). Die Hauptintention von Vorgehensmodellen kann auf die Effizienzsteigerung und auf die Nachvollziehbarkeit von Projekten reduziert werden.[32]
„Das Vorgehensmodell selbst kann als ein übergeordneter Plan angesehen werden, der Vorgehensweisen, Richtlinien, Empfehlungen und Prozessbeschreibungen enthält, die dann auf ein konkretes Projekt übertragen werden können.“ [33]
Vorgehensmodelle stellen eine Wiederholbarkeit und Nachvollziehbarkeit eines Ablaufprozesses sicher. Dabei gewährleisten sie die Qualität und Vollständigkeit der Projektergebnisse. Durch einheitliche Begriffe und Ereignisse tragen Vorgehensmodelle zur besseren Kommunikation aller Projektbeteiligten bei.[34]
In diesem Abschnitt wird eine Auswahl an passenden Vorgehens-Grundmodellen vorgestellt, die für die Webentwicklung wichtig sind (siehe Abbildung 2.2). Die Vorgehensmodelle werden dabei nicht umfassend untersucht, sondern es wird lediglich eine kurze Beschreibung der wesentlichen Eckdaten dargestellt, wie deren Unterschiede untereinander und die jeweiligen Verwendungsvorschläge.
Abbildung 2.2: Minimalistische Illustration der Vorgehens-Grundmodelle
Bei den sequenziellen Vorgehensmodellen, auch lineare Vorgehensmodelle genannt, werden die definierten Projektphasen chronologisch angeordnet und streng abgegrenzt voneinander durchlaufen. Die Idee hinter diesen Modellen ist, dass die Phasen Schritt für Schritt durchlaufen werden; dabei muss eine Phase zunächst abgeschlossen sein, bevor die nächste Phase angefangen werden kann. Das bedeutet allerdings auch, dass spätere Änderungen oder Erkenntnisse keinen Einfluss mehr auf die bereits abgeschlossenen Phasen haben. Daher ist es wichtig, dass die Zwischenergebnisse (Phasenprodukte) valide und gut vorgeplant worden sind. Der typischste Vertreter dieses Vorgehensmodells ist das erweiterteWasserfall-Modell (auch Schleifenmodell genannt, siehe 2.2.2) und das
V-Modell (siehe 2.2.4).[35]
Sollten sich im Laufe der Entwicklung Anforderungsänderungen ergeben, so muss für die Änderungen die Prozesskette noch einmal komplett vom Punkt der Veränderung bestritten werden. Aus diesem Grund ist bei diesem Vorgehensmodell wichtig, dass die Eigenschaften und Funktionen (Anforderungen) möglichst im Vorfeld abgeklärt worden sind. Daher wird in diesem Verfahren viel Wert auf eine gründliche Projektstartphase gelegt.
Auch bei einer gründlichen Projektplanung kann es vorkommen, dass Anforderungsänderungen sich im Laufe eines Projektes ergeben. Diese sind in diesem Vorgehen zeitintensiver als beispielsweise evolutionäre Vorgehensweisen und sind daher nach Möglichkeit zu vermeiden.[36]
Vorteile
Einfacher und gut überwachbarer Projektablauf für alle Projektbeteiligten
Sehr gute Strukturierung und Dokumentation vom Projekt
Relativ einfache Gestaltung von Projektverträgen[37]
Sehr gute Skalierbarkeit
Geringes Kosten- und Zeitrisiko für den Auftraggeber
Widerspruchsfrei - anders als andere Vorgehensmodelle[38]
Nachteile
Spätere Anwender werden nur zu Beginn und zum Ende des Projekts eingebunden
Sichtbare Ergebnisse sind erst spät im Projektverlauf sichtbar
Es müssen früh weitreichende Festlegungen getroffen werden
Entwickler wenden oft Tricks in der späteren Implementierung an, um Probleme der ersten Phasen auszumerzen[39]
Niedrige Ressourcenauslastung durch ggf. auftretende Wartezeiten
Nebenläufige Vorgehensmodelle, auch parallele Vorgehensmodelle genannt, sind zwar in ihrer Herangehensweise sequenziell, aber es wird dabei versucht möglichst viele Aktivitäten parallel ausführen zu lassen, um Zeit einzusparen. Dabei können sowohl Entwicklungsaktivitäten, als auch komplette Projektphasen parallelisiert werden. Wie bei den sequenziellen Vorgehensmodellen wird auch hier ein erhöhter Zeitaufwand in die Anfangsplanung des Projektes, sowie in die Ausarbeitung der Anforderungen, gesteckt.
Zu beachten ist, dass die nebenläufigen Vorgehensmodelle einen großen Kommunikations- und Koordinationsaufwand mit sich bringen. Dabei kann es zu einem kaskadenartigen Effekt kommen (Managementaufgaben häufen sich proportional), wobei ganze Teilprojekte still stehen können oder gar komplett scheitern. Daher ist dieses Vorgehensmodell für große oder stark verteilte Projekte nicht zu empfehlen.
Vorteile
Durch Parallelisierung wird die Zielprodukterstellung mittels optimaler Zeitaus-nutzung verkürzt
Relativ einfache Gestaltung von Projektverträgen[40]
Sehr gute Skalierbarkeit
Geringes Kosten- und Zeitrisiko für den Auftraggeber
Der erhöhte Kommunikationsaufwand bringt das Expertenwissen im Team früh voran
Nachteile
Erhöhter Managementaufwand, um die Ressourcen zu planen und ggf. aufzuteilen, sodass Engpässe antizipiert werden können
Spätere Anwender werden nur zu Beginn und zum Ende im Projekt eingebunden
Sichtbare Ergebnisse sind erst spät im Projektverlauf sichtbar
Es müssen früh weitreichende Festlegungen getroffen werden
Entwickler wenden ggf. Tricks in der späteren Implementierung an, um Probleme der ersten Phasen auszumerzen[41]
Bürgt durch das parallele Ausführen zusätzliche Risiken
Dieses Vorgehensmodell ist der Versuch einen Prozess zu bilden, welcher langfristige Planung und frühzeitige Fertigstellung in sich vereint.
„Die inkrementelle Softwareentwicklung ist dadurch gekennzeichnet, dass ein komplexes IT-System in sinnvolle, selbstständig entwickelbare Teile, die nacheinander oder parallel erstellt werden, aufgeteilt wird. Ausgehend...