Der Projektplan definiert die Arbeit und wie sie zu machen ist. Er ist versehen mit einer Definition von jeder Hauptaufgabe, eine Schätzung der Zeit und der Ressourcen die benötigt werden sowie eine Rahmenarbeit für die Kontrolle.
Der Projektplan wird am Anfang des Auftrages entwickelt und dann während des Arbeitsprozesses verfeinert. Am Anfang des Projektes sind die Forderungen eher vage und unvollständig.
1.1 Überlegungen zum Planen
Mit wenigen Ausnahmen, sind anfängliche Betriebsmittelschätzungen und Zeitpläne nicht annehmbar. Dies ist nicht auf die Unerfahrenheit der Programmiere zurückzuschließen sondern auf die Benutzer die mehr verlangen als sie benötigen.
Faustregel:
Zeitpläne und Schätzung werden zu hoch wenn nicht die erste Fassung des Planes nur die wesentlichsten Teile beinhaltet.
1.1.1 Der Planungszyklus
1. Der Zyklus beginnt mit den wesentlichen Anforderungen.
2. Die Antwort auf die Frage einer Verpflicht muß lauten:
Ich verstehe ihre Anforderungen und werde einen Plan mit diesen Zielen entwickeln aber keinen wirklichen Plan. Ich kann keine Verpflichtung eingehen.
3. Der Plan muß zuerst in Schlüsselelemente zerlegt werden.
Vom Groben ins Detail - Work Breakdown Structure
4. Die Größe jedes Produktes ist geschätzt.
5. Die benötigten Ressourcen sind geplant.
6. Der Zeitplan wird produziert.
1.2 Inhalte des Projektplans
Die Elemente des Softwareprojektplans sind:
1. Ziele: Sie beschreiben was von wem wie und wann gemacht wird.
2. Work Breakdown Structure (WBS): Die WBS zerlegt das Projekt in Teile die alle definiert, geschätzt und verfolgt werden können.
3. Produktgrößenschätzung: Schätzung zu der Produktgröße. Einbezogen werden auch Erfahrungen von früheren Projekten.
4. Ressourcenschätzung: Schätzung zu den benötigten Ressourcen. Es fließen auch Erfahrungen ein bezüglich des Produktionsfaktors.
5. Projekt-Zeitplan: Basierend auf die Projektbelegschaft- und Ressourcenschätzungen. Ein Zeitplan für die Teilpläne wird erstellt.
1.2.1 Ziele
Die Ziele des Projekts werden während der Bedingungsphase entwickelt. Dies ist auch die Verhandlungsphase in welcher die Softwareentwickler und der Kunde beschreiben was gemacht wird, wie der Erfolg gemessen wird und wieviel Zeit und Ressourcen benötigt werden.
Um weitere Wünsche der Kunden berücksichtige zu können müssen die Entwickler folgende Punkte einhalten:
. Das Produkt muß in kleinen zunehmenden Schritten realisiert werden.
. Auswahl jeder Steigerung zur Unterstützung des Erfolgs und/oder verbessern des Wissens.
. Festlegen der Bedingungen für jeden zunehmenden Schritt vor dem beginnen des Designs.
. Wenn die Bedingungen während der Einführung ändern, verzögern die Änderungen die nachfolgenden Objekt
1.2.2 Die Work Breakdown Struktur (WBS)
Projektplanung beginnt mit der Schätzung von der Größe des Produktes. Diese Schätzung beginnt mit einer detaillierten und dokumentierten Auflistung des Produktes in Arbeitselemente. Die Auflistung besteht aus zwei Elementen die Produktstruktur und der Software Prozeß.
Die Arbeitselemente werden den verschiedenen Abteilungen zugeordnet. Das Ziel der WBS ist es, das Projekt in kleine Teile aufzuteilen um diese dann von kleinen Arbeitsgruppen in der kürzesten Zeit zu erledigen. Generell gilt:
Je detaillierter die WBS ist desto besser können die Produkte geschätzt werden, desto besser ist der Projektplan, desto besser kann man es verfolgen.
1.3 Größenmaßnahmen
Man kann viel über die Softwaregröße diskutieren aber es gibt wahrscheinlich keine optimale Lösung die sämtliche Ziele beinhaltet. Es ist weit verbreitet die Größe des Sourcecodes zu definieren und Berechnungen zu automatisieren. Leider ist es aber oft schwer Zeilen von Funktionen bereits vorher zu beschreiben. Um dieses Problem zu lösen wurde die sogenannten Function Points entwickelt.
1.3.1 Function Points
Mit Function Points sind anfängliche Anwendungen zu bestimmen, sowie die Anzahl und Komplexität der verschiedenen Eingaben und Ausgaben, Kalkulationen und der benötigten Daten.
Vorgangsweise:
1. Zählen der Eingaben, Ausgaben, Nachfragen, Hauptfelder, und der benötigten Schnittstellen.
2. Multiplizieren der Zahlen mit den folgenden Faktoren:
Eingaben 4
Ausgaben 5
Nachfragen 4
Hauptfelder 10
Schnittstellen 10
3. Ausgleichen der Summen auf +/-25% abhängend von der geschätzten Komplexität des Projektes.
1.4 Schätzungen
Aufwandsschätzung ist ein Muß bei jedem Softwareprojekt, da einem leider keine uneingeschränkten Ressourcen (Zeit und Geld) zur Verfügung stehen. Ein weitverbreitetes Schätzverfahren ist die Delphi-Methode.
Experten geben unabhängig voneinander Schätzungen ab. die Ergebnisse werden durch neuerliches Befragen abgeglichen. Das Delphi-Verfahren ist eine generelle Prognose nicht nur für Softwareprojekte.
1) Koordinator präsentiert jeden Experten die Spezifikation und ein Schätzformular
2) Treffen aller Experten zur Diskussion der Aufgabenstellung und der Schätzung
3) Die Experten füllen unabhängig voneinander die Schätzformulare aus
4) Der Koordinator verteilt eine Zusammenfassung der Schätzungen auf einem Wiederholformular
5) In einem Gruppentreffen werden die Punkte mit unterschiedlicher Expertenmeinung diskutiert
6) Die Experten füllen neuerlich unabhängig voneinander die Schätzformulare aus
Die Schritte 4) bis 6) werden so oft wie nötig wiederholt.
Die Schwierigkeit der Aufwandsschätzung steigt mit dem Umfang des Projekts, und sinkt mit dem Projektfortschritt (je fortgeschrittener die Projektphase, desto genauer wird die Schätzung).
1.5 Produktionsfaktoren
Wenn bereits Schätzungen über den verwendeten Sourcecode vorliegen, so können die Werte in Programmierermonaten (Mannmonaten) und die benötigte Zeit umgerechnet werden. Diese Produktionsfaktoren können im Durchschnitt in Mannmonaten produziert werden. Produktionsfaktoren können z.B. die Codewachstumsrate sein.
Umgebungsfaktoren oberen 25% unteren 25% Gesamt
zugeteilte Arbeitsfläche (feet ²) 78 46 63
ruhiger Arbeitsplatz 57% 29% 42%
privater Arbeitsplatz 62% 19% 39%
stilles Telefon 52% 10% 29%
Umleitung der Telefonate 76% 19% 57%
unnötige Unterbrechungen 38% 76% 62%
Gefühl der Anerkennung 57% 29% 45%
1.5.1 Firmenspezifische Produktionsdaten
Firmen können/müssen ihre eigenen Produktionsfaktoren entwickeln. Diese ergeben sich durch das Prüfen von den zahlen der kürzlich erzeugten Programmen, sowie dem Zählen der Codezeilen in einer konsequenten und definierten Art und Weise. Weiters kann man die Faktoren durch kalkulieren der benötigten Mannmonate für ein Projekt erhalten.
1.5.2 Entwicklungsspezifische Produktionsdaten
Seit Softwarefirmen ihre Arbeit generell aufgezeichnet haben ist der erste Schritt in der Entwicklung von Produktionsdaten zu erfahren was vorhanden ist. Mit dieser Information sollte die folgende Annäherung produziert werden:
1. Identifizieren einer Anzahl von bereits vorhandenen Programmen die vergleichbar mit dem Projekt sind.
2. Daten über die Größe des Codes zu bekommen.
3. Für veränderte Programme sollte nur der Prozentsatz des veränderten Codes und die Nummer der Codelinie aufgezeichnet werden.
4. Erhalten der Mannmonate für das Projekt.
1.6 Zeitpläne
Wenn die Anzahl aller benötigten Ressourcen ausgerechnet worden ist kann der Zeitplan entwickelt werden. Die Ressourcen werden dabei über die Entwicklungsphasen verteilt.
Sind einmal die benötigten Betriebsmittel bekannt, so kann ein gesamter Zeitplan wie folgt erstellt werden:
. Basierend auf alle Projektzeitpläne kann ein Angestelltenplan erstellt werden.
. Ein vorbereitender Zeitplan für jede Phase kann durch Vergleich der anwachsenden benötigten Ressourcen erstellt werden. Ein anfänglicher Zeitplan entsteht.
. Dieser vorbereitende Plan wird überholt und die Angestellten können fest zugewiesen werden. Änderung sind meist erforderlich.
1.7 Projektverfolgung
Mehrere Checkpoints müssen für jede Projektphase festgelegt werden. Diese sollten wie folgt lauten:
. Modulspezifikation fertiggestellt und geprüft
. Moduldesign fertiggestellt, geprüft und korrigiert
. Moduleinheit Testplan fertiggestellt, überarbeitet und bestätigt
. Modulcode fertiggestellt, und kompiliert
. Modulcode geprüft und korrigiert
. Modul wird in System integriert
1.8 Der Entwicklungsplan
Nach Erstellung der Schätzung und des Zeitplans wird der volle Entwicklungsplan erstellt und überprüft.
Nach der Vorbereitung wird der Plan in jede eingebundene Stelle geschickt und überprüft und bestätigt. Jede Gruppe muß mit dem Plan einverstanden sein, denn er repräsentiert ihre Verpflichtungen wie und in welche Zeit sie die Arbeit vollbringen. Er beinhaltet:
. Software engineering
. Dokumentation
. Test und Testbericht
. Verpackung und Version
. Tools und Support
. Training
. Installationssupport
. Wartung
. Annahmetest
. Software Qualitätssicherung
1.9 Zusammenfassung
Der Projektplan beinhaltet jede Hauptaufgabe, eine Schätzung der Zeit und der benötigten Ressourcen, und eine Rahmenarbeit für die Überwachung und Kontrolle. Er wird am Anfang jedes Projektes erstellt und während des Projektes verfeinert.
Die Elemente eines Softwareplans sind:
. Ziele
. ein abgerundetes Design
. Work Breakdown Structure (WBS)
. Schätzung der Produktgröße
. Schätzung der Ressourcen
. und ein Projektzeitplan
Nach der Erstellung der Zeitpläne und der Schätzungen wird der Entwicklungsplan erstellt und von jeder Stelle geprüft und abgezeichnet.
|