Aufwandsabschätzung und Projektplanung Software Engineering 1 WS 2012/2013 Prof. Dr. Ina Schaefer Software Systems Engineering Technische Universität Braunschweig (mit Folien von Dr. Gerhard Pews) Charakteristika eines Projekts Abgrenzung zu Routinetätigkeiten: • Ein Projekt hat ein Projektziel. • Ein Projekt ist zeitlich befristet. • Ein Projekt befasst sich in der Regel mit einem „schwierigen“ Thema. • Ein Projekt besteht aus einer Vielzahl von Einzelaufgaben und besitzt dadurch Komplexität. • Ein Projekt umfasst oft neuartige Aufgaben und Inhalte. • Ein Projekt hat in der Regel ein höheres Risiko als eine Routinetätigkeit. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 2 Wiederholung:Teufelsquadrat Teufelsquadrat nachnach SneedSneed Leistungsumfang Qualität + Zeit Prof. Dr. Ina Schaefer + - - + + - Die Fläche (Produktivität) eine Projekts ist invariant • Wenn ein Projekt z. B. in weni Zeit und zu(Produktivität) geringeren Kosten Beachte: Die Fläche abgeschlossen eines Projekts ist invariant:werden soll, verringert sich auch der Leistungsumfang und die Qua Wenn ein Projekt z. B. in weniger Zeit und zu geringeren Kosten • Steuerung: abgeschlossen werden soll, war nicht – Fall 1: Planung verringert sich auch der Ecken neu justie umsetzbar: Leistungsumfang und die Qualität. – Fall 2: Produktivität im Team stimmt nicht (Fläche) • Kosten Software Engineering 1 © 2011 Capgemini – All rights reser Vortrag Projekt Management TU Braunschweig.p Seite 3 Wichtige Aspekte des Projektmanagements • • • • • • • • • • • Prof. Dr. Ina Schaefer Definition des Projektumfangs Komplexität Vorgehensmodell Planung Steuerung und Controlling Änderungsmanagement Risikomanagement Reporting Teammanagement Offene Kommunikation & Feedback Projekterfolg Software Engineering 1 Seite 4 Projektstrukturplan Der Planungsschritt PSP ist die vollständige, Zerlegung(PSP) des Projekts Im ersten wird derhierarchische Projektstrukturplan erstellt in Aufgaben und Arbeitspakete (AP). - dies bildet die Basis für den Projektplan Synonym: Work breakdown structure (WBS) Projektstrukturplan Projekt Aufgabenkategorien Aufgaben Arbeitspakete KON-A REA-A Dialog x Batch x Dialog y Batch y AP 1.1.1 AP 1.2.1 GUI AP 2.2.1 AP 1.1.2 AP 1.2.2 AWK AP 2.2.2 AP 1.2.3 Test AP 2.2.3 … … Definition Der ist die Prof. Dr.PSP Ina Schaefer vollständige, hierarchische Zerlegung des Projekts in Aufgaben und Arbeitspakete (AP) Software Engineering 1 Seite 5 Übersicht • Schätzung • Allgemeine Grundlagen • Function Point Verfahren • Expertenschätzung (Delphi-Verfahren) • CoCoMo Verfahren • Projektplanung • Inhalte der Planung • Planungstechniken Prof. Dr. Ina Schaefer Software Engineering 1 Seite 6 Schätzungen , g i r e i w h c s d n i s n e g a s s u a r Vo t f n u k u Z e i d e i s n n e w , m e l l vo r a betreffen. Mark Twain Prof. Dr. Ina Schaefer Software Engineering 1 Seite 7 Gewünschter Zeitpunkt der Schätzung Fachliche Konzeption Technische Konzeption Realisierung Test & Integration Umfang der Funktionalität bekannt Fachliche Funktionen, Masken Umsetzung bekannt Prof. Dr. Ina Schaefer Software Engineering 1 Seite 8 Tatsächlicher Zeitpunkt der Schätzung Fachliche Konzeption Technische Konzeption Realisierung Test & Integration Nur Anforderungen aus Auftrag sind bekannt Schätzungen sind „unfair“ • Finden zu einem sehr frühen Zeitpunkt statt. • Man weiß dann wenig über die Aufgabe. Aber: • Auf die Zahlen wird man später festgenagelt Prof. Dr. Ina Schaefer Software Engineering 1 Seite 9 Top-Down vs. Bottom-Up Schätzung Bottom-up Top-down • Fragestellung: Wenn ich das alles machen will, wie viel kostet es dann? • Fragestellung: Wenn ich einen festen Kostenrahmen habe, wie viel dürfen die einzelnen Arbeitspakete dann kosten? • Von den Arbeitspaketen zur Aufwandszahl • Schätzung der einzelnen Arbeitspakete • Vom fixierten Aufwand zu den Arbeitspaketen • Projekt so aussteuern, dass es im Kostenrahmen bleibt • Summe ergibt Gesamtaufwand • Beispiel: Abschätzung der Gesamtkosten als Arbeitsgrundlage für weitere Planung Prof. Dr. Ina Schaefer • Aufgaben werden nur so „gut“ erledigt, wie Geld da ist • Beispiel: Validierung eines Kostenrahmens Software Engineering 1 Seite 10 Folgen von Fehlschätzungen Schätzung zu niedrig zu hoch Beschreibung • Geld reicht nicht, Projekt kann im Budget nicht durchgeführt werden • Schätzzahl liegt höher als die tatsächlich zu leistenden Aufwände. • Im nachhinein kaum festzustellen. Jedes Projekt schöpft den Kostenrahmen voll aus. • Konsequenz: Schätzungen sind gern zu hoch • Gefahr: Business Case rechnet sich nicht, bzw. Projekt wird an Mitbewerber verloren. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 11 Schätzung als Planungsgrundlage Top-down • Auch eine „falsche“ Schätzung ist besser als ein kompletter Blindflug. • Eine Schätzung ist die Grundlage der Planung. Wenn Schätzungen so fehlerbehaftet und schwierig ist, warum schätzt man dann überhaupt? • Man merkt bei der Planausführung frühzeitig, ob eine Schätzung falsch ist und kann dann nachsteuern. • Auch Schätzen ist ein Prozess: sobald erste Erfahrungen und ermittelte Aufwände im Projekt vorliegen, wird nachgeschätzt und die Schätzung korrigiert • Die Schätzung wird im Laufe des Projekts immer genauer. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 12 Einflussfaktoren für Schätzungen § Wichtigste Fachlichkeit Einflussfaktoren auf den Aufwand Umzusetzende (funktional) PM-Faktoren • • • • • • • Masken Druckstücke Batches Berechnungen zu berücksichtigende Fehlersituationen Migrationen aus Altsystemen Abhängigkeit von andern Systemen Technologische Umsetzung nicht-funktionale Anforderungen • • • • Performance, Antwortzeitverhalten Mengengerüste Architektur Systemplattform, Basis-Technologien Prof. Dr. Ina Schaefer • • • • Team – Mitarbeiterqualifikation – Erfahrung – Eingespieltes Team Projektorganisation Projetvorgehen, Methodik Unterstützung durch Tools Sonstige Faktoren • • Software Engineering 1 Auftraggeber Aufwände steigen mit Größe der Aufgabe Seite 13 Vorgehen bei einer Schätzung Vorbereiten Schätzen Messen, Vergleichen Lernen Nachschätzen Hinweise • Eine gute Vorbereitung ist elementar für die Schätzung • Komplettieren und Strukturieren der Schätzgrundlage (osintots – oh shit, I never thought of this) • Sammeln aller Faktoren • Nachschätzen und aus Projekterfahrungen lernen ist ein stetiger Kreislauf während des Projekts Prof. Dr. Ina Schaefer Software Engineering 1 Seite 14 Schätzverfahren Schätzverfahren unterscheiden sich in Zielsetzung, Aufwand und Genauigkeit Vergleichsmethoden Analogieschätzung Kennzahlenmethode Algorithmische Methoden COCOMO Function-Points Use-Case-Points Kennzahlenmethode ExpertenSchätzungen Einzelschätzung Delphi-Methode Schätzklausur Stellt Bezug zu durchgeführten Entwicklungsprojekten her Erfahrungswerte aus alten Projekten nötig Berechnung von Schätzposten aus explizit geschätzten Ähnlich Analogiemethode Aufwandsermittlung per empirisch gewonnenen Formeln Basis sind „messbare“ Systemfunktionen, z. B. Use-Case-Points Schätzung von Stücklisten Zählen und bewerten Gibt eine Größenordnung zur Verifikation Erfahrungswerte für Kennzahlen aus abgeschlossenen Projekte nötig Teilw. aufwändig, aber gute Resultate ohne Justierung wenig präzise Erstmalige Schätzung neuer Anforderungen durch Expertenerfahrung Selten in Reinform, aber implizit in Expertenschätzung Kennzahlen aus dem Aufwandsmodell zur Plausibilisierung Use-Case-Points verwenden wir zur Plausibilisierung bei Capgemini hauptsächlich eingesetzte Methode Prof. Dr. Ina Schaefer Software Engineering 1 Seite 15 Function Point Verfahren § Vorgehen im Überblick Bewertung der Komplexität der Fachlichkeit (Datenfluss) Bewertung sonstiger Einflussfaktoren Ermittlung der Gesamtkomplexität, Berechnung des Aufwands Hinweise • Function Point Schätzungen werden in verschiedenen Firmen unterschiedlich gelebt. • Alle arbeiten nach dem gleichen Prinzip, Unterschiede gibt es in: • Kriterien, nach denen die Komplexität der Fachlichkeit gemessen wird • Betrachtete sonstige Einflussfaktoren • Unternehmensspezifische Gewichtung • Im Folgenden: ursprüngliches Verfahren Prof. Dr. Ina Schaefer Software Engineering 1 Seite 16 Bewertung der Fachlichkeit § Details zum ersten Schritt Bewertung der Komplexität der Fachlichkeit (Datenfluss) Bewertung sonstiger Einflussfaktoren Ermittlung der Gesamtkomplexität, Berechnung des Aufwands Inhalte • Strukturierte Erfassung der Fachlichkeit: • Eingabedaten (Bildschirm, Batch, etc.) • Ausgabedaten (Bildschirm, Druck, Interface, etc.) • Anfragen (Suchanfragen) • Eigene Datenbestände (lesen & schreiben) • Extern referenzierte Datenbestände (nur lesen) • Zu jedem Punkt Bewertung: geringe/mittlere/hohe Komplexität • Ableiten der FP aus Tabelle mit FP-Werten für die jeweilige Komplexität Prof. Dr. Ina Schaefer Software Engineering 1 Seite 17 Bewertung durch Function Points § Beispiel für eine Function Point Bewertung Bewertungen Eingabedaten Schätzposten Komplexität FP gering 3 … … mittel 4 hoch 6 … Eingabedaten Kunde gering 3 Bankverbindung mittel 4 Eigene Datenbestände … … gering 7 mittel 10 15 … Anfragen Kundensuche mittel 10 hoch … … … 458 … … Summe FP-Werte für jeweilige Komplexitäten Schätztabelle Prof. Dr. Ina Schaefer Software Engineering 1 Seite 18 Bewertung der Einflussfaktoren § Details zum zweiten Schritt Bewertung der Komplexität der Fachlichkeit (Datenfluss) Bewertung sonstiger Einflussfaktoren Ermittlung der Gesamtkomplexität, Berechnung des Aufwands Inhalte • Bewertung sonstiger Einflussfaktoren: • Verflechtung mit anderen Systemen • Dezentrale Verarbeitung und Datenhaltung • Transaktionsrate und Antwortzeitverhalten • Verarbeitungskomplexität (Rechenoperationen, Ausnahmebehandlungen, Logik, …=) • Wiederverwendbarkeit Auch daraus wird wieder ein numerischer Faktor abgeleitet. • Migrationen • Benutzerfreundlichkeit Prof. Dr. Ina Schaefer Software Engineering 1 Seite 19 Berechung des Gesamtaufwands § Details zum dritten Schritt Bewertung der Komplexität der Fachlichkeit (Datenfluss) Bewertung sonstiger Einflussfaktoren Ermittlung der Gesamtkomplexität, Berechnung des Aufwands Inhalte • Gesamtkomplexität in „Total Function Points“ (TFP) durch Verrechnung (i. d. R. Multiplikation) der Faktoren • Errechnung des Aufwands z. T. mit Zwischenschritt über die zu erstellenden Codezeilen (Lines of Code – LOC) für eine jeweilige Programmiersprache. TFP/LOC Personenmonate Prof. Dr. Ina Schaefer Software Engineering 1 Seite 20 Bewertung des FP-Verfahrens Bewertung • Systematische Herangehensweise • In Function Points wird die fachliche Komplexität der Aufgabe gemessen, nicht die Komplexität der technischen Lösung. • Lebt von den jeweiligen Erfahrungswerten des Unternehmens und der Personen. • Insbesondere in den zweiten Schritt gehen unternehmensspezifische Erfahrungen ein, die schwer zu begründen und in anderen Kontexten zu reproduzieren sind. • Wird in unterschiedlichen Unternehmen auch unterschiedlich gehandhabt. • Nach einiger Zeit der Anwendung erzielt man reproduzierbare Ergebnisse in der Function Point Messung. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 21 Expertenschätzung Hinweise zum Vorgehen • Aufwände und Umsetzung werden explizit geschätzt, nicht über Lines of Code oder Faktoren. • Bei einer Expertenschätzung sind in der Regel mindestens zwei Experten beteiligt, um Schätzergebnisse vergleichen zu können. • Generelle Unterscheidung in der Vorgehensweise: • Standard-Delphi-Verfahren: Experten schätzen komplett unabhängig • Breitband-Delphi-Verfahren: Experten diskutieren Zwischenergebnisse. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 22 Expertenschätzung nach Delphi-Verfahren Erstellen Schätzpostenliste Liste mit jedem Experten durchsprechen, erläutern Experte schätzt jeden Schätzposten, Rückfrage möglich Falls Breitband-Verfahren: Experten-Diskussion Prüfung Ergebnisse Neue Liste mit unklaren Posten, neu kommentiert z. B. falls unplausibel, Abweichungen Ergebnis = Durchschnittwerte zwischen Experten der Einzel-Schätzungen Prof. Dr. Ina Schaefer Software Engineering 1 Seite 23 Schätzpostenliste Schätzposten • Benötigt: vollständige funktionale Beschreibung des Systems • Beispiele für Schätzposten • Dialog • Druckstück • Funktionen, Services • Entitäten & Persistenz der Entitäten • Querschnittliche Funktionen (Drucken, Fehlerbehandlung, etc.) • Granularität eines Schätzpostens (Daumenregeln) • nicht kleiner als 1 Tag, sonst addieren sich Nichtigkeiten zu großen Aufwänden • nicht größer als 20 Tage, sonst wird die Schätzung zu ungenau • guter Bereich: 5 – 10 Tage Prof. Dr. Ina Schaefer Software Engineering 1 Seite 24 Schätzgröße in der Expertenschätzung § Hinweise zur Schätzgröße „BT“ Schätzgröße • BT = Bearbeitungstag, auch PT = Personentag oder MT = Manntag • Die Arbeit, die eine Person an einem Tag erledigen kann • Die Arbeit ist brutto gerechnet, d. h. die wirkliche Zeit, die man benötigt, d. h. Entwicklung inklusive: • Entwicklertest • Code-Dokumentation • Nacharbeiten • Reisekostenabrechnung, Stundenkontierung in SAP, … • Kaffee trinken, Zigarrettenpause • Teilnahme an Meetings • Anderen Kollegen helfen • Rechner ist abgestürzt, Netzwerk ist weg,… Prof. Dr. Ina Schaefer Software Engineering 1 Seite 25 Vorgehen bei einer vereinfachten Schätzung Schritt Schätzung der Realisierung Hochrechnung auf alle Phasen Zuschläge Prof. Dr. Ina Schaefer Beschreibung • Schätzung der reinen RealisierungsAufwände • Hochrechnung von • Fachlicher Konzeption • Technischer Konzeption • Test & Integration aus den Realisierungs-Werten • Addieren von Zuschlägen, z. B. für Projektkoordination, Gewährleistung, Qualitätssicherung, etc. Software Engineering 1 Seite 26 Schätzung der Realisierung § Vorgehen bei der Schätzung der Realisierung Schätzung • Geschätzt wird die reine Brutto-Realisierung. Annahmen dabei: • Alle fachlichen Fragen sind geklärt • Algorithmen sind klar • Technologie ist klar • Mitarbeiter ist geschult • „Normale“ Projektmitarbeiter, keine Technologie-Experten (wie diejenigen, die schätzen) • Eigentlich ist eine detaillierte Schätzung erst nach Abschluss der fachlichen Konzeption möglich. Zu diesem Zeitpunkt kennt man die Aufwände der fachlichen Konzeption schon bzw. kann sie abschätzen. Diese Aufwände kann man zur Plausibilisierung mit den geschätzten Realisierungsaufwänden vergleichen. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 27 Hochrechnung von Realisierungsaufwänden § Beispiel: Erfahrungswerte der Firma sd&m Nutzung der Werte Test und Integr. 15% Realisierung 40% Prof. Dr. Ina Schaefer fachl. Konzept 30% tech. Konzept 15% Software Engineering 1 • Hochrechnung: Nach diesen Erfahrungswerten ist der Gesamtaufwand 2,5x so hoch wie der Realisierungsaufwand • Plausibilisierung: Nach Abschluss des fachlichen Konzepts sollten 30% des Projektbudgets verbraucht sein. Seite 28 Aufschläge bei der Realisierungsschätzung § Erfahrungswerte für Zuschläge bei sd&m Zuschlag Technik - Software-Entwicklungsumgebung - Technische Infrastruktur - Konfigurationsmanagement Datenadministration (optional) Abnahmesupport Chefdesign (CD) Qualitätssicherung (QS) Einarbeitung Team-Meetings PM/PL Puffer bzw. Risikozuschlag Gewährleistung Sonstiges Reisezeit Reisespesen Zugekaufte Leistungen Erfahrungswerte Aufbau geplant, Pflege MA über Zeit 5-10%, oder MA über Zeit Aufbau geplant, Pflege MA über Zeit 5-10% MA über Zeit 5-10%, oder MA über Zeit Aktivitäten oder 10-20% 2-4 Wochen bei Projekteinstieg MA über Zeit 10-25%, 1 PL pro ca. 7 MA über Zeit 10-40% 3-12% Projektspezifisch MA über Zeit ableitbar aus Reisezeit tatsächliche Kosten Bei Großprojekten kann die Realisierung nach Berechnung aller Zuschläge nur noch 16% des Gesamtaufwands betragen! Prof. Dr. Ina Schaefer Software Engineering 1 Seite 29 Repräsentanten und Stützpunkte schätzen Problem § Tipps zur Schätzung großer Schätzpostenlisten • Problem: Was tun, wenn die Schätzpostenliste sehr groß ist, z. B. wenn das System mehrere hundert Dialoge umfasst? Der Aufwand zur Schätzung wird dann sehr groß Lösung 1: Beispiel mit Bildung von Klassen. • Klassen: Einfache Dialoge, Mittelschwere Dialoge, Schwierige Dialoge • Extrem schwierige Dialoge trotzdem individuell schätzen • Schätzen von einem Repräsentanten jeder Klasse Lösung 2: Beispiel mit Schätzung von Stützpunkten • Fünf Dialoge wählen, die das ganze Spektrum der Komplexität abdecken. • Andere Dialoge werden nicht geschätzt, sondern mit den Stützpunkten verglichen. Aufwandszahlen der Stützpunkte werden übernommen und ggf. leicht angepasst. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 30 Schätzunsicherheit Problem § Vorgehen bei einer Min-Max-Schätzung • Schätzungen sind immer mit einer Schätzungenauigkeit und einem Risiko behaftet. Min-Max-Schätzung • Idee: Experte schätzt minimalen und maximalen Aufwand für die Aufgabe. • Wichtig: kein zu großes Delta zwischen Min und Max, guter Erfahrungswert ca.: 20%, in der Praxis aber leider oft höher. • Die Planung wird am Minimalwert ausgerichtet, aber so mit Personen hinterlegt, dass die maximalen Aufwände in der Projektlaufzeit möglich zu erbringen sind. • Weitere Möglichkeit zur Min-Max-Schätzung: Min, Max und Normalwert schätzen, dann rechen mit: (Min + Max + 4*Norm) / 6 Prof. Dr. Ina Schaefer Software Engineering 1 Seite 31 CoCoMo Verfahren Idee • Schätzung der Projektgröße in LOC (Lines of Code) bzw. KDSI (Kilo Delivered Software Instructions), d. h. ohne Kommentare. • Nach Verrechnung mit weiteren Kennzahlen wird der Gesamtaufwand E berechnet (MMDEV Entwicklungsaufwand in PM) und die Projektlaufzeit (TDEV) Formel MMDEV = a * KDSIb * m(X) Entwickelt von Barry Boehm (*1935) Prof. Dr. Ina Schaefer Software Engineering 1 Seite 32 Projektklasse § Einfluss der Projektklasse auf die Aufwandsschätzung MMDEV = a * KDSIb * m(X) Organic Mode Semi-detached Mode Embedded Mode • einfache SW-Projekte • mittelschwere Projekte • schwierige Projekte • eingespieltes Team, bekannte Umgebung, wenig Neuland • Größe <50 KDSI • Größe <300 KDSI • Faktor b = 1,12 • Faktor b = 1,05 Prof. Dr. Ina Schaefer • starker KostenTermindruck, viel Neuland • Größe: beliebig • Faktor b: 1,20 Software Engineering 1 Seite 33 Modellvarianten § Einfluss der Modellvarianten auf die Schätzung MMDEV = a * KDSIb * m(X) Basismodell Zwischenmodell Detailmodell • früh, zu Beginn eines Softwareprojekts • Berücksichtigung von 15 Einflussparametern • Berücksichtigung von 15 Parametern • ganzheitliche Betrachtung • keine Differenzierung zwischen Phasen • Abweichungen der Aufwände aus den einzelnen Phasen berücksichtigt • Ausgangspunkt für weitere Schätzungen Prof. Dr. Ina Schaefer Software Engineering 1 Seite 34 Weitere 15 Einflussfaktoren MMDEV = a * KDSIb * m(X) m(x) = m(x1) * m(x2) * … * m(x15) Produkt Projekt RELY: geforderte Zuverlässigkeit der Software MODP: Verwendung moderner Entwicklungsmethoden DATA: Größe der Datenbasis TOOL: Verwendung von Tools CPLX: Komplexität des Produktes Personal SCED: Anforderungen an die Entwicklungszeit ACAP: Analysefähigkeit der Mitarbeiter Computer AEXP: Erfahrung der Mitarbeiter im Arbeitsgebiet TIME: benötigte Rechenzeit PCAP: Programmierfähigkeit der Mitarbeiter STOR: Nutzung des verfügbaren Speicherplatzes VEXP: Erfahrung der Mitarbeiter in der Systemumgebung VIRT: Änderungshäufigkeit der Systembasis LEXP: Erfahrung der Mitarbeiter in der Programmiersprache TURN: Bearbeitungszyklus Prof. Dr. Ina Schaefer Software Engineering 1 Seite 35 Berechnung des Gesamtaufwands in CoCoMo Prof. Dr. Ina Schaefer Software Engineering 1 Seite 36 Bewertung von CoCoMo Bewertung • Die Schätzmethode CoCoMo bzw. CoCoMo II ist wenig verbreitet. • Die Methode macht deutlich, welche Einflussfaktoren für die Schätzung relevant sind: • Zeitpunkt der Schätzung • Typ des Projekts • 15 detaillierte Einflussfaktoren Prof. Dr. Ina Schaefer Software Engineering 1 Seite 37 Tipps zur Schätzung Tipps • Keine Angst vor großen Zahlen. • Schätzungen ergeben oft hohe Werte. Stehen Sie dazu. • Software ist teuer. • Eine ehrliche Schätzung ist die Grundlage für den Projekterfolg. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 38 Projektplanung Planung • Ein Plan zeigt die Machbarkeit eines Vorhabens. Wenn man nicht einmal einen Plan erstellen kann, dann ist das Vorhaben nicht machbar. • Ein Plan wird im Projekt ständig nachgeführt und aktualisiert. Dadurch kann der Projektleiter sein Projekt ins Ziel führen. • Ein Plan ist die Grundlage, um ein Projekt zu steuern • Ohne Steuerung und Plan erkennt man erst zu Projektende, ob sich der Projekterfolg einstellt • Mit Steuerung: Gefährdungen sind früh erkennbar, man kann auf darauf reagieren è Auch ein „falscher“ Plan ist besser als gar kein Plan. Die Alternative wäre ein totaler Blindflug. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 39 Planung als Prozess Fallbeispiel: Zitat Projektleiter „Damals haben wir mit viel Aufwand den Plan gemacht und nach zwei Wochen hat er schon nicht mehr gestimmt.“ Grundideen einer Planung • Eine Planung wird zu Projektbeginn erstellt und dann ständig verfeinert und angepasst. • Eine Planung veraltet, sobald sie fertig ist. (Und manchmal auch schon, während sie erstellt wird) • Eine Planung ist keine Vorhersage. Ein Projekt kann man nicht ausrechnen. • Die Planung ist ein Werkzeug. Sie ist das wichtigste Arbeitswerkzeug des Projektleiters. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 40 Projektplanung im Projektmanagement Anpassen Planung SOLL Controlling (Überwachen) Steuern Handlungsbedarf SOLL IST Meilensteine, Restaufwandsschätzungen Maßnahmen Projektverlauf, Ausführen des Plans Prof. Dr. Ina Schaefer Software Engineering 1 Seite 41 Inhalte der Planung Fragestellung Inhalte • WER (Personen) macht Im Projektplan finden sich die Elemente: • WANN (Termine) • WAS (Aufgaben) • ggf. WOMIT (Arbeitsmittel)? • Aufgabe, Aktivität/ Arbeitspaket (oft synonym verwendet) • Ressourcen, insbesondere Personen • Aufwände und Puffer • Termine Prof. Dr. Ina Schaefer Software Engineering 1 Seite 42 Planungstechniken Gantt-Diagramm • Stellt besonders gut den zeitlichen Verlauf dar • In der Praxis größte Verbreitung • Unterstützung durch Tools, oft Default-Ansicht Netzplan • Z. B.: MPM-Methode • Stellt besonders gut die Abhängigkeiten zwischen Arbeitspaketen dar Prof. Dr. Ina Schaefer Software Engineering 1 Seite 43 Definition eines Netzplans Netzplan In Netzplänen werden dargestellt: Vorgänge, Ereignisse und deren Abhängigkeiten. Definitionen • DIN 69900 Definition Netzplan: Der Netzplan ist die graphische Darstellung von Ablaufstrukturen, welche die logische und zeitliche Aufeinanderfolge von Vorgängen veranschaulichen. • Definition Vorgang: Ein Vorgang ist eine Zeit beanspruchende Tätigkeit, die über einen definierten Anfang und ein definiertes Ende verfügt. • Definition Ereignis: Ein Ereignis signalisiert das Eintreten eines definierten und beschreibbaren Zustands im Projektablauf (z. B. Meilenstein). Prof. Dr. Ina Schaefer Software Engineering 1 Seite 44 Grundtypen von Netzplänen Vorgangspfeil-Netzplan Knoten: Ereignisse Ereignis Pfeile: Vorgänge Vorgang Ereignis Beispiel: Critical Path Method (CPM) Ereignisknoten-Netzplan Knoten: Ereignisse Pfeile: Abhängigkeiten Ereignis Ereignis Vorgang Vorgang Beispiel: Program Evaluation and Review Technique (PERT) Vorgangsknoten-Netzplan Knoten Vorgänge Pfeile: Abhängigkeiten Beispiel: Metra Potential Method (MPM) Prof. Dr. Ina Schaefer Software Engineering 1 Seite 45 Termine eines Vorgangs Früher Start 49 50 51 52 01 02 03 04 05 06 07 FAT: Frühester Anfangstermin – Der Termin, zu dem der Vorgang frühestens beginnen kann. FET: Frühester Endtermin – Der Termin, zu dem der Vorgang frühestens abgeschlossen werden kann, wenn man zum FAT begonnen hat. (FAT + Dauer) Start FAT Später Start Ende FET 49 50 51 52 01 02 03 04 05 06 07 SET: Spätester Endtermin – Der Termin, zu dem der Vorgang abgeschlossen sein muss. SAT: Spätester Anfangstermin – Der Termin, zu dem man spätestens angefangen haben muss, wenn man zum SET fertig sein will. (SETDauer) Start Ende SAT Prof. Dr. Ina Schaefer Software Engineering 1 SET Seite 46 Pufferzeiten Pufferzeiten Pufferzeit: Die Zeit, um die ein Vorgang verschoben werden kann. Freie Pufferzeit: Die Zeit, um die man einen Vorgang verschieben kann, ohne dass der nachfolgende Vorgang verschoben werden muss. Gesamtpufferzeit: Die Zeit, um die man einen Vorgang verschieben kann, ohne dass das Projektende verschoben werden muss. Pufferzeit 49 50 51 52 01 02 03 04 05 Start 06 07 Ende freie Pufferzeit Zeitfenster Prof. Dr. Ina Schaefer Software Engineering 1 Seite 47 Der kritische Pfad Kritischer Pfad Kritischer Pfad: Der Pfad vom Projektstart bis zum Projektende, auf dem ausschließlich Vorgänge ohne Pufferzeit liegen. Kritischer Vorgang: Vorgang auf dem kritischen Pfad. 49 50 51 52 01 02 03 04 05 06 Start krit. Vorgang 07 Ende kritischer Pfad krit. Vorgang krit. Vorgang Kritische Vorgänge erfordern besondere Aufmerksamkeit im Projektmanagement. Jeder Verzug auf dem kritischen Pfad führt dazu, dass der Zieltermin des Projekts gefährdet ist. Prof. Dr. Ina Schaefer Software Engineering 1 Seite 48 Metra Potenzial Methode (MPM) Grundideen MPM • Ausprägung der Netzplantechnik • Spezielle Notation der Vorgänge mit FAT, FET, SAT, SET und Puffer • Vorwärts- und Rückwärtsrechnung, um diese Daten für alle Vorgänge zu bestimmen. • 1958 durch die Unternehmensgruppe Metra entwickelt Nr. Nr. Vorgangsname Vorgangsname FAT Dauer FET SAT Gesamtpuffer SET Prof. Dr. Ina Schaefer Nr. FAT Dauer FET SAT Gesamtpuffer SET Nr. Vorgangsname FAT Dauer SAT Gesamtpuffer Nr. Vorgangsname FET SET FAT Dauer FET SAT Gesamtpuffer SET Nr. Vorgangsname Vorgangsname FAT Dauer FET FAT Dauer FET SAT Gesamtpuffer SET SAT Gesamtpuffer SET Software Engineering 1 Seite 49 Gantt Diagramme Grundideen Gantt • Anderer Name: Balkendiagramm • Vorgänge werden durch Balken auf einem Kalender dargestellt. • Vorteil: intuitiv verständlich, man sieht sofort die Dauer der Vorgänge • Abhängigkeiten weniger übersichtlich dargestellt • Durch Henry L. Gantt (1861–1919) entwickelt Prof. Dr. Ina Schaefer Software Engineering 1 Seite 50 Zusammenfassung • Was ist ein Projekt? • Aufgaben im Projektmanagement • Aufwandsabschätzung • Function Point Verfahren • Expertenschätzung (Delphi-Verfahren) • CoCoMo Verfahren • Planungstechniken • Netzplantechnik • Gantt Charts Prof. Dr. Ina Schaefer Software Engineering 1 Seite 51