Einführung in die Softwaretechnik Projektmanagementkos/teaching/eise2012/11_Proje... · Risiken 36...

42
Einführung in die Softwaretechnik Projektmanagement Klaus Ostermann mit Folien von Christian Kästner 1 Einführung in die Softwaretechnik

Transcript of Einführung in die Softwaretechnik Projektmanagementkos/teaching/eise2012/11_Proje... · Risiken 36...

Einführung in die SoftwaretechnikProjektmanagement

Klaus Ostermannmit Folien von Christian Kästner

1 Einführung in die Softwaretechnik

Agenda

Einführung in die Softwaretechnik2

Aufgaben des Projektmanagements

Projektplanung

Projektzeitplan

Reagieren auf Terminprobleme

Risikomanagement

Aufgaben des Projektmanagements

Einführung in die Softwaretechnik3

Definitionen

Einführung in die Softwaretechnik4

Produkt: Ergebnis eines Tätigkeitsvorhabens, z.B. Hardware, Schriftstück, Program, Dienstleistung

Projekt: Zielorientiertes Vorhaben zur Erstellung eines Produktes

Prozess: Das eigentliche Vorgehen im Projekt zur Erstellung des Produktes

Projektmanagement: Die Gesamtheit von Führungsaufgaben, Führungsorganisation, Führungstechniken und –mitteln, für die Abwicklung eines Projekts – DIN 69901

Übersicht

Einführung in die Softwaretechnik5

Idee Definition Entwurf Realisierung

Erprobung Einsatz Produkt

Prozess

Projekt

Projekt – Konstituierende Merkmale

Einführung in die Softwaretechnik6

Einmaliges Vorhaben – einmalig in Bezug auf:

Zielvorgabe

zeitliche, finanzielle, personelle, oder andere Begrenzungen

Abgrenzung gegenüber anderen Vorhaben

projektspezifische Organisation

Zeitlich begrenzt – Start- und Endtermin

Klare Zieldefinition

Begrenzung – Festes Budget, beschränkte Ressourcen

Besondere Führungsaufgabe

Komplexes Vorhaben, besonderes Risiko (durch Einmaligkeit)

Koordination von Fachleuten aus verschiedenen Bereichen

Softwareprojekte

Einführung in die Softwaretechnik7

Software-Entwicklung hat immer Projektcharakter

Neuartige / einzigartige Ziele, technisch innovativ

Das Ergebnis ist nicht greifbar – Fortschritt schwer erkennbar

Softwareprojekte scheitern häufiger als andere Industrieprojekte

Charakteristika von Projekten

Einführung in die Softwaretechnik8

Projektdauer

von wenigen Monaten bis mehreren Jahren

Projektdauer ist steuerbar (z.b. Anzahl Mitarbeiter)

Projektgroesse

Projektgroesse Mitarbeiter Bearbeiterjahre Mio. Euro

Sehr klein < 3 < 0.4 < 0.1

Klein 3 – 10 0.4 – 5 0.1 – 1

Mittel 10-50 5 – 50 1 – 10

Gross 50 – 150 50 – 500 10 – 100

Sehr gross > 150 > 500 > 100

Projektmanagement

Einführung in die Softwaretechnik9

Aufgabe

Erstellung des Angebots / Projektantrags

Projekt- und Zeitplanung

Projektkostenkalkulation

Projektüberwachung

Auswahl und Beurteilung des Personals

Präsentation und Erstellen von Berichten

Projektmanagement verursacht Kosten

“Kann ich es mir leisten, kein Projektmanagement zu haben?”

Je größer das Projekt, desto wichtiger das Management

Projektplanung

Einführung in die Softwaretechnik10

Projektplanung - Übersicht

Einführung in die Softwaretechnik11

Randbedingungen klären

Projektparameter einschätzen

Meilensteine definieren

Projektzeitplan aufstellen

… Aktivitäten beginnen …

Fortschritt überprüfen

Projektparameter neu einschätzen

Zeitplan überarbeiten

ggf. Randbedingungen nachverhandeln

Technisches Review

Probleme?

nein

ja

Fertig?ja

nein

ggf. Abbruch

Budget,Personal,Endtermin

neueKunden-wünsche

Projektplan

Einführung in die Softwaretechnik12

Einführung: Ziele und Randbedingungen festlegen (Pflichtenheft)

Projektorganisation: Personen, Rollen, Teams

Risikoanalyse: Beschreibung und Bewertung von Risiken

Arbeitsaufteilung, Verantwortlichkeiten, Weisungsbefugnisse

Projektzeitplan: Wer, wann, was? Meilensteine

Überwachungs- und Berichterstattungsinstrumente: Wann und wie wird geprüft und berichtet?

Der Projektplan wird während des Projekts angepasst

Meilensteine und Lieferschritte

Einführung in die Softwaretechnik13

Fortschritt greifbar machen (gerade bei Software)

Meilenstein: erkennbarer Endpunkt einer Teilaufgabe

Für Projektmanager

Berichte, Prototypen, fertige Teilsysteme

“Entwicklung zu 80% abgeschlossen” kein geeigneter Meilenstein

