Software Projektplanung

1 Software Projektplanung


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 muss dann der eigentliche Projektplan von dem Projektleiter erstellt werden. Er muss sich dabei mit verschiedenen anderen Personen oder Personengruppen beraten.
Bei größeren Projekten muss 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 muss 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

2 Der Projektplan

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.

2.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.

2.1.1 Der Planungszyklus

    Der Zyklus beginnt mit den wesentlichen Anforderungen. Die Antwort auf die Frage einer Verpflicht muss lauten:
Ich verstehe ihre Anforderungen und werde einen Plan mit diesen Zielen entwickeln aber keinen wirklichen Plan. Ich kann keine Verpflichtung eingehen.
    Der Plan muss 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.

2.2 Inhalte des Projektplans

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.

2.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 muss 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

2.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.

2.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.

2.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:
    Zählen der Eingaben, Ausgaben, Nachfragen, Hauptfelder, und der benötigten Schnittstellen. Multiplizieren der Zahlen mit den folgenden Faktoren:
Eingaben
4
Ausgaben
5
Nachfragen
4
Hauptfelder
10
Schnittstellen
10
    Ausgleichen der Summen auf +/ - 25% abhängend von der geschätzten Komplexität des Projektes.

2.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).

2.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%


2.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.

2.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:
    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.

2.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.

2.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

2.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 muss 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

2.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.

1490 Worte in "deutsch"  als "hilfreich"  bewertet