Softwaretechnik I 9 Projektmanagement Lernziele Software-Projektmanagement verstehen und die unterschiedlichen Eigenschaften beschreiben können Projektplanung und den Planungsprozess verstehen Wissen, wie Zeitpläne im Projektmanagement eingesetzt werden Die Techniken der Projektabwicklung kennen und verstehen 2014 IAS, Universität Stuttgart 387
Softwaretechnik I 9 Projektmanagement 9.1 Grundlagen 9.2 Projektplanung 9.3 Projektabwicklung 9.4 Zusammenfassung 2014 IAS, Universität Stuttgart 388
9.1 Grundlagen Software-Projektmanagement Definition Software-Projektmanagement: Ein Softwareprojekt hinsichtlich der Ziele (Qualität, Kosten und Zeit) und Ressourcen zu planen, zu organisieren, zu führen und zu kontrollieren. Aktivitäten, die dafür sorgen, dass die Software: rechtzeitig und termingerecht gemäß den Anforderungen des Auftraggebers ausgeliefert wird. Projektmanagement wird benötigt, da die Softwareentwicklung immer Zeit- und Budgetrestriktionen unterliegen. 2014 IAS, Universität Stuttgart 389
9.1 Grundlagen Magisches Dreieck Live-Mitschrieb Funktionalität, Effizienz, Zuverlässigkeit, Benutzbarkeit, Änderbarkeit,... Qualität Kosten Entwicklung, Einführung, Einsatz, Wartung Zeit Entwicklung, Einführung, Lebensdauer 2014 IAS, Universität Stuttgart 390
9.1 Grundlagen Projektmanagement und der Softwareprozess Projektziele Softwareprozess Arbeitsprodukte Produkt- und Prozessmetriken korrigierende Aktionen Evaluierung 2014 IAS, Universität Stuttgart 391
9.1 Grundlagen Gründe für das Scheitern von IT-Projekten [Studie der PA Consulting Group, 2004] Häufig: Managementfehler 2014 IAS, Universität Stuttgart 392
9.1 Grundlagen Hauptaufgaben eines effektiven Projektmanagements Erstellung des Angebots Projekt- und Zeitplanung Projektkostenkalkulation Projektüberwachung und Reviews Auswahl und Beurteilung des Personals Präsentation und Erstellen von Berichten Ressourcenmanagement Risikomanagement Kontakt mit dem Kunden 2014 IAS, Universität Stuttgart 393
9.1 Grundlagen Aufgaben zu Projektbeginn Ziele festlegen Produkt(e) definieren Randbedingungen identifizieren Kostenrahmen festlegen Termine grob abschätzen Projektplan entwickeln Abgrenzung des technischen Inhalts Terminplanung Kostenplanung Personalplanung Einsatzmittelplanung Risikomanagement 2014 IAS, Universität Stuttgart 394
9.1 Grundlagen Aufgaben während des Projekts Projektablaufsteuerung Terminüberwachung Einsatzmittelüberwachung Mitarbeiter-Führung Aufgaben nach Projektende Organisation etwaiger Wartungs- bzw. Änderungsprojekte Nachkalkulation Überführung der Management-Daten in das Archiv Personaleinsatzplanung 2014 IAS, Universität Stuttgart 395
9.1 Grundlagen Gemeinsamkeiten mit anderen Projekten Projektmanagementaktivitäten sind nicht speziell für das Softwaremanagement Viele Techniken aus dem Ingenieurwesen sind auch auf das Softwareprojektmanagement anwendbar Technische komplexe Systeme leiden unter den gleichen Problemen wie Softwaresysteme aber Das Softwareprodukt ist immateriell Das Softwareprodukt ist einzigartig flexibel Softwaretechnik wird nicht als Ingenieurdisziplin verstanden Der Softwareentwicklungsprozess ist nicht standardisiert Viele Softwareprojekte sind einmalige Projekte 2014 IAS, Universität Stuttgart 396
9.1 Grundlagen Projektmanagement ist keine isolierte Disziplin! Projekt planen und kontrollieren PM Voraussetzungen und Softwareentwicklungsumgebung bereitstellen Ist- Daten Plan- Daten SEU Plan- Daten Ist- Daten SEU Plan- Daten Ist- Daten SEU QS-Ergebnis Qualitätsanforderungen vorgeben SWE Produkt entwickeln Produktstruktur planen Produkte prüfen QS Konfigurationsstruktur Qualitätsanforderung Produkt Recht, Relation Produkt Produkte/ Rechte/ Relationen verwalten KM Vorgehensmodell 2014 IAS, Universität Stuttgart 397
Fragen zur Vorlesung Frage zu 9.1 Welchen Aussagen stimmen Sie zu? Softwareprojekte scheitern oft wegen Managementfehlern Für die termingerechte Durchführung einer Aktivität ist das Projektmanagement verantwortlich Zu Projektbeginn muss festgelegt werden, welche Arbeitspakete von welcher Person bearbeitet werden Softwareprojekte sind schwerer zu managen als andere Projekte 2014 IAS, Universität Stuttgart 398
Softwaretechnik I 9 Projektmanagement 9.1 Grundlagen 9.2 Projektplanung 9.3 Projektabwicklung 9.4 Zusammenfassung 2014 IAS, Universität Stuttgart 399
9.2 Projektplanung Vorbereitung von Projekten Aufgaben Festlegen oder Anpassen einer Projektorganisation Identifikation der individuellen Schritte bei der Projektdurchführung auf der Grundlage eines Vorgehensmodells Identifikation der Projektergebnisse Festlegen der Projektstruktur Kosten- und Aufwandsschätzung 2014 IAS, Universität Stuttgart 400
9.2 Projektplanung Aufwandsschätzung: COCOMO-Verfahren Empirisches Modell, welches auf Projekterfahrung basiert COCOMO-Schätzverfahren (COnstructive COst MOdel) Software ohne Schnittstelle zu vorhandenem System PM = 2,4 x (KLOC) 1,05 KLOC Kilo Lines of Code PM Personen Monate Software mit wenig Schnittstellen zu vorhandenen Systemen PM = 3,0 x (KLOC) 1,12 Software, die sich in vorhandene Systeme einpassen muss PM = 3,6 x (KLOC) 1,20 2014 IAS, Universität Stuttgart 401
9.2 Projektplanung Aufwandsschätzung: COCOMO II - Verfahren Weiterentwicklung des COCOMO-Verfahrens Angepasst an den Ablauf heutiger Softwareprojekte Abschätzung der effektiven Softwaregröße in Abhängigkeit von sich ändernden Anforderungen wiederverwendeten Softwareanteilen und der dazu nötigen Auswahl und Anpassungen Erfahrung des Projektteams im Anwendungsbereich Zwei Submodelle zur Berechnung des Aufwands während der Implementierung ( Post-Architecture Model ) detailliertes Wissen nötig (über 20 Einflussfaktoren) in frühen Phasen ( Early Design Model ) vereinfacht auf 12 Einflussfaktoren 2014 IAS, Universität Stuttgart 402
9.2 Projektplanung Aufwandsschätzung: COCOMO II Vereinfachte Formeln Effektive Softwaregröße in KLOC: Gesamtumfang = (1 + (A / 100)) * (Code neu + Code äquivalent ) Code äquivalent = Code anzupassen * (1 (B / 100)) * C A Größenänderung durch Änderung der Anforderungen [%] B Anteil von automatisiert transformierbarem Code [0%-100%] C Faktor zur Berücksichtigung von Projektteam, Wiederverwendung und den dazu nötigen Anpassungen Aufwand für durchschnittliches Projekt nach dem Early Design Model : Aufwand Aufwand Auto = 2,94 * Gesamtumfang 1,15 + Aufwand Auto = (Code anzupassen * (B / 100)) / D D Produktivität der automatisierten Code-Transformation [KLOC / PM] 2014 IAS, Universität Stuttgart 403
9.2 Projektplanung Beispiel: Aufwandsschätzung Sie wollen ein neues DV-System erstellen, bei dem Sie mit etwa 34 000 neu zu erstellenden Quellcodezeilen rechnen. Dazu kommen 10 000 Quellcodezeilen die wiederverwendet und dazu angepasst werden müssen. Diese Anpassungen können zu 60% automatisiert bei einer Produktivität von 2,4 KLOC pro PM durchgeführt werden. Sie schätzen den Einfluss durch geänderte Anforderungen eher gering ein (5%). Ihr Projektteam und die nötigen Anpassungen schätzen Sie als durchschnittlich ein (Faktor 0,7). (Erfahrungswerte!) Mit den vereinfachten Formeln schätzen Sie zunächst den Gesamtumfang in KLOC und darauf aufbauend den Aufwand in Personen-Monaten Code äquivalent = 10 * (1 (60 / 100)) * 0,7 = 2,8 KLOC Gesamtumfang = (1 + (5 / 100))*(34 + 2,8) = 38,64 KLOC Aufwand Auto = (10 * (60 / 100)) / 2,4 = 2,5 PM Aufwand = 2,94 * 38,64 1,15 + 2,5 = ca. 200 PM 2014 IAS, Universität Stuttgart 404
9.2 Projektplanung Aufwandsverteilung Aufwandsverteilmatrix Phase Anforderungs- Entwurf Implementierung Integration und Test analyse und Konzeption 8% 18% 48% 26% Anforderungen analysieren 42% 10% 3% 2% Produkt entwerfen 16% 42% 6% 4% Programmieren 10% 14% 55% 48% Tests planen 6% 8% 8% 5% Verifikation und Validation 10% 10% 12% 20% Projektleitung 8% 7% 5% 6% Konfigurationsmanagement 3% 2% 6% 8% Qualitätssicherung 5% 7% 5% 7% 100% 100% 100% 100% 2014 IAS, Universität Stuttgart 405
9.2 Projektplanung Beispiel: Aufwandsverteilung Nach der Aufwandsverteilmatrix entfallen dabei: Phasen Anforderungsanalyse und Konzeption : 16 PM Entwurf : 36 PM Implementierung : 96 PM Integration und Test : 52 PM Auf die einzelnen Tätigkeiten der Phase Implementierung entfallen: Analysetätigkeiten: 3% oder 3 PM Entwurfstätigkeiten: 6% oder 6 PM Programmiertätigkeiten: 55% oder 53 PM Testplanung: 8% oder 8 PM... 2014 IAS, Universität Stuttgart 406
9.2 Projektplanung Haupteinflussfaktoren auf die Projektperformance Haupteinflussfaktoren bestimmen Zeit, Aufwand und Qualität Faktoren: Dauer Gesamtaufwand Fehler Produktgröße ( Features ) Prozessproduktivität Personal-/Zeitdruck Beispiel: Erhöhung des Personals führt dazu, dass die Dauer verringert, die Entwicklungskosten erhöht und mehr Fehler gemacht werden. 2014 IAS, Universität Stuttgart 407
9.2 Projektplanung Projektplanung Wahrscheinlich die zeitaufwändigste Projektmanagementaktivität. Kontinuierliche Aktivität vom anfänglichen Konzept bis zur Systemauslieferung. Pläne müssen regelmäßig überarbeitet werden. Viele unterschiedliche Arten von Plänen müssen entwickelt werden, um den Hauptprojektplan zu unterstützen, der sich mit Terminen und dem Budget befasst. 2014 IAS, Universität Stuttgart 408
9.2 Projektplanung Projektplan (1) Ein Projektplan beinhaltet: Projektumfeld Ziele des Projekts und Randbedingungen, die das Projektmanagement betreffen Projektorganisation Informationen über Art der Organisation des Entwicklungsteams, die beteiligten Personen und ihre Rollen im Team Risikoanalyse Mögliche Projektrisiken, die Wahrscheinlichkeit für deren Auftreten und die vorgeschlagenen Strategien zur Risikoreduzierung Anforderungen an Hardware- und Softwareressourcen Benötigte Hardware und Unterstützungssoftware zur Durchführung der Entwicklung 2014 IAS, Universität Stuttgart 409
9.2 Projektplanung Projektplan (2) Arbeitsaufteilung Aufteilung des Projekts in Aufgabenbereiche und Arbeitspakete sowie Herausstellung der Meilensteine und Lieferschritte, die mit jeder Aufgabe verbunden sind Projektzeitplan Abhängigkeiten zwischen den Aufgaben, der benötigten Zeit und der Bearbeiter Überwachungs- und Berichterstattungsmechanismen Zu erstellende Managementberichte und die einzusetzenden Überwachungsmechanismen Meilensteine und Lieferschritte Meilensteine sind Endpunkte einer Prozessaktivität Lieferschritte sind zum Kunden gelieferte Projektergebnisse Der Wasserfall-Prozess erlaubt eine direkte Definition der Meilensteine 2014 IAS, Universität Stuttgart 410
9.2 Projektplanung Grundlagen der Planung Wesentliche Planungsansätze Hierarchische Gliederung Projektstrukturplan Projektorganisationsplan Prozessorientierte Vernetzung (Zeitplanung) Netzplan Balkenplan Festlegung: Welche Aktivitäten müssen durchgeführt werden, um das Projektziel zu erreichen? 2014 IAS, Universität Stuttgart 411
9.2 Projektplanung Projektstrukturplan Graphische Darstellung der hierarchischen Gliederung der im Projekt durchzuführenden Aufgaben Unterste Ebene ist die Arbeitspaketebene Beispielprojekt KE Konzeptentwicklung QS Qualitätssicherung KE 1 Anforderungsanalyse KE 2 Konzeptionsphase KE 1.1 Anforderungen ermitteln KE 1.2 Anforderungen klassifizieren 2014 IAS, Universität Stuttgart 412
9.2 Projektplanung Projektorganisationsplan Graphische Darstellung der hierarchischen Gliederung der im Projekt beteiligten Personen Beispiel: Projektmanagerin Müller Teilprojektmanager Mayer Teilprojektmanager Schneider Firma Schleicher Abteilung Hardware Entwickler Lehmann Entwicklerin Schulz Entwickler Schmitt 2014 IAS, Universität Stuttgart 413
9.2 Projektplanung Zeitplanung (1) Aufteilung des Projekts in Aufgaben und Schätzung der benötigten Zeit und Ressourcen zur Vollendung jeder Aufgabe Organisierung der zutreffenden Aufgaben zur Erreichung einer optimalen Arbeitskräfteausnutzung Minimierung der Abhängigkeiten zwischen den Aufgaben, um Verzögerungen zu vermeiden Anhängig von Intuition und Erfahrung des Projektmanagers Aufgaben bestimmen Abhängigkeiten der Aufgaben bestimmen Ressourcen für die Aufgaben abschätzen Aufgaben Personen zuordnen Projektdiagramme erstellen Netz- und Balkenpläne 2014 IAS, Universität Stuttgart 414
9.2 Projektplanung Zeitplanung (2) Voraussetzung Auf Basis des Projektstrukturplans wird die logische und zeitliche Anordnung der Projektaktivitäten ermittelt Techniken der Zeitplanung Balkenplan Vernetzter Balkenplan Netzplan 2014 IAS, Universität Stuttgart 415
9.2 Projektplanung Balkenplan Graphische Darstellung der zeitlichen Anordnung von Arbeitspaketen und deren Laufzeit Liste aller Arbeitspakete mit Starttermin und Endtermin bzw. Dauer Darstellung von Fixterminen (Urlaub, Feiertage, etc.) Beispiel: Durchführung einer Wahlstudienarbeit Januar Februar Arbeitspaket Dauer KW 1 KW 2 KW 3 KW 4 KW 5 KW 6 KW 7 KW 8 Grundlagen erarbeiten 2 W Konzept entwickeln 3 W Prototyp erstellen 2 W Fertigstellung Inhalt 1 T Ausarbeitung schreiben 2 W 2014 IAS, Universität Stuttgart 416
9.2 Projektplanung Vernetzter Balkenplan Enthält gleiche Informationen wie Balkenplan Zusätzlich werden Abhängigkeiten zwischen den Arbeitspaketen dargestellt Beispiel: Durchführung einer Wahlstudienarbeit Januar Februar Arbeitspaket Dauer KW 1 KW 2 KW 3 KW 4 KW 5 KW 6 KW 7 KW 8 Grundlagen erarbeiten 2 W Konzept entwickeln 3 W Prototyp erstellen 2 W Fertigstellung Inhalt 1 T Ausarbeitung schreiben 2 W 2014 IAS, Universität Stuttgart 417
9.2 Projektplanung Netzplan Graphische Darstellung der logischen Bearbeitungsfolgen der Arbeitspakete Netzplan nach der Metra-Potential-Methode (MPM): Spätester Starttermin Frühester Starttermin Arbeitspaket 2 Tag 2 Tag 6 4 d Tag 3 Tag 7 Frühester Endtermin Spätester Endtermin Arbeitspaket 1 Arbeitspaket 4 Tag 1 Tag 2 2 d Tag 1 Tag 2 Arbeitspaket 3 Tag 7 Tag 9 2 d Tag 7 Tag 9 Tag 2 Tag 7 5 d Tag 2 Tag 7 2014 IAS, Universität Stuttgart 418
9.2 Projektplanung Ermittlung von Terminen Vorwärtsrechnung Der Projektanfangstermin steht fest. Aus der geschätzten Dauer der Arbeitspakete werden alle folgenden Termine bis zum Projektende errechnet. Rückwärtsrechnung Der Projektendtermin steht fest. Aus der geschätzten Dauer der Arbeitspakete werden alle vorangehenden Termine bis zum Projektanfang errechnet. 2014 IAS, Universität Stuttgart 419
9.2 Projektplanung Einführung von Pufferzeiten Pufferzeiten sind Zeiten, um die ein Arbeitspaket im Netzplan verschoben werden darf, ohne dass der Projektendtermin in Gefahr ist. Gesamtpuffer Gesamtpuffer eines Arbeitspaketes ist die Zeitspanne, um die es später begonnen oder verlängert werden kann, ohne den Projektendtermin zu gefährden. Freier Puffer Zeitraum, um den ein Arbeitspaket verschoben werden kann, ohne dass ein anderes Arbeitspaket ebenfalls verschoben wird. Januar Februar AP Dauer KW 1 KW 2 KW 3 KW 4 KW 5 KW 6 KW 7 KW 8 Beispiel für AP 1: - Freier Puffer: 1 W - Gesamtpuffer: 3 W 1 2 2 W 1 W 3 1 W 2014 IAS, Universität Stuttgart 420
9.2 Projektplanung Kritische Arbeitspakete und kritischer Pfad Aus Terminermittlung ergibt sich: Frühester Starttermin eines Arbeitspaketes Spätester Starttermin eines Arbeitspaketes Arbeitspaket ist kritisch, wenn der Gesamtpuffer = 0 ist D. h. frühester und spätester Starttermin sind gleich Kritischer Pfad Weg durch den Netzplan, der nur kritische Arbeitspaket enthält Beispiel: Arbeitspaket 1 Tag 1 Tag 2 2 d Tag 1 Tag 2 Arbeitspaket 2 Tag 2 Tag 6 4 d Tag 3 Tag 7 Arbeitspaket 3 Tag 2 Tag 7 5 d Tag 2 Tag 7 Kritischer Pfad Arbeitspaket 4 Tag 7 Tag 9 2 d Tag 7 Tag 9 2014 IAS, Universität Stuttgart 421
9.2 Projektplanung Probleme bei der Zeitplanung Abschätzung der Schwierigkeit einer Aufgabe und die resultierenden Kosten für die Lösungsentwicklung ist schwierig Produktivität ist nicht proportional zur Anzahl der Mitarbeiter, die an einer Aufgabe arbeiten Erhöhung der Mitarbeiterzahl bei einem verspäteten Projekt reduziert die Effizienz auf Grund des Kommunikations-Overheads noch mehr Das Unerwartete tritt immer ein. Immer den unvorhergesehenen Fall einplanen (Murphy's Law) 2014 IAS, Universität Stuttgart 422
9.2 Projektplanung Projektpersonal Es ist oft nicht möglich, die idealen Personen für ein Projekt einzustellen Projektbudget erlaubt es nicht, nur hochbezahlte Personen einzusetzen Personal mit den optimal geeigneten Fähigkeiten ist nicht verfügbar Ein Unternehmen möchte die Mitarbeiterfähigkeiten während eines Softwareprojekts weiterentwickeln. Manager müssen innerhalb dieser Restriktionen entscheiden Festlegung des Projektteams Welche Mitarbeiter werden benötigt? Welche Vorgesetztenverhältnisse bestehen? Welche Arbeitspakete werden von welchen Mitarbeitern bearbeitet? Welcher Mitarbeiter ist für welche Arbeitspakete verantwortlich? 2014 IAS, Universität Stuttgart 423
9.2 Projektplanung Beziehungen zw. Projektstruktur, Projektorganisation und Terminplan Projektstrukturplan Anforderungen Projektorganisationsplan Projekt Projektmanager Maier Teilprojekt A Teilprojekt B Teilprojekt C Assistant Müller A1 A2 B1 C1 C2 Teilprojektmanager Bauer Teilprojektmanager Schneider A3 B2 C3 Firma S Lehmann Aufgabe Abteilung U Schulze Schmidt Zeitplanung durch einen Netzplan A1 A2 Kostenplan Ressourcenplan B1 C1 C2 C3 B2 A3 2014 IAS, Universität Stuttgart 424
9.2 Projektplanung Arten von Zusatzplänen Plan Qualitätsplan Validierungsplan Konfigurationsmanagementplan Wartungsplan Beschreibung Beschreibt die Qualitätsmaßnahmen und -standards, die verwendet werden Beschreibt die Methoden, die Ressourcen und den Zeitplan zur Systemvalidierung Beschreibt die zu verwendenden Konfigurationsmanagementprozeduren und Strukturen Legt die Wartungsanforderungen des Systems sowie die Wartungskosten und den Aufwand fest Personalentwicklungsplan Beschreibt, wie die Fähigkeit und die Erfahrung der Mitarbeiter des Projektteams gefördert werden sollen Video: Projektmanagement 2014 IAS, Universität Stuttgart 425
Fragen zur Vorlesung Frage zu 9.2 Sie sind als Software-Entwickler beschäftigt und erhalten von Ihrem Projektmanager den folgenden Projektplan in Form eines Netzplans. Weshalb ist dieser Projektplan nicht gut durchdacht und wie kann er verbessert werden? Bestimmen Sie zuerst den kritischen Pfad! Analyse 0 9 Systemmodell 9 11 Entwurf A 11 24 Implementierung A.1 24 40 Implementierung A.2 Frühester Anfangstermin Frühester Endtermin Entwurf B 11 19 Implementierung B.1 19 40 24 34 Integration 40 47 Implementierung B.2 24 36 Projektende 47 50 2014 IAS, Universität Stuttgart 426
Fragen zur Vorlesung Antwort (1) - Kritischer Pfad Analyse 0 9 Systemmodell 9 11 Entwurf A 11 24 Implementierung A.1 24 40 Implementierung A.2 24 34 Entwurf B 11 19 Implementierung B.1 19 40 Integration 40 47 Implementierung B.2 24 36 Projektende 47 50 kritischer Pfad 2014 IAS, Universität Stuttgart 427
Fragen zur Vorlesung Antwort (2) Negative Aspekte Zwei kritische Pfade Die Wahrscheinlichkeit einer Verzögerung ist wegen der zwei kritischen Pfade sehr hoch. Mögliche Verbesserungen: Einen der kritischen Pfade entfernen Pufferzeit einfügen Nur 80% der verfügbaren Zeit verplanen und den Rest als Pufferzeit vorsehen Mehr Mitarbeiter 2014 IAS, Universität Stuttgart 428
Fragen zur Vorlesung Frage zu 9.2 Welchen Aussagen stimmen Sie zu? f Die Projektplanung besteht vor allem aus der Planung des Abgabetermins und der Kosten f Die Projektplanung wird meistens bei "Wasserfall"-Modellen eingesetzt f Das COCOMO II - Schätzverfahren basiert auf der Anzahl der zu liefernden Codezeilen Das COCOMO II - Schätzverfahren kann zur Produktivitätsmessung von Programmierern benutzt werden. Das COCOMO II - Schätzverfahren sagt nichts über die Anzahl der bei der Entwicklung eingesetzten Personen aus. 2014 IAS, Universität Stuttgart 429
Softwaretechnik I 9 Projektmanagement 9.1 Grundlagen 9.2 Projektplanung 9.3 Projektabwicklung 9.4 Zusammenfassung 2014 IAS, Universität Stuttgart 430
9.3 Projektabwicklung Projektabwicklung Aufgaben des Projektmanagements während der Projektabwicklung Terminüberwachung Einsatzmittelplanung Freigabe von Arbeitspaketen Prüfung des technischen Projektfortschritts Problemerkennung und Problembehebung Grundlagen Projektplanungsdaten Berichtswesen Analysen durch das Projektmanagementwerkzeug (Beispiel: MS Project von Microsoft) 2014 IAS, Universität Stuttgart 431
9.3 Projektabwicklung Projektfortschritt Im Projektplan wird festgelegt, wann und in welcher Form der Projektfortschritt erfasst wird. In Projektberichten wird der Stand des Projekts erfasst und in einer maschinell verarbeitbaren Form bereitgestellt. Berichte beziehen sich auf Aktivitäten aus dem Projektstrukturplan Produkte (Entwicklungsergebnisse) Termine und Einsatzmittel 2014 IAS, Universität Stuttgart 432
9.3 Projektabwicklung Beispiel: Entscheidungs-Review Portal Checkliste: Entscheidungs-Review mit Verantwortlichkeit und Status schneller Statusüberblick E-Mails zu Einladungsliste Hyperlinks zu spezifischen Dokumenten 2014 IAS, Universität Stuttgart 433
9.3 Projektabwicklung Terminüberwachung von Arbeitspaketen Live-Mitschrieb Verfahren zur Projektfortschrittskontrolle bauen auf einem Zustandsautomaten für Aktivitäten auf Geplant Freigegeben in Arbeit in Prüfung Abgenommen 2014 IAS, Universität Stuttgart 434
9.3 Projektabwicklung Was enthält ein Fortschrittsbericht? Informationen zum Entwicklungsfortschritt Informationen zu aufgetretenen Schwierigkeiten Mitteilung über erreichte Zustände Informationen über den Stand der geforderten Entwicklungsergebnisse Informationen zu verbrauchten Einsatzmitteln Abschätzungen zum weiteren Entwicklungsgang erforderliche Zeit erforderliche Einsatzmittel 2014 IAS, Universität Stuttgart 435
9.3 Projektabwicklung Projektzustandsdefinitionen im realen Leben Aussage Bedeutung 1 Das Programm ist weitgehend fertig. In der Entwurfsphase 2 Es fehlt noch ein Unterprogramm. Hauptprogramm ist zu 10% fertig. 3 Das Programm hat noch einen kleinen Fehler. Programm stürzt nach Ausdruck der Kopfzeile ab. 4 Das Programm befindet sich im Test. Programm hat den ersten Lauf ohne vorzeitiges Ende überlebt. 5 Das Programm hat Gesamttest bestanden. Läuft mit den Werten 1,3,5 nicht aber mit 0,2,4 6 Das Programm ist bereits über 50 mal verkauft. Ein Pilotkunde will das Programm nach erfolgreichem Test seinen 40 Tochterfirmen empfehlen. 7 Das Programm wird gerade auf ein System Es wird fieberhaft versucht, das Proübernommen. gramm auf dem ersten System lauffähig zu machen. 8 Voll kompatibel und portabel auf allen gängigen Sofern die Systeme exakt dieselben Systemen (inkl. Raumanordnung) sind. 9 Das Programm kommt demnächst auf den Markt. Der erste Befehl wird gerade codiert. 10 Man hat keine Zeit, ist beim Kunden, Es läuft absolut nichts. Rechnerausfall. 11 An der Dokumentation wird gearbeitet. Zufällig einen alten Schmierzettel mit Notizen entdeckt. 2014 IAS, Universität Stuttgart 436
Fragen zur Vorlesung Frage zu 9.3 Welche Tätigkeiten werden im Rahmen des Projektmanagements während der Projektabwicklung durchgeführt? Terminüberwachung f Validierung der Softwareartefakte Prüfung des technischen Projektfortschritts f Prüfung der Codequalität Problemerkennung und Problembehebung 2014 IAS, Universität Stuttgart 437
Softwaretechnik I 9 Projektmanagement 9.1 Grundlagen 9.2 Projektplanung 9.3 Projektabwicklung 9.4 Zusammenfassung 2014 IAS, Universität Stuttgart 438
9.4 Zusammenfassung Zusammenfassung Gutes Projektmanagement ist entscheidend für den Projekterfolg Die immaterielle Natur der Software verursacht Probleme für das Projektmanagement Manager haben verschiedene Aufgaben, aber ihre wichtigsten sind: Personalführung, Planung und Projektverfolgung Planung, Abschätzung und Terminverfolgung sind iterative Prozesse, die sich durch das gesamte Projekt ziehen Ein Projektmeilenstein ist ein vorhersehbarer Zustand, der einen formalen Fortschritt symbolisiert 2014 IAS, Universität Stuttgart 439
9.4 Zusammenfassung Hilfreiche Tipps Gutes Projektmanagement ist noch wichtiger als gute Technik Verständnis für die Kundenprioritäten Motivation der Mitarbeiter ist der Schlüssel zum Erfolg Wenige gute Entwickler sind besser als viele weniger gute Entwickler Mitarbeitern vertrauen Kommunikationsfähigkeit ist Grundvoraussetzung Vorbild in kritischen Situationen zwischen Entwicklern gibt es riesige Unterschiede (1:10) Produktivität ist sehr schwer messbar nichts Unmögliches verlangen richtige Ressourcenplanung 2014 IAS, Universität Stuttgart 440
9.4 Zusammenfassung Vorbereitungsfragen zu 9 Frage 1: Projektfortschritt (SS 07) Nennen Sie drei verschiedene Ansätze zum Messen des Fortschritts bei Softwareentwicklungsprojekten. Welchen Ansatz würden Sie als Projektmanager einführen und warum? Frage 2: Probleme in Softwareentwicklungsprojekten (SS 05) Nennen Sie mindestens 3 Probleme, die in einem Softwareentwicklungsprojekt mit langer Laufzeit auftreten können, wenn kein Konfigurationsmanagement durchgeführt wird. Frage 3: Softwareprojekte (SS 04) Vergleichen Sie die Entwicklung a) einer umfangreichen Server-Anwendung in Java mit b) einer Mikrocontroller-Applikation in C anhand der Kriterien Überschaubarkeit und Einsatz von Wiederverwendung. Begründen Sie jeweils Ihre Aussagen. Welche Anwendung ist Ihrer Ansicht nach schwieriger zu entwickeln? Begründen Sie. 2014 IAS, Universität Stuttgart 441