Lieferschritt: Projektresultat für Kunden

Ähnlich Meilenstein, aber für Kunden

Berichte, Prototypen, fertige Teilsysteme

Projektorganisation

Einführung in die Softwaretechnik14

Stabs-Projektorganisation hierarchisch, in Abteilungen

gegliedert

starre Organisationsstruktur im Unternehmen

Matrix-Projektorganisation Abteilungs- und Projektleitung

werden formal voneinander getrennt.

flexibel bzgl. der Projektstruktur

Reine Projektorganisation nur Projekte und eine Zentral-

abteilungaus „Grundzüge des Projektmanagment: zingel.de“

Projektleiter

Einführung in die Softwaretechnik15

Vertritt das Projekt nach Außen

Verantwortlich für den Erfolg des Projekts

Verantwortlich für Projektplanung und –Kontrolle

Führen von Projektmitarbeitern

Koordinieren von Partnerstellen

Moderieren von Beratungs- und Steuerungsgremien, Kontakt zum Kunden

Zeitplanung

Einführung in die Softwaretechnik16

Zeitplanung des Projektmanagers

Einführung in die Softwaretechnik17

Zerlegt Projekt in Arbeitspakete (Dauer 1 bis 10 Wochen)

Schätzt Zeiten und Ressourcen

Erstellt sinnvolle Reihenfolge und Parallelität

Zeitpuffer einplanen, eventuelle Probleme berücksichtigen

Softwareunterstützung hilfreich, z.b. Microsoft Project, GanttProject, Kplato, uvm.

Erfahrung zum Schätzen notwendig

Trotzdem schwierig durch Neuartigkeit des Projekts und schnell wechselnde Technologie

Zeitplanung am Beispiel

Einführung in die Softwaretechnik18

Arbeitspaket Dauer in Tagen Abhaengigkeiten

T1 8

T2 15

T3 15 T1

T4 10

T5 10 T2, T4

T6 5 T1, T2

T7 20 T1

T8 25 T4

T9 15 T3, T6

T10 15 T5, T7

T11 7 T9

T12 10 T11

Was ist die minimale Projektdauer?

Netzplan

Einführung in die Softwaretechnik19

Meilenstein

Arbeitspaket

Auch hierarchischer Aufbau möglich

Kritischer Pfad

Einführung in die Softwaretechnik20

Längster Pfad im Netzplan

Verzögerung vom Paketen auf kritischem Pfad -> Gesamtverzögerung Dort besonders genau planen

Zeiten ggf. verkürzen durch Projektaufgaben umstrukturieren; auch später

Andere Pakete ggf. unkritisch, berechenbarer Puffer

Beispiel: Kritischer Pfad: 55 TagePuffer T8: 20 Tage

Gantt-Diagramm

Einführung in die Softwaretechnik21

Aufteilung auf Ressourcen

Einführung in die Softwaretechnik22

insb. Personal

ggf. externe Spezialisten

Exkurs: Kapazitätsplanung

Einführung in die Softwaretechnik23

Erstellen von Zeitplänen

Einführung in die Softwaretechnik24

Manuelles Vorgehen

z.b. MPM (Metra-Potential-Methode)

kombiniert Vorwärts-und Rückwärts-terminierung

ermittelt Puffer

Softwareunterstützung üblich

MS Project, GanttProject, uvm.

Reagieren auf Terminprobleme

Einführung in die Softwaretechnik25

Terminprobleme

Einführung in die Softwaretechnik26

Fehler in der Zeitplanung sind normal! -> Regelmäßige Aktualisierung

Terminprobleme II

Einführung in die Softwaretechnik27

Geplant

Real

Terminprobleme erkennen

Einführung in die Softwaretechnik28

Kontrolle nötig, formales Rückmeldewesen

Wer, wann, was klar festlegen

Plan-Ist-Vergleich

Messbare Meilensteine!

Nicht-aktuelle Pläne: kein Wert als Führungsinstrument

Meilensteintrendanalyse

Einführung in die Softwaretechnik29

Erhebungszeitpunkt

geschätzterFertigstellungs-termin

•Extrem ansteigend: •zu optimistische Schätzungen

•Trendwende:•frühe Schätzungen unbrauchbar

•Zick-Zack-Verlauf:•Große Unsicherheit in Terminaussagen

•Gleichmäßig fallend•Zu große Puffer

Ursachen für Terminprobleme

Einführung in die Softwaretechnik30

Personalmangel (Krankheit, Fluktuation, …)

Fehlende Qualifikation,

Unvorhergesehene Schwierigkeiten

Unrealistische Aufwandsabschätzungen

Nicht bedachte Abhängigkeiten

Zusätzliche Leistungsanforderungen

Typisch bei Studentenprojekten:

Überraschende Prüfungszeit

Ungleichmäßige Arbeitsverteilung

Einarbeitungszeit unterschätzt

Potentielle Maßnahmen

Einführung in die Softwaretechnik31

Einsatz von zusätzlichem Personal insb. hochqualifiziertes Personal für spezielle Aufgaben

