Zu Beginn wird von dem Projektleiter (Projektverantwortlicher) ein Projektplan erstellt. In dieser ersten Version des Projektplans müssen alle Aktivitäten enthalten, sowie gewisse Abschätzungen bezüglich Dauer und Aufwand des Projekts aufgenommen werden. Fällt die Entscheidung für die Ausführung des Projekts, so muß dann der eigentliche Projektplan von dem Projektleiter erstellt werden. Er muß sich dabei mit verschiedenen anderen Personen oder Personengruppen beraten.
Bei größeren Projekten muß eine Teilung in einen Gesamtprojektplan und in Detailprojektpläne vorgenommen werden.
Der Gesamtprojektplan sollte unter anderem folgende Informationen enthalten:
Eine Beschreibung der Aufgabenstellung des Projekts
Die verwendete Entwicklungsmethode
Festlegung von Hauptmeilensteinen
Eine Zerlegung des Gesamtprojekts in Teilprojekte (für die es jeweils einen Detailprojektplan gibt)
Einen Zeitplan mit den wichtigsten Terminen
Wichtige zeitliche Abhängigkeiten (Netzplan)
Eine Personalübersicht
Eine Übersicht über die benötigten Ressourcen (Betriebsmittel, usw)
Ein Detailprojektplan sollte enthalten:
Eine Zerlegung des (Teil-) Projekts in Teilaufgaben
Eine kurze Beschreibung dieser Teilaufgaben und ihrer Endprodukte
Start- und Fertigstellungstermine für die Teilaufgaben
Zuordnung der Verantwortlichkeit für die einzelnen Teilaufgaben
Zuteilung von Ressourcen zu den einzelnen Teilaufgaben bzw. zu den verantwortlichen Personen
Ein Projektplan entwickelt sich im Laufe eines Projekts schrittweise:
Zu Beginn wird ein Übersichtsprojektplan mit den Hauptmeilensteinen erstellt. Die erste Version des eigentlichen Projektplans enthält dann eine genaue Planung aller Schritte bis zum nächstfolgenden Meilenstein, bei dem die nächste Version des Projektplans fällig ist, die dann weitere genaue Planungen enthält.
Die Definition eines Meilensteines in einem Projektplan muß drei Punkte enthalten:
Die Produkte, die zu diesem Meilenstein fertig sind
Den Termin für diesen Meilenstein
Die Kontrollverfahren, die auf die Produkte des Meilensteins angewandt werden
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.
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.
Der Zyklus beginnt mit den wesentlichen Anforderungen.
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.
Der Plan muß zuerst in Schlüsselelemente zerlegt werden.
Vom Groben ins Detail - Work Breakdown Structure
Die Größe jedes Produktes ist geschätzt.
Die benötigten Ressourcen sind geplant.
Der Zeitplan wird produziert.
Die Elemente des Softwareprojektplans sind:
Ziele: Sie beschreiben was von wem wie und wann gemacht wird.
Work Breakdown Structure (WBS): Die WBS zerlegt das Projekt in Teile die alle definiert, geschätzt und verfolgt werden können.
Produktgrößenschätzung: Schätzung zu der Produktgröße. Einbezogen werden auch Erfahrungen von früheren Projekten.
Ressourcenschätzung: Schätzung zu den benötigten Ressourcen. Es fließen auch Erfahrungen ein bezüglich des Produktionsfaktors.
Projekt-Zeitplan: Basierend auf die Projektbelegschaft- und Ressourcenschätzungen. Ein Zeitplan für die Teilpläne wird erstellt.
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 Anderungen die nachfolgenden Objekt
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.
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.
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:
Zählen der Eingaben, Ausgaben, Nachfragen, Hauptfelder, und der benötigten Schnittstellen.
Multiplizieren der Zahlen mit den folgenden Faktoren:
Eingaben |
|
Ausgaben |
|
Nachfragen |
|
Hauptfelder |
|
Schnittstellen |
|
Ausgleichen der Summen auf +/-25% abhängend von der geschätzten Komplexität des Projektes.
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.
Koordinator präsentiert jeden Experten die Spezifikation und ein Schätzformular
Treffen aller Experten zur Diskussion der Aufgabenstellung und der Schätzung
Die Experten füllen unabhängig voneinander die Schätzformulare aus
Der Koordinator verteilt eine Zusammenfassung der Schätzungen auf einem Wiederholformular
In einem Gruppentreffen werden die Punkte mit unterschiedlicher Expertenmeinung diskutiert
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).
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 ²) |
|
|
|
ruhiger Arbeitsplatz |
|
|
|
privater Arbeitsplatz |
|
|
|
stilles Telefon |
|
|
|
Umleitung der Telefonate |
|
|
|
unnötige Unterbrechungen |
|
|
|
Gefühl der Anerkennung |
|
|
|
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.
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:
Identifizieren einer Anzahl von bereits vorhandenen Programmen die vergleichbar mit dem Projekt sind.
Daten über die Größe des Codes zu bekommen.
Für veränderte Programme sollte nur der Prozentsatz des veränderten Codes und die Nummer der Codelinie aufgezeichnet werden.
Erhalten der Mannmonate für das Projekt.
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. Anderung sind meist erforderlich.
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
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
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.
Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen