Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Schätzverfahren: Phasenbasierte Vergleichsschätzung m erstelle.

Ähnliche Präsentationen


Präsentation zum Thema: "Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Schätzverfahren: Phasenbasierte Vergleichsschätzung m erstelle."—  Präsentation transkript:

1 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzverfahren: Phasenbasierte Vergleichsschätzung m erstelle Statistik über prozentualen Anteil der Phasen am Gesamtprojekt m Messe Aufwand für die erste(n) Phase(n) des aktuellen Projekts m Berechne Restaufwand / Gesamtaufwand + wenig Aufwand + früh anwendbar + wird im Projektverlauf immer genauer - Hochrechnung aufgrund weniger Prozent des Gesamtaufwands Schätzfehler multipliziert sich auf

2 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzverfahren: Komponentenbasierte Schätzung m erstelle Grobdesign m schätze die Größe der einzelnen Bausteine / Komponenten / Klassen m Summiere Gesamtgröße auf m teile durch die Produktivität => Aufwand - erfordert ein Grobdesign - größerer Aufwand + höhere Genauigkeit + einzelne Schätzfehler mitteln sich weg (wenn statistisch unabhängig) l 25 unabhängige Größen mit einem Schätzfehler von je 100% Gesamtfehler nur 20%

3 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzverfahren: Lineare Regression zum Ausgleich von systematischen Schätzfehlern

4 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Delphi Methode m lasse mehrere Experten unabhängig voneinander Schätzen (z.B. komponentenbasiert) m dann diskutieren die Experten ihre Schätzungen (insbesondere auffällige Unterschiede) m obige Schritte werden iteriert bis "Stabilität" erreicht + Diskussion über Unterschiede deckt übersehene / falsch eingeschätzte Probleme auf + Minimierung von persönlichen Schätzfehlern des einzelnen Experten - je mehr Experten je mehr Aufwand - gruppendynamische Effekte können falsche Tendenzen auslösen (2 oder 3 unabhängige Schätzungen und höchstens zwei Durchgänge sind meistens gut)

5 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Fuzzy-basiertes Schätzen m Bewertung der Einflussfaktoren mit "linguistischen Kategorien (schwer-mittel-leicht, complex-schwierig-normal-leicht) m Ableitung von Korrekturfaktoren für die einzelnen Kategorien m entsprechende Korrektur der Basisschätzung + intuitives Verfahren + projektspezifische Anpassungen werden möglich + Korrekturfaktoren können mit historischer Datenbasis abgeglichen / justiert werden - Schwankungsbreite durch Korrekturfaktoren ist dramatisch (bis zu Faktor 10 und mehr)

6 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

7 Allgemeine Kritik an bisherigen Ansätzen m mangelnde statistische Absicherung m mangelhafte Genauigkeit (Faktor 2 bis 3 Abweichung sind üblich) geschätzte 10 Personenjahre bedeuten zwischen 3 und 30 Jahren tatsächlichem Aufwand m zu wenig individuelle / domänenspezifische / firmenspezifische Einflussfaktoren Humpreys PROBE Methode

8 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Fuzzy-Tabelle für Methodengrößen m persönliche Tabelle für Java-Methoden aus statistischen Daten erstellen m Methodengrößen sollten "normalverteilt" sein (Gaußsche Glockenkurve) m medium sollte 40% der Fälle abdecken, small und large je 20%, der Rest je 10%

9 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Lineare Regression (noch mal) m b 0 und b 1 wie gehabt

10 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Schätzgenauigkeit: Konfidenzintervall 2

11 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Graphische Veranschaulichung der t-Verteilung

12 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University t-Verteilung: (Tabelle A2, Seite 489)

13 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Konfidenzintervall-Beispiel: Datenbasis (Tabelle A30, Seite 551)

14 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Konfidenzintervall-Beispiel m sig 2 = ,3 / 8 = 39162,66 m sig = 197,896 m wir wählen alpha/2 = 90% => t( alpha/2=90, ) = m geschätzte LOC = 705 m nach linearer Regression mit b 0 = -22,54 und b 1 = 1,7279 erwarten wir 1195,63 LOC m mit 90% Sicherheit liegt die Programmgröße zwischen 793 LOC und 1598 LOC

15 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Verkleinerung des Konfidenzintervalls m weniger Sicherheit verlangen: t(70%, 8) = 1,108 (anstatt 1,860) m größere Datenbasis: t(70%, 30) = 1,055 m Standardabweichung durch viele Teilschätzung verbessern: l 100 mal so großes Programm mit 100 Komponenten a 705 geschätzte LOC l Gesamtschätzung ergibt LOC und nach Regression erwartete LOC l beim Konfidenzintervall rechnet man nicht 100 * Range sondern Wir erwarten zwischen bis LOC mit 90 % Konfidenz (Fehler ist kleiner als 10 %) l Generell ist die Genauigkeitsverbesserung

16 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Zusammenfassung m im wesentlichen lineare Regression über LOC / Hour Daten m Achtung: die Produktivität schwankt stark von Person zu Person m Falls Personen noch nicht festgelegt, "Durchschnittsperson" verwenden m nach Personeneinteilung, mit persönlichen Faktoren korrigieren m Ergebnis: l Gesamtstundenanzahl für das Projekt l Konfidenzinterval

17 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Zeitplanerstellung ACHTUNG: m man arbeitet nicht 52 Wochen a 40 Stunden = 2080 Stunden pro Jahr m Urlaub, Feiertage, Krankheit, Schulungen => 200 Arbeitstage pro Jahr m Besprechungen, Meetings, Mails, Surfen,... => 4 bis 5 Stunden Entwicklungsarbeit pro Tag circa 1000 Stunden pro Personenjahr m mehr ist unproduktiv und nicht lange durchzuhalten m wenns brennt kann man (für ein paar Wochen) auf 50 Stunden pro Woche hochfahren und Schätzfehler ausbügeln m wenn man das dauernd macht bricht man irgendwann ein

18 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

19 Zeitplanerstellung m Gesamtprojektzeit gemäß Schätzung m Einteilen in Tasks, z.B. Phasen, Komponenten,... m Schätzen der relativen Taskgröße und Ableiten der Taskzeit m bestimmen der typischen Stundenzahl für Projektarbeit pro Woche m Zeiten für andere Projekte, Schulungen, Urlaub, Meetings,... im Kalender vermerken m pro Kalenderwochen erwartete Projektstunden im Kalender eintragen m Taskreihenfolge festlegen: l Vorgänger / Nachfolgerbeziehung festlegen => Gantt Chart l topologisch sortieren l kritische Pfade analysieren l Risikoanalyse l... m Tasks im Kalender eintragen (z.B. mit Microsoft Project, ) m Meilensteine festlegen

20 Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University

21

22

23 Zusammenfassung PSP m solide statistische Absicherung von Projektplänen m LOC als Basismaß m individuelle Datenbasis m hohe Schätzgenauigkeit bei wiederholbarem Prozess


Herunterladen ppt "Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Schätzverfahren: Phasenbasierte Vergleichsschätzung m erstelle."

Ähnliche Präsentationen


Google-Anzeigen