Software-Projektmanagement Björn Lohrmann Software Engineering Projekt Technische Universität Berlin WS 2007/2008 February 1, 2008 Software-Projektmanagement 1/29
Gliederung Gliederung des Vortrags: Begriffe Projekt und Projektmanagement Projektphasen: Projektstart Projektplanung Projektdurchführung Projektabschluss (nicht betrachtet) Software-Projektmanagement 2/29
Outline 1 Einführung 2 Projektstart Vorstudie Projekteinrichtung Projektdefinition 3 Planungsphase Allgemeines Milestones, Deliverables Projektstrukturplan Größen- und Aufwandsschätzungen Aktivitätenplanung Kostenplan 4 Projektdurchführung Kontrolle Steuerung Software-Projektmanagement 3/29
Einführung Was zeichnet Projekte aus? Definierte Ziele Zeitliche Begrenztheit Komplexität Einmaligkeit der Bedingungen (Ziele, Ressourcen, Umfeld,... ) Software-Projektmanagement 4/29
Einführung Typische Phasen eines Projektes: 1 Projektstart 2 Projektplanung 3 Projektdurchführung 4 Projektabschluss Figure: Quelle:[HH06] Software-Projektmanagement 5/29
Einführung Woraus besteht Projektmanagement? 1 Planung 2 Steuerung 3 Kontrolle Figure: Quelle:[HH06] Software-Projektmanagement 6/29
Outline 1 Einführung 2 Projektstart Vorstudie Projekteinrichtung Projektdefinition 3 Planungsphase Allgemeines Milestones, Deliverables Projektstrukturplan Größen- und Aufwandsschätzungen Aktivitätenplanung Kostenplan 4 Projektdurchführung Kontrolle Steuerung Software-Projektmanagement 7/29
Projektstart Der Projektstart ist eine Phase, kein Zeitpunkt. Ausgangssituation: Idee, etwas soll getan werden Unterphasen des Projektstarts: 1 Vorstudie 2 Projekteinrichtung Software-Projektmanagement 8/29
Projektstart: Vorstudie Ziele: Grobe Ziele festlegen (Beginn Anforderungsanalyse) Technische und wirtschaftliche Machbarkeit Grobe Projektplanung (Milestones und Deliverables ) Projektantrag Beteiligte Personen: Vorläufige Projektleitung Software-Projektmanagement 9/29
Projektstart: Projekteinrichtung Ziele: Kernteam bilden Ziele verfeinern (Fortsetzung Anforderungsanalyse) Lastenheft aufstellen (falls noch nicht bestehend) Projektplan verfeinern Zum Ende: Vollständiges Projektteam bilden Beteiligte Personen: Projektleitung, Kernteam Software-Projektmanagement 10/29
Projektstart: Projektdefinition Zentrales Ergebnis Projektstartphase: Projektdefinition Wichtige Bestandteile: Projektmotivation Projektziele Produkte und Projektergebnisse Projektstrategie Projektorganisation Mitwirkungspflichten des Auftraggebers Einheitliches Wissen über Ziele, Ergebnisse und Vorgehensweise unter Stakeholdern! Software-Projektmanagement 11/29
Outline 1 Einführung 2 Projektstart Vorstudie Projekteinrichtung Projektdefinition 3 Planungsphase Allgemeines Milestones, Deliverables Projektstrukturplan Größen- und Aufwandsschätzungen Aktivitätenplanung Kostenplan 4 Projektdurchführung Kontrolle Steuerung Software-Projektmanagement 12/29
Planungsphase: Allgemeines Ausgangspunkt Projektdefinition: Festgelegter Projektumfang Grober Plan mit Milestones und Deliverables Ziel: Detaillierter Plan für die nächsten Milestones Detaillierter Plan besteht aus: Milestones, Deliverables Projektstrukturplan (engl.: "work breakdown structure") Größen- und Aufwandsschätzungen Aktivitätenzeitplan Kostenplan Software-Projektmanagement 13/29
Planungsphase: Milestones, Deliverables Ein Meilenstein ist ein messbares, bedeutendes Projekt-Ereignis. Beispiel: Fertigstellung eines Deliverable, wie z.b. eines Prototyps oder Dokuments Graphische Darstellung: Software-Projektmanagement 14/29
Planungsphase: Projektstrukturplan Hierarchische Darstellung Vollständig (PM, QS, CM, Prototypen,...) Sukzessive Zerlegung von Deliverables Zerlegung endet bei handhabbaren "work packages" Graphische Darstellung z.b. als Mindmap: 5.2.1) Reviewtes Pflichtenheft 5.2) Anforderungsanalyse 5.2.2) Anforderungstickets 5.2.3) Implementationstickets 5.3) Integrationstests ent ent ng ten Studenten Web-Client 5) 1. Prototyp 5.4) Systemtests 5.5) Debugging 5.6) Demo-Vorbereitung 5.7) Unit-Tests 5.8) Implementation 6) 2. Prototyp 7) 3. Prototyp Software-Projektmanagement 15/29
Planungsphase: Projektstrukturplan Was ist ein work package? Resultat von einer Menge Aktivitäten Aufwand nicht zu klein ( Kontrollaufwand) und nicht zu groß ( Fortschrittskontrolle) Schätzbar Messbar ( Fortschrittskontrolle) Beispiel: 5.2.1) Reviewtes Pflichtenheft Software-Projektmanagement 16/29
Planungsphase: Größen- und Aufwandsschätzungen Work packages aus PSP sollten in ihrer Größe und Aufwand geschätzt werden. Vorgehen: Zuerst Größe ( LOC, Module,... ) und dann Zeitaufwand schätzen Grundsätzliche Regeln für Schätztechnik: Feste Methodik verwenden Nachvollziehbarkeit Falls möglich: Basierend auf quantitativen Vergangenheitsdaten Schätzer sind Experten bzw. spätere Bearbeiter Gruppen statt Einzelpersonen Software-Projektmanagement 17/29
Planungsphase: Aktivitätenplanung Aktivitätenzeitplan enthält alle Projektaktivitäten. Erstellungsschritte: 1 PSP work package eine/mehrere Aktivität(en) 2 Abhängigkeiten 3 Aufwände 4 Ressourcen Schritte werden ggf. iteriert bis Terminziele erfüllt Verbreitete Zeitplanungstechniken: Balkendiagramme (engl. Gantt-Chart) Netzplantechnik Software-Projektmanagement 18/29
Planungsphase: Aktivitätenplanung Balkendiagramme (engl. Gantt-Chart): Aktivitäten als Balken auf Zeitleiste Abhängigkeiten als Pfeile Eigenschaften: einfach, meist übersichtlich, niedrigere Informationsdichte als Netzplan Software-Projektmanagement 19/29
Planungsphase: Aktivitätenplanung Netzplan ist Graph, wobei: Knoten = Aktivität Kante = Abhängigkeitsbeziehung zwischen Aktivitäten Aufbau Netzplan-Knoten: Planungsschritte mit Netzplan: Vorwärtspass Frühester/s Anfang und Ende Rückwärtspass Spätester/s Anfang und Ende Kritischen Pfad bestimmen Software-Projektmanagement 20/29
Planungsphase: Aktivitätenplanung Software-Projektmanagement 21/29
Planungsphase: Aktivitätenplanung Kritischer Pfad: Pfad wo Gesamtpuffer Null ist Konsequenz: Störungen auf Pfad beeinflussen Endtermin! Software-Projektmanagement 22/29
Planungsphase: Kostenplan Bestandteile des Kostenplans: Personalkosten (Aufwand Personalkostensatz) Sachmittel, Schulungen, Berater,... Erwarteter Geldfluss Daraus abgeleitet: Finanzierungsanforderungen auf Zeitachse Kosten/Geldfluss werden über Zeit modelliert! Software-Projektmanagement 23/29
Outline 1 Einführung 2 Projektstart Vorstudie Projekteinrichtung Projektdefinition 3 Planungsphase Allgemeines Milestones, Deliverables Projektstrukturplan Größen- und Aufwandsschätzungen Aktivitätenplanung Kostenplan 4 Projektdurchführung Kontrolle Steuerung Software-Projektmanagement 24/29
Projektdurchführung: Aktivitäten hier: Planungsverfeinerung- und anpassung Kontrolle: Fortschrittskontrolle Steuerung: Adressierung von Problemen Figure: Quelle:[HH06] Software-Projektmanagement 25/29
Projektdurchführung: Kontrolle Hauptinstrument: Fortschrittsüberwachung Aktivitätenebene Projektebene Wechselwirkung der Kontrolle mit anderen Aktivitäten: Stößt Steuerungsaktivitäten an. Bsp.: Anpassungen im Plan Programm-Feature weglassen Software-Projektmanagement 26/29
Projektdurchführung: Steuerung Je nach Problem kann steuernd eingegriffen werden: Terminproblem Lsg-Bsp.: Am kritischen Pfad kürzen, Überlappung von Aktivitäten Kostenproblem Lsg-Bsp.: Weniger Funktionalität, Qualität / Neuen Kostenplan verhandeln Funktionalitätsproblem Lsg-Bsp.: Projektexterne Experten, Zukauf von Komponenten Qualitätsproblem Lsg-Bsp.: Verstärktes Testen Alle Lösungansätze bieten Chancen und Risiken Software-Projektmanagement 27/29
Fragen und Diskussion Unklarheiten Fazit Sacat-Projektmanagement: Was ist gut gelaufen? Was ist schlecht gelaufen? Software-Projektmanagement 28/29
Wichtigste Quellen [HH06] [HuCol] Hindel, Hörmann, Müller, Schmied: "Basiswissen Software- Projektmanagement", 2. Auflage, dpunkt.verlag Gmbh, 2006 Bob Hughes, Mike Cotterell: "Software Project Management", 4. Auflage, McGraw-Hill Education, 2006 Software-Projektmanagement 29/29