Temporäres Erhöhen der Arbeitszeit (Überstunden, Urlaubssperre) nur kurzfristig möglich

Verbesserter Tool- und Methodeneinsatz

Optimierung der Arbeitsabläufe

Fremdvergabe

Geringerer Leistungsumfang Prioritäten vergeben, inkrementelles Ausliefern

Fertigstellungstermin verschieben

Nicht: Weniger Testen/Qualitätskontrolle

Teamproduktivität

Einführung in die Softwaretechnik32

Mythos: “Wenn wir in Verzug sind, holen wir einfach weitere Entwickler mit ins Projekt und holen das auf”

Realität: Späte Projekte werden in der Regel später durch mehr Entwickler

Kommunikationsoverhead

Fast-schon-fertig-Syndrom

Einführung in die Softwaretechnik33

Letzten 10 % der Arbeit -> 40 % der Zeit

Fortschritt messbar machen

Nicht nur auf Schätzungen des Entwicklers verlassen

Risikomanagement

Einführung in die Softwaretechnik34

Risikomanagement

Einführung in die Softwaretechnik35

Zentrale Aufgabe des Projektmanagements

Risiken so früh wie möglich erkennen und bewerten

ggf. Maßnahmen zur Vermeidung planen

Ergebnisse der Risikoanalyse im Projektplan dokumentiert

Projektrisiken: Zeitplan und Ressourcen z.B. Entwickler krank/kündigt

Produktrisiken: Qualität und Leistung der Software z.B. gekaufte Komponente zu langsam

Wirtschaftliche Risiken z.B. Mitbewerber führt vergleichbares Produkt ein

Risiken

Einführung in die Softwaretechnik36

Risiko Art Beschreibung

Personalveränderung Projekt Erfahrenes Personal verläßt das Projekt vorzeitig, Krankheit

Managementveränderung Projekt Neues Management mit anderenPrioritäten

Hardware/Software nichtverfügbar

Projekt Zulieferung unverzichtbarerHardware/Software unpünktlich

Änderung von Anforderungen

Projekt und Produkt Mehr Änderungen als erwartet

Verzögerung in Spezifikation

Projekt und Produkt Wichtige Schnittstellen nichtrechtzeitig bekannt

Unterschätzung des Umfangs

Projekt und Produkt

Technologieveränderung Wirtschaftlich Neue Technologie verdrängtbenutzte

Produktkonkurrenz Wirtschaftlich Konkurenzprodukt vorher auf demMarkt

Ablauf des Risikomanagements

Einführung in die Softwaretechnik37

Risikoerkennung Risikoanalyse RisikoplanungRisikoüber-wachung

Liste potentieller Risiken

Priorisierte List der Risiken

Risikovermeidung und Notfallpläne

Risikobewertung

Risikoerkennung

Einführung in die Softwaretechnik38

Teamarbeit, Ideensammlung, Checklisten

Beispiele

Technologische Risiken: langsame Datenbank, fehlerhafte Komponente

Personenbezogene Risiken: Krankheit, unqualifiziertes Personal

Unternehmensbezogene Risiken: Managementwechsel

Risiken durch Werkzeuge: Code-Generator ineffizient

Anforderungsrisiken: Kunde versteht Konsequenzen von Anforderungsänderungen nicht

Schätzrisiken: Anzahl der Fehlerbehebungen wird unterschätzt

Risikoanalyse

Einführung in die Softwaretechnik39

Schätzung von Wahrscheinlichkeit und Auswirkungen

Erfahrung des Projektleiters nötig

Grobe Skalen reichen

gering (<10%), niedrig (<25%), mittel (<50%), hoch (<75%), sehr hoch

katastrophal, ernst, tolerierbar, unbedeutsam

Fokus auf die Top-10-Risiken

Risikoplanung

Einführung in die Softwaretechnik40

Vermeidungsstrategien (Risiko vermeiden)

Minimierungsstrategien (Konsequenzen minimieren)

Notfallpläne

-> Erfahrung des Projektleiters nötig

Beispiele: Kundenakzeptanz unklar: Prototyp entwickeln

Krankheit des Personals: Überschneidungen bei Arbeiten einplanen, Abhängigkeiten vermeiden

Datenbankleistung: Andere Datenbank kaufen

Finanzielle Probleme des Unternehmens: Zusammenfassung an Management vorbereitet die Beitrag des Projekts erklärt

Typische Strategien im Risikomanagement

Einführung in die Softwaretechnik41

früh Prototypen entwickeln

Inkrementelle Entwicklung

Gutes Personal rekrutieren

Teambildende Maßnahmen

Wiederverwendung, Komponenten einkaufen

Zusammenfassung

Einführung in die Softwaretechnik43

Projektmanagement zentral für Erfolg des Projekts

Plant, koordiniert, und prüft

Ständige Anpassung nötig

Risiken erkennen und planen

Weiterführende Literatur

Sommerville (2007): Software Engineering. 8 Aufl., Pearson.

Burghardt, M. (1997): Projektmanagement: Leitfaden für die Planung, Überwachung und Steuerung von Entwicklungsprojekten. 4. Aufl., Erlangen.