40
© 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet; bei auszugsweiser Verwendung mit Quellenangabe. Verwendung für Unterrichtszwecke oder kommerziellen Gebrauch nur mit vorheriger schriftlicher Genehmigung des Autors. Martin Glinz Thomas Fritz Software Engineering Kapitel 14 Software-Projektführung

Martin Glinz Thomas Fritz Software Engineering Software

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Martin Glinz Thomas Fritz Software Engineering Software

© 2005-2013 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen Gebrauch gestattet; bei auszugsweiser Verwendung mit Quellenangabe. Verwendung für Unterrichtszwecke oder kommerziellen Gebrauch nur mit vorheriger schriftlicher Genehmigung des Autors.!

Martin Glinz Thomas FritzSoftware Engineering Kapitel 14

Software-Projektführung!

Page 2: Martin Glinz Thomas Fritz Software Engineering Software

2!

14.1 !Projektplanung!

14.2 !Projektkontrolle und -lenkung!

14.3 !Projektabschluss!

14.4 !Software-Risikoführung!!!

Software Engineering !Kapitel 14: Software-Projektführung !© 2011 Martin Glinz !

Page 3: Martin Glinz Thomas Fritz Software Engineering Software

3!

Ist Software-Projektführung etwas Besonderes?!

Besonderheiten von Software-Projekten?!

Software ist immateriell!

!

➪  Führung durch genaues Hinsehen funktioniert nicht!!

➪  sorgfältige Planung, fortlaufende Überprüfung, Lenkung!

➪  Beachtung der Projektrisiken!

❍  In dieser Vorlesung:!●  Konzentration auf softwarespezifische Fragen!●  Keine Behandlung allgemeiner Probleme der Projektführung!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 4: Martin Glinz Thomas Fritz Software Engineering Software

4!

Software-Projektplanung!

❍  Was ist zu planen?!●  Prozessmodell!●  Organisationsstruktur!●  Personal und Personaleinsatz!●  Termine und Kosten!●  Dokumente und Verfahren!

❍  Wie planen?!●  Sach- und zielorientiert!●  Anspruchsvoll, aber realistisch!●  Aufgaben und Ressourcen im Gleichgewicht!

Prozessmodell!

Organisation!Termine!

Koste!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 5: Martin Glinz Thomas Fritz Software Engineering Software

5!

Software-Projektorganisation!

❍  Grundsätzlich wie bei jedem Projekt!

❍  Besonders beachten!●  ! Rolle der Projektleiterin / des Projektleiters!●  ! Beziehungen der Projektbeteiligten untereinander!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 6: Martin Glinz Thomas Fritz Software Engineering Software

6!

Rolle der Projektleitung!

❍  ProjektleiterIn ist Schlüsselfigur!

❍  Führung durch Zielsetzung!

❍  Kompetenzen, Verantwortung und Ressourcen!

❍  eigenverantwortliches Handeln!

❍  Berichten und informieren!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 7: Martin Glinz Thomas Fritz Software Engineering Software

7!

Beziehungen der Projektbeteiligten untereinander!

Demokratisches Team! !Hierarchisch organisiertes Team!

❍  Idealfall: pro Person nur ein Projekt gleichzeitig!

❍  sonst: Umschaltverluste!

PL

klein

PLPL

StabPL: Projektleiter

mittel groß

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 8: Martin Glinz Thomas Fritz Software Engineering Software

8!

Der Projektstart!

❍  Kritische Phase ! ➪ !Vorprojekt!❍  Unterschiedlich je nach Projekttyp (intern, extern, Produkt)!❍  Je nach Prozessmodell eine oder mehrere Planungsphasen!

Linear: Inkrementell: Anstoß

Vorprojekt

Projektdurch-führung

Projektabschluss

Lieferung

Auftrag

Anstoß

VorprojektGesamtvorhaben

Auftrag

„kleines“ Vorprojekti-te Iteration

Durchführung i-tes Teilprojekt

Inbetriebnahme

Teil-liefe-rungen

Projektabschluss

ErfahrungenWünsche

fertig

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 9: Martin Glinz Thomas Fritz Software Engineering Software

9!

Prozessmuster – 1!Initiierung:Projektauftragvorbereiten

Projekt-auftrag

Projekt-plan

Anforde-rungs-spezifi-kation

Entscheidüber Projekt-auftrag

Vorprojektdurchführen

ok

Änderungen notwendig

Entscheidüber Projekt-durchführung

ok

Projekt durchführen

Beauftragter

Projektleiter

Linieabgelehnt

abgelehnt

Linie

Projektidee

Linie

fertig

fertig

Änderungen notwendig

Unternehmensinternes Projekt!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 10: Martin Glinz Thomas Fritz Software Engineering Software

10!

Prozessmuster – 2!

Externes Auftragsprojekt!

Studie durch-führen: Machbar-keit, Aufwand

Studie

Offerte

Entscheid,ob offeriertwird

Offerte schreiben

ok

Änderungennotwendig

Bescheidanalysieren

ok

Projekt durchführen

Beauftragter

Linie

abge-lehnt

Kunde

Anfrage

RückfragenAuskunft,Wünsche

Absage

Nachbesserungverlangt

Projekt planen

Projektleiter

Projekt-plan

Beauftragter

Bescheid

VertragschließenLinie

Vertrag

Bescheid erhalten

enthält:grobeAnforderungs-spezifikation,Wirtschaftlich-keitsrechnung,Projektskizze

*

*

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 11: Martin Glinz Thomas Fritz Software Engineering Software

11!

Prozessmuster – 3!

Produktentwicklungs-projekt!

Produkt-vor-schlag

Produkt-studie

Projekt-plan

Entscheidüber Produkt-vorschlag

Produktstudiedurchführen

ok

Änderungennotwendig

Entscheidüber Durchführung

ok

Beauftragter

Linie

abgelehnt

abgelehnt

Marketing,Mitarbeiter,Kunde

Linie

fertig

Projekt planen

Projektleiter

Projekt durchführen

Vorschlageingereicht

Beobachten,untersuchen,Fragen stellen

Antworten,Feststellungen

enthält:Produkt-skizze,Marketing-Konzept,Projekt-skizze

Kunden

Markt,Techno-logie

*

*

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 12: Martin Glinz Thomas Fritz Software Engineering Software

12!

Prozessmuster – 4!

Konfigurationsprojekt!

Kundenproblemanalysieren

Studie

Offerte

Auftragakquirieren

Bescheidanalysieren

ok

Projekt durchführen

Beauftragter/Vertrieb

abge-lehnt

Kunde

Anfrage

Rückfragen

Auskunft,

Wünsche

Projekt planen

Projektleiter

Projekt-plan

Beauftragter

Bescheid

Vertragschließen

Linie

Vertrag

Prototypkonfigurieren

Software-Kompo-nenten

Prototyp

Offerte schreiben

Kundezufrieden

Bescheid erhalten

Nachbesse-

rung verlangt

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 13: Martin Glinz Thomas Fritz Software Engineering Software

13!

Der Projektplan!

❍  Dokumentiert!●  ! alle Ergebnisse der Planung!●  ! Planfortschreibungen!

❍  Gibt Antwort auf sechs W-Fragen:!●  WARUM: Veranlassung und Projektziele!●  WAS: die zu liefernden Resultate (Produktziele)!●  WANN: die geplanten Termine!●  DURCH WEN: Personen und ihre Verantwortlichkeiten!●  WOMIT: die zur Verfügung stehenden Mittel (Geld, Geräte,

Software...)!●  WIE: die Vorgehensweise und die Maßnahmen zur Sicherstellung

des Projekterfolgs!Software Engineering !Kapitel 14: Software-Projektführung !© 2009 Martin Glinz !

Page 14: Martin Glinz Thomas Fritz Software Engineering Software

14!

Mögliche Gliederung eines Projektplans!

1. !Einleitung!2. !Ziele!3. !Arbeitsplan

3.1 Arbeitspakete 3.2 Lieferung und Abnahme 3.3 Risiken!

4. !Terminplan!5. !Personalplan

5.1 Projekt-Organigramm5.2 Personaleinsatzplan!

6. !Kostenplan!7. !Übrige Ressourcen!8. !Vorgehen!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 15: Martin Glinz Thomas Fritz Software Engineering Software

15!

Planungshilfsmittel!

❍  Terminpläne, Kostenpläne, Arbeitspläne, Personaleinsatzpläne graphisch in Diagrammen!

❍  Immer SOLL und IST!

❍  Möglichst mit Hilfe von Werkzeugen!

❍  Geplante und tatsächliche Aufwendungen genau ermitteln und dokumentieren!➪  !Grundlage für Schätzungen in neuen Projekten!

Software Engineering !Kapitel 14: Software-Projektführung !© 2009 Martin Glinz !

Page 16: Martin Glinz Thomas Fritz Software Engineering Software

16!

Kombinierter Arbeits-/Personaleinsatz-/Terminplan!

WAS WER WANN (Kundenwoche)

Vorprojekt Meyer,

Schneider

Prototyp Fritschi,

Schneider

DB-Anpassung

Wechselstube

Kursinfo

Installation,

Abnahme

Fritschi,

Tanner

Meyer

Schneider

Fritschi,

Schneider

17 18 19 20 21 22 23 24 25 26

SOLL IST

aktueller Stand

M0 M1 M2.1 M2.2 M3.1 M4 M5 M3.2 M6

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 17: Martin Glinz Thomas Fritz Software Engineering Software

17!

14.1 !Projektplanung!

14.2 !Projektkontrolle und -lenkung!

14.3 !Projektabschluss!

14.4 !Software-Risikoführung!!!

Software Engineering !Kapitel 14: Software-Projektführung !© 2011 Martin Glinz !

Page 18: Martin Glinz Thomas Fritz Software Engineering Software

18!

Was und warum!

“Plan the flight and fly the plan” (B. Boehm)!

❍  Fortschrittskontrolle ist notwendig!

❍  Ergebnisse müssen messbar sein, sonst droht das 90% Syndrom!

❍  Bei Abweichungen: Lenkung notwendig!

❍  Terminverfolgung!

❍  Sachzielverfolgung!

❍  Kostenverfolgung!

❍  Risikoverfolgung!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 19: Martin Glinz Thomas Fritz Software Engineering Software

19!

Zu 90% fertig...!

Wir sind zu 90% fertig!!

Sehr schön. Und wie lange schon?!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 20: Martin Glinz Thomas Fritz Software Engineering Software

20!

Das 90%-Syndrom!

geschätzter Fertigstellungs-grad in Prozent!

geleisteter Aufwand in Personenwochen!

0 2 4 6 8 10

20

40

60

80

100

10

30

50

75

90

95 959898 98 99

100

nach Boehm (1981)!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 21: Martin Glinz Thomas Fritz Software Engineering Software

21!

Sachziel- und Terminverfolgung!

❍  Mit Hilfe der Meilensteine!

❍  Planung: !●  Meilensteine strukturieren die Sachziele in Teilziele!●  Festlegung der SOLL-Termine für alle Meilensteine!

❍  Wenn Meilenstein erreicht:!●  Zwischenziel nachweislich erreicht!●  gesicherte quantitative Aussage der Terminlage durch Soll-Ist-

Vergleich!

❍  Meilenstein am geplanten Termin nicht erreicht: Schätzung der Terminlage durch Schätzung des verbleibenden Aufwands!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 22: Martin Glinz Thomas Fritz Software Engineering Software

22!

Kostenverfolgung – 1!

❍  Scheinbar einfach: Aufzeichnen budgetierter und tatsächlicher Kosten über der Zeit!

❍  De facto unbrauchbar!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 23: Martin Glinz Thomas Fritz Software Engineering Software

23!

Mini-Übung 14.1 (Aufgabe 4.2 im Skript)!

Begründen Sie, warum das Auftragen von budgetierten und tatsächlichen Kosten über der Zeit ein unbrauchbares Mittel für die Kostenverfolgung in Projekten ist.!

Software Engineering !Kapitel 14: Software-Projektführung !© 2011 Martin Glinz !

Page 24: Martin Glinz Thomas Fritz Software Engineering Software

24!

Kostenverfolgung – 2!

❍  Welche brauchbaren Möglichkeiten zur Kostenverfolgung gibt es?!

❍  Zwei Alternativen:!●  Kosten und fiktive Erträge auf einer Zeitachse!●  Kosten auf einer Meilensteinachse: Soll-Kosten am geplanten

Meilenstein-Termin mit Ist-Kosten bei Erreichung des Meilensteins vergleichen!

[Risikoverfolgung: später]!

Software Engineering !Kapitel 14: Software-Projektführung !© 2009 Martin Glinz !

Page 25: Martin Glinz Thomas Fritz Software Engineering Software

25!

Verantwortlichkeiten und Berichtswesen!

❍  Verantwortlichkeiten und Kompetenzen aller Beteiligten klar geregelt!

❍  Keine Übertragung von Verantwortung ohne die dafür notwendigen Kompetenzen und Ressourcen!

❍  Stufengerechtes Umgehen mit Problemen!

❍  Berichtswesen!●  Nicht als bürokratische Schikane...!●  ...sondern als Frühwarnfunktion!

❍  Arbeitspaket-Ordner als Organisationsmittel!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 26: Martin Glinz Thomas Fritz Software Engineering Software

26!

Ziele

Ressourcen

Information

Messungen

Ergebnisse

Störungen

ProjektleiterIn

Entwicklungsprozess

Prozessablauf

Beobach-

tungen

Zufall

Planung

Projektlenkung!

Ein gelenkter Entwicklungsprozess:!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 27: Martin Glinz Thomas Fritz Software Engineering Software

27!

Maßnahmen bei Abweichung!

❍  Abweichungen! !➪ !Gegenmaßnahmen!

❍  Beispiel: Terminüberschreitung ! ➪!●  Bereitstellung zusätzlicher Ressourcen!●  Befreiung von Projektmitarbeitern von anderen Verpflichtungen !●  Anordnung von Überstunden!●  Vergabe von Teilaufträgen an Dritte!●  Abstriche bei den zu erreichenden Sachzielen!●  Etappierung der Sachziele (nach der Art eines Wachstumsmodells)!

❍  Vorsicht: Software-Projekte sind nichtlineare Systeme!

❍  Falls Gegenmaßnahmen versagen oder nicht möglich sind:!

➪ !Planung anpassen!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 28: Martin Glinz Thomas Fritz Software Engineering Software

28!

Software-Projekte sind nichtlineare Systeme!

❍  Wirkungen, Nebenwirkungen und Auswirkungen studieren!

❍  Beispiel: Maßnahmen zur Lenkung der Qualität der erstellten Programme in einem Software-Projekt!

Qualität der!Programme!

Aufwand!Code-!Inspektionen!

Separates Team!für alle Tests!Sorgfalt der!

Programmierer!

wirkt positiv, d.h. mehr A bewirkt mehr B!wirkt negativ, d.h. mehr A bewirkt weniger B!

A! B!B!A!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 29: Martin Glinz Thomas Fritz Software Engineering Software

29!

14.1 !Projektplanung!

14.2 !Projektkontrolle und -lenkung!

14.3 !Projektabschluss!

14.4 !Software-Risikoführung!!!

Software Engineering !Kapitel 14: Software-Projektführung !© 2011 Martin Glinz !

Page 30: Martin Glinz Thomas Fritz Software Engineering Software

30!

Projektabschluss!

➪  Produkt geordnet in die Pflege überleiten!

➪  Entstandenes Wissen sichern!

❍  Dokumente abschließen und archivieren!

❍  Messungen!●  abschließen!●  Gesamtgrößen berechnen (zum Beispiel Gesamtaufwand, totale

Durchlaufzeit)!●  Messwerte archivieren!

❍  Projektgeschichte dokumentieren!●  SOLL und IST für Kosten, Termine, Sachziele, Personaleinsatz!●  Erfahrungen und Lehren!

Software Engineering !Kapitel 14: Software-Projektführung !© 2009 Martin Glinz !

Page 31: Martin Glinz Thomas Fritz Software Engineering Software

31!

Lehren: Die Geschichte der Elchjäger in Kanada!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 32: Martin Glinz Thomas Fritz Software Engineering Software

32!

14.1 !Projektplanung!

14.2 !Projektkontrolle und -lenkung!

14.3 !Projektabschluss!

14.4 !Software-Risikoführung!!!

Software Engineering !Kapitel 14: Software-Projektführung !© 2011 Martin Glinz !

Page 33: Martin Glinz Thomas Fritz Software Engineering Software

33!

Risikoführung!

Risiko – Ereignis, welches den sachlichen oder wirtschaftlichen Erfolg eines Projekts bedroht.!

Risikoführung

Risikobestimmung

Risikosteuerung

Risikoerkennung

RisikoanalyseRisikobewertung

Risikoplanung

RisikominderungRisikoverfolgung

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 34: Martin Glinz Thomas Fritz Software Engineering Software

34!

Die 10 häufigsten Software-Risiken!

1 !Zu wenig Leute!2 !Unrealistische Kosten- und Terminpläne!3 !Falsche Funktionalität!4 !Falsche Benutzerschnittstelle!5 !Vergoldung (überflüssiger Luxus)!6 !Sich ständig verändernde Anforderungen!7 !Probleme mit zugekauften Komponenten!8 !Probleme mit extern vergebenen Aufträgen!9 !Nichterreichen der verlangten Leistungen (z.B. Reaktionszeit)!10 !Überforderung der Mitarbeiter in Bezug auf ihr softwaretechnisches

Können!! ! ! ! ! ! ! ! ! ! ! ! ! ! !Quelle: Boehm (1991)!

Software Engineering !Kapitel 14: Software-Projektführung !© 2009 Martin Glinz !

Page 35: Martin Glinz Thomas Fritz Software Engineering Software

35!

Risikoanalyse – 1!

❍  Bestimmung der Gefährlichkeit der Einzelrisiken und von Risiko-kombinationen!

❍  Gefährlichkeit:!●  Eintretenswahrscheinlichkeit p(Risiko)!●  Schadenhöhe s(Risiko)!

➪ Bewertung mit Risikofaktor: f(Risiko) = p(Risiko) * s(Risiko)!

❍  Risiken mit gleichem Risikofaktor sind etwa gleich gefährlich!

❍  Problem der Restrisiken!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 36: Martin Glinz Thomas Fritz Software Engineering Software

36!

Risikoanalyse – 2!

101

1

10

B

C

D

AE

1 10 50Risikofaktor = 100

Relative Schadenhöhe

RelativeEintretens-wahrschein-lichkeit

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 37: Martin Glinz Thomas Fritz Software Engineering Software

37!

Risikosteuerung!

❍  Pläne und Maßnahmen für die Beherrschung der großen Risiken:!●  Ist das Risiko vermeidbar?!●  Gibt es Maßnahmen zur Minderung?!●  Wie soll das Risiko im Projekt verfolgt werden?!●  Kann das Risiko auf Dritte abgewälzt werden?!

❍  Risikoverfolgung: Die Risiken während der Projektabwicklung im Auge behalten!

❍  Zum Beispiel durch regelmäßig aktualisierte Rangliste der Risiken!

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 38: Martin Glinz Thomas Fritz Software Engineering Software

38!

Die 10 häufigsten Software-Risiken: Maßnahmen – 1!

Risiko mögliche Maßnahmen Zu wenig Leute Gute Leute einstellen, vorhandene Leute aus-

bilden, Motivation und Arbeitsklima fördern, den richtigen Leuten die richtigen Aufgaben geben

Unrealistische Kosten- und Terminpläne

Sorgfältige Aufwandschätzung, Entwicklung mit Wachstumsmodell, Anforderungen reduzieren, kostenorientierte Entwicklung

Falsche Funktionalität Quantifizierte Ziele, sorgfältige Spezifikation, Prototypen, Beteiligung des Auftraggebers

Falsche Benutzerschnittstelle Prototypen, Einbezug der Endbenutzer (oft nicht identisch mit den Auftraggebern!)

Vergoldung (überflüssiger Luxus)

Kosten-Nutzen-Analyse, Setzen von Prioritäten in den Zielen, kostenorientierte Entwicklung

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 39: Martin Glinz Thomas Fritz Software Engineering Software

39!

Die 10 häufigsten Software-Risiken: Maßnahmen – 2!Risiko mögliche Maßnahmen Sich ständig verändernde Anforderungen

Setzen von Wichtigkeits-Schwellwerten (unterhalb derer nicht geändert wird), änderungsfreundlicher Entwurf (z.B. durch Information Hiding), Entwicklung mit Wachstumsmodell

Probleme mit zugekauften Komponenten

Sorgfältige Auswahl (z.B. mit Benchmarks), Eingangs-Qualitätskontrolle

Probleme mit extern vergebe-nen Aufträgen

Überprüfung des Auftragnehmers vor Auftrags-vergabe, klar formulierte Aufträge, Zwischen-inspektionen während der Abwicklung, Abnahme-inspektion, Aufträge mit Erfolgshonorar

Nichterreichen der verlangten Leistungen (z.B. Reaktions-zeit)

Abschätzung in Review, Simulationen, Proto-typen, Messung und Optimierung

Überforderung der Mitarbeiter in Bezug auf ihr softwaretech-nisches Können

Aufgabenanalyse, Ausbildung, Reduktion der Anforderungen, Entwicklung mit Wachstums-modell

Software Engineering !Kapitel 14: Software-Projektführung !© 2005 Martin Glinz !

Page 40: Martin Glinz Thomas Fritz Software Engineering Software

40!

Literatur!!!Siehe Literaturverweise im Kapitel 4 des Skripts.!!

Software Engineering !Kapitel 14: Software-Projektführung !© 2013 Martin Glinz !