Empirische Softwaretechnik



Ähnliche Dokumente
Empirische Softwaretechnik Feldanalyse der Prozentsatzmethode zur Aufwandsschätzung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

Feldanalyse zur Prozentsatzmethode. Prozentsatzmethode (Forts.) Prozentsatzmethode. Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825

4. Erstellen von Klassen

Statuten in leichter Sprache

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Korrelation (II) Korrelation und Kausalität

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Statistische Auswertung:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Statistik für Studenten der Sportwissenschaften SS 2008

Profil A 49,3 48,2 50,7 50,9 49,8 48,7 49,6 50,1 Profil B 51,8 49,6 53,2 51,1 51,1 53,4 50, ,5 51,7 48,8

Professionelle Seminare im Bereich MS-Office

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Media Teil III. Begriffe, Definitionen, Übungen

Umfrage in den 5er-Klassen zu Hausaufgaben in den Nebenfächern im Schuljahr 2014/15

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

QM: Prüfen -1- KN

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Dokumentation. estat Version 2.0

Verband der TÜV e. V. STUDIE ZUM IMAGE DER MPU

Einzelheiten zum Bundes-Teilhabe-Gesetz

Erstellen von x-y-diagrammen in OpenOffice.calc

Lichtbrechung an Linsen

Simulation LIF5000. Abbildung 1

Wir machen neue Politik für Baden-Württemberg

B 2. " Zeigen Sie, dass die Wahrscheinlichkeit, dass eine Leiterplatte akzeptiert wird, 0,93 beträgt. (genauerer Wert: 0,933).!:!!

SPI-Seminar : Interview mit einem Softwaremanager

Ringversuch zur 9. Pilztagung des VDB 2005 in Hamburg

GEVITAS Farben-Reaktionstest

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Organisation des Qualitätsmanagements

Informationsblatt Induktionsbeweis

Umgang mit Schaubildern am Beispiel Deutschland surft

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

7 Rechnen mit Polynomen

Leseprobe. Wilhelm Kleppmann. Versuchsplanung. Produkte und Prozesse optimieren ISBN: Weitere Informationen oder Bestellungen unter

Einfache Varianzanalyse für abhängige

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Daten sammeln, darstellen, auswerten

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Erfahrungen mit Hartz IV- Empfängern

Statistik II Wahrscheinlichkeitsrechnung und induktive Statistik Erste Klausur zum Sommersemester Juli 2005

R ist freie Software und kann von der Website.

Mathematischer Vorbereitungskurs für Ökonomen

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

Messung und Aufwandsschätzung bei der Entwicklung von Web Applikationen. Frederik Kramer // Folie 1 von 14

Musterlösung zu Serie 14

Berechnung der Erhöhung der Durchschnittsprämien

1. Kennlinien. 2. Stabilisierung der Emitterschaltung. Schaltungstechnik 2 Übung 4

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Lernaufgabe Industriekauffrau/Industriekaufmann Angebot und Auftrag: Arbeitsblatt I Auftragsbeschreibung

Kulturelle Evolution 12

Risikodiversifikation. Birgit Hausmann

Speicher in der Cloud

Quadratische Gleichungen

Selbsttest Prozessmanagement

W-Rechnung und Statistik für Ingenieure Übung 11

Didaktisierungsvorschläge zum Kalender. Jugend in Deutschland UNTERRICHTSENTWURF Juli. Alles, was Spaß macht: HOBBY UND FREIZEIT

Fast jeder zweite Deutsche würde gerne abnehmen

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

AUTOMATISIERTE HANDELSSYSTEME

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Geld Verdienen im Internet leicht gemacht

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

LIFO -Stärkenmanagement: Übungen und Spiele

Einfache statistische Auswertungen mit dem TI-Nspire

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Prüfungsfach Mathematik Samstag, 08. Juni 2002

AutoCAD Dienstprogramm zur Lizenzübertragung

Lehrer: Einschreibemethoden

Zeichen bei Zahlen entschlüsseln

Grundlagen der Theoretischen Informatik, SoSe 2008

How to do? Projekte - Zeiterfassung

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Zahlen auf einen Blick

Installation OMNIKEY 3121 USB

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

So geht s Schritt-für-Schritt-Anleitung

Datenbank LAP - Chefexperten Detailhandel

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Kleine Einführung in die lineare Regression mit Excel

Die richtigen Partner finden, Ressourcen finden und zusammenführen

Screening Das Programm. zur Früherkennung von Brustkrebs

FAQs für beglaubigte Übersetzungen Francesca Tinnirello

Video-Thema Manuskript & Glossar

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Erfolg und Vermögensrückgänge angefertigt im Rahmen der Lehrveranstaltung Nachrichtentechnik von: Eric Hansen, am:

PIXMA MG3500. series. Einrichtungshandbuch

Arbeitspunkt einer Diode

Auswertung JAM! Fragebogen: Deine Meinung ist uns wichtig!

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Transkript:

Empirische Softwaretechnik Prof. Dr. Walter F. Tichy Dr. Frank Padberg Sommersemester 2007 Feldanalyse zur Prozentsatzmethode Softwaretechnik: widerlegt empirisch die einfache Prozentsatzmethode zur Schätzung von Softwareentwicklungsaufwand zeigt Regressionsansatz, um aus dem Aufwand einer Phase den Aufwand für die nächste Phase zu schätzen Statistik: Regressionsdiagnostik Anwendbar auf ähnliche Fragen bei Aufwandsschätzungen 1 2 Prozentsatzmethode Prozentsatzmethode (Forts.) aus früheren Projekten wird ermittelt, wie sich der Aufwand auf die einzelnen Entwicklungsphasen verteilt hat beim neuen Projekt schließt man eine Phase zunächst vollständig ab und ermittelt dann aus dem Ist-Aufwand für diese Phase den Soll-Aufwand für die restlichen Phasen 3 Beispiel für Prozentsätze [Boehm 1973]: Analyze and Design Implement Test Adapt Enhance Fix nach B. Boehm [Datamation 1973] entnommen: Fairley (S.10) Maintenance 4

Prozentsatzmethode (Forts.) Beispiel für Prozentsätze [Putnam 1992]: Prozentsatzmethode (Forts.) Beispiel für Prozentsätze [Rubin 1995]: 23.1 23.5 23.1 23.5 11.0 11.0 12.6 12.6 21.1 8.7 8.7 nach L.H. Putnam & W. Myers (S.285/286) 5 nach H. Rubin [1995] entnommen: Nageswaran [2001] 6 Prozentsatzmethode (Forts.) Prozentsatzmethode (Forts.) Beispiel für Schätzung: Gesamtaufwand sei x Entwurf war 320 Personentage (PT) Aufwand 320 PT x 20% laut Diagramm Gesamtaufwand x 320 0,2 = 1600 PT Implementierung mit Testen x 40% = 640 PT die Methode wird immer wieder versucht... Berechnung aus Schätzkurven für Aufwand und Personalverteilung in anderen Modellen - SLIM [Putnam 1992 Kap.17 S.285] - CoCoMo [Boehm 1981 Kap.7 S.98] [Royce 2000] [Jones 2002]... und in Büchern gelehrt (Balzert S.82) Wie gut ist diese Methode? 7 8

Feldanalyse von MacDonell und Shepperd (2003) Using Prior-Phase Effort Records for Re- Estimation During Software Projects Ergebnis: die Prozentsatzmethode ist nicht korrekt, aber ein Regressionsansatz kann Verbesserungen bringen Int. Symposium on Software Metrics METRICS 9 (2003) 73-86 Projekte innerhalb einer Firma 16 vergleichbare Einzelentwicklungen von Hardware-Test-Systemen C und C++ Unix-basiert oder in spezieller Laufzeitumgebung eingebettet (Ausführungsumgebung) 9 10 Projekte (Forts.) über einen Zeitraum von 18 Monaten in 2000 und 2001 stabiles Management klassische Wasserfall-Entwicklung Aufwandschätzung durch die Manager ( expert estimation ) vorab für jede Phase (OE = original effort estimate) während der Projekte aktualisiert (CE = current effort estimate) 11 12

Aufwanderfassung laufende Erfassung des Ist-Aufwands (ACT = actual effort) zwischen 500 und 7800 Personenstunden tatsächlicher Gesamtaufwand systematische Vorgehensweise bei der Datensammlung (CMM-orientiert) Entwicklungsphasen project planning (PP) requirements specification (RS) design specification (DES) implementation (IMP) test specification and testing (TEST) release, installation, and manuals (RIM) maintenance (MA) 13 14 Erster Versuch... Anteil der Planungsphase feste Prozentsatzverteilung, orientiert am Median oder Mittelwert der gesammelten Aufwanddaten variiert zwischen 0 und 14 Prozent (Median 3) 15 16

Anteil der Anforderungsspezifikation Anteil der Entwurfsphase variiert zwischen 0 und 11 Prozent (Median 0) variiert zwischen 4 und 38 Prozent (Median 19) 17 18 Anteil der Implementierung Anteil der Testphase variiert zwischen 19 und 77 Prozent (Median 27) variiert zwischen 4 und 44 Prozent (Median 23) 19 20

Anteil von Auslieferung und Dokumentation Anteil der Wartungsphase variiert zwischen 0 und 7 Prozent (Median 1) variiert zwischen 0 und 11 Prozent (Median 0) 21 22 Zwischenergebnis Anteile der einzelnen Phasen am Gesamtaufwand schwanken stark verlässliche Schätzung des Aufwands mit der Prozentsatz-Methode ist nicht in Sicht! Zweiter Versuch... allgemeine Einsicht : gründliche Vorbereitung von Spezifikation und Entwurf führt zu geringerem Aufwand für Implementieren und Testen Ansatz: Korrelationsanalyse der Proportionen der einzelnen Entwicklungsphasen 23 24

Einschränkung der Studie RS-Aufwand oft anteilig in PP oder DES enthalten RIM-Aufwand oft anteilig in IMP oder TEST enthalten unbekannt, wann und wie sich diese Aufwände im einzelnen auf die anderen Phasen verteilt haben Einschränkung (Forts.) Konsequenz: Studie beschränkt sich auf die Verhältnisse zwischen PP, DES, IMP und TEST, ohne RS und RIM außerdem nicht in der Auswertung berücksichtigte Aufwände: training and learning (TL) project management (PM) Zahlen erst re-skalieren (ohne RS und RIM Anteile)... 25 26 Entwurfsanteil vs. Planungsanteil Implementierungsanteil vs. Planungsanteil tau: Kendalls Korrelationskoeffizient für Daten, die nicht normalverteilt sind (-1 <= tau <= +1). Berechnet aus Rängen tau = 0.5 p < 1 % p: die Wahrscheinlichkeit, dass X- und Y-Werte der Stichprobe unabhängig sind. 27 tau = -0.42 p = 2 % 28

Implementierungsanteil vs. Entwurfsanteil Testanteil vs. Planungsanteil tau = -0.48 p < 1 % tau = -0.15 p = 45 % 29 30 Testanteil vs. Entwurfsanteil Testanteil vs. Implementierungsanteil tau = -0.32 p < 10 % tau = -0.1 p = 63 % 31 32

Interpretation Anteil der Entwurfsarbeit steigt mit Anteil der Planungsarbeit Anteil der Implementierungsarbeit sinkt, wenn Anteil der Planungsarbeit und Anteil der Entwurfsarbeit zunehmen Anteil der Testarbeit sinkt, wenn Anteil der Entwurfsarbeit zunimmt Bemerkung klar ist: wenn der Anteil von PP + DES steigt, dann muss der Anteil von IMP + TEST sinken denke an ein Kuchendiagramm mit vier Teilen: PP, DES, IMP und TEST! 33 34 Zwischenergebnis (2) Mit Korrelationen untermauern, dass die einfache Prozentsatzmethode (mit festen Anteilen der Phasen) nicht funktioniert aber Vorsicht: Korrelation alleine reicht für diese Schlussfolgerung nicht aus (brauchen Schwankung der Anteile über größeren Wertebereich) Exkurs in die Statistik: Regressionsdiagnostik 35 36

Cook-Abstand misst den Einfluss eines Datenpunktes auf die Stärke der Korrelation und die Lage der Regressionsgerade Anhaltspunkte für einflussreiche Punkte: Cook-Abstand > 1 Cook-Abstand deutlich größer als bei den anderen Datenpunkten Entwurfsanteil vs. Planungsanteil tau = 0.5 p < 1 % 37 38 Entwurfsanteil vs. Planungsanteil (CookD) Cook-Abstand mit R cook > 0.1: 3,8,15 regi <- lm(prop$des ~ prop$pp) cookd <- cooks.distance(regi) plot(cookd,type="h",xlab="project", ylab= cook s distance: DES vs. PP proportion") nums <- c(1:16) nums[cookd>0.1] [1] 3 8 15 39 40

Entwurfsanteil vs. Planungsanteil Scatterplot in R mit Färbung der Punkte nach Cook-Abstand tau = 0.5 p < 1 % scaledcookd <- cookd/max(cookd) colors <- gray(1-sqrt(scaledcookd)) plot(prop$pp, prop$des, bg=colors, pch=21, cex=1.5, xlab= planning proportion", ylab= design proportion") text(prop$pp[cookd>0.1]+1.1, prop$des[cookd>0.1], nums[cookd>0.1]) abline(regi) nach Dalgaard (S.186) 41 42 Implementierungsanteil vs. Planungsanteil Implementierungsanteil vs. Entwurfsanteil tau = -0.42 p = 2 % tau = -0.48 p < 1 % 43 44

Testanteil vs. Planungsanteil Testanteil vs. Entwurfsanteil tau = -0.15 p = 45 % tau = -0.32 p < 10 % 45 46 Testanteil vs. Implementierungsanteil Einflussreiche Datenpunkte Projekt 15: IMP ~ 90% Projekt 8: DES + IMP ~ 90% Projekt 6: IMP + TEST ~ 85% Projekt 3: IMP + TEST ~ 85% tau = -0.1 p = 63 % 47 48

Sensitivitäts-Analyse Datenpunkt 15 hat oft einen auffälligen Cook-Abstand extrem hoher Anteil der Implementierung am Gesamtaufwand bei diesem Projekt (IMP ~ 90%) unklar, ob schlechte Aufwanderfassung oder merkwürdiges Projekt wie ändern sich die Regressionen, wenn man diesen Datenpunkt weglässt? Entwurfsanteil vs. Planungsanteil (ohne 15) tau = 0.45 p = 2 % 49 50 Implementierungsanteil vs. Planungsanteil (ohne 15) Implementierungsanteil vs. Entwurfsanteil (ohne 15) tau = -0.33 p = 9 % tau = -0.43 p = 3 % 51 52

Testanteil vs. Planungsanteil (ohne 15) Testanteil vs. Entwurfsanteil (ohne 15) tau = -0.31 p = 11 % tau = -0.49 p < 1 % 53 54 Testanteil vs. Imp-Anteil (ohne 15) tau = 0.03 p = 100 % Ergebnis der Korrelationsdiagnostik die meisten Trends sind bei Weglassen des Projekts 15 unverändert zusätzlicher Trend: Testanteil sinkt, wenn Planungsanteil zunimmt verstärkter Trend: Testanteil sinkt, wenn Entwurfsanteil zunimmt Testanteil und Implementierungsanteil sind noch deutlicher unkorreliert 55 56

Dritter Versuch... zurück zur Analyse... Korrelationsanalyse der absoluten Aufwände für die einzelnen Entwicklungsphasen (nicht mehr die Anteile) 57 58 Entwurf vs. Planung Implementieren vs. Planung tau = 0.62 p < 1 % tau = 0.25 p = 17 % 59 60

Implementieren vs. Entwurf Testen vs. Planung tau = 0.48 p = 1 % tau = 0.4 p = 3 % 61 62 Testen vs. Entwurf Testen vs. Implementieren tau = 0.58 p < 1 % tau = 0.53 p < 1 % 63 64

Korrelationskoeffizienten Schätzungen ** bedeutet: signifikant auf 1% Niveau * bedeutet: signifikant auf 5% Niveau wie groß ist der Fehler, wenn man die jeweilige Regressionsgerade zum Schätzen des Aufwands verwendet? eigentlich nötig: Jackknife-Prozedur! schnelle, ungefähre Antwort: betrachte die Residuen, also den Abstand der Datenpunkte von der Regressionsgerade 65 66 Jackknife-Prozedur Relativer Regressionsfehler: Entwurf vs. Planung einen Datenwert herausnehmen die restlichen zur Schätzung des herausgenommenen Werts benutzen den Schätzfehler bestimmen für alle Datenpunkte wiederholen und den mittleren Fehler berechnen 1 n Σ = 162 % ohne Ausreißer: 76 % 67 68

Relativer Regressionsfehler: Implementieren vs. Entwurf Relativer Regressionsfehler: Testen vs. Entwurf 1 n Σ = 84 % 1 n Σ = 115 % ohne Ausreißer:80 % 69 70 Relativer Regressionsfehler: Testen vs. Implementieren 1 n Σ = 190 % (82 %) Maße für die Schätzqualität Mean Magnitude of Relative Error manchmal auch average error genannt Frage: in welcher Größenordnung liegt der prozentuale Schätzfehler? 1 MMRE = Σ est-act n soll: MMRE < 25% bedeutet: im Mittel sind die Schätzwerte auf 25 Prozent genau 71 72

Schätzqualität (Forts.) Prediction Quality Frage: wieviele Schätzwerte haben eine brauchbare Genauigkeit? soll: PRED(0.25) > 0.75 bedeutet: mehr als 75 Prozent der Schätzwerte sind auf 25 Prozent genau für unsere Regressionsmodelle: der Fehler ist bei weitem zu hoch! (MMRE ~ 80% ohne die Ausreißer) Zwischenergebnis (3) deutliche Korrelation der absoluten Aufwände von: Entwurf und Planung Implementierung und Entwurf Testen und Entwurf Testen und Implementierung... aber auch massive Abweichungen von den Schätzgeraden und zu hohe prozentuale Fehler 73 74 Vierter Versuch... Einbeziehen weiterer Kenngrößen in die Regression, z.b.: Ausführungsumgebung (Unix vs. runtime ) Programmiersprache (C vs. C++) kombinierte Modelle aus Regressions- Schätzwert und Manager-Schätzwert Weitere Regressionsvariable Programmiersprache und Ausführungsumgebung sind eng korreliert: C++ bei Unix C bei runtime 12 von 16 Projekten hatten eine dieser beiden Kombinationen Ausführungsumgebung als die zweite Variable in der Regression gewählt; Ein kombiniertes Modell aus Regression und Manager- Schätzung wurde auch aufgestellt. In der weiteren Untersuchung wird immer das beste der Modelle verglichen. 75 76

Bemerkung Indikator als zweite Regressionsvariable ist nicht dasselbe wie Aufteilen des Datensatzes vor der Regression: y = a x + b + c I mit I = 0 oder 1 Aufteilung des Datensatzes nach Ausführungsumgebung ergäbe zwei Geraden: y = a x + b y a~ ~ = x + b Zwischenergebnis (4) Summe der abs. Schätzfehler in Personenstunden: (siehe Tabelle 6 im Artikel) OE bestes Modell lin. Reg. DES~PP 3243 3160 3915 IMP~DES 7888 3688 5741 TEST~DES 6351 4594 6297 TEST~IMP 6351 4245 5476 OE = original effort estimate Regressionsmodelle und "kombinierte" Modelle mit Manager-Schätzungen siehe den Artikel 77 78 Ergebnisse kombinierte Modelle (Regression plus Expertenschätzung) hatten meist den kleinsten absoluten Fehler eine Schätzung des Implementierungsund Testaufwands aus dem tatsächlichen Entwurfsaufwand scheint lohnenswert Ergebnisse (Forts.) der Entwurfsaufwand (und nur dieser) wird von den Experten nach Abschluss der Planungsphase (CE-Wert) etwa gleich gut geschätzt wie vom besten Modell 79 80

Ergebnisse (Forts.) betrachtet man die Projekte einer Firma als Portfolio, dann gleicht sich der Schätzfehler der Regressionsmodelle über das Portfolio aus (nicht-absoluter Fehler) Diskussion die Analyse hat glaubwürdig gezeigt: die einfache Prozentsatzmethode wird in der Praxis kaum funktionieren (nicht einmal bei relativ homogenen Projekten) es kann durchaus Zusammenhänge geben zwischen den Anteilen der einzelnen Phasen am Gesamtaufwand die lokal gesammelten Daten entscheiden über die Qualität einer Schätzmethode 81 82 Diskussion (Forts.) was den abs. Fehler in Personenstunden betrifft, bringen die Regressionsmodelle eine Verbesserung gegenüber den Expertenschätzungen was den prozentualen Fehler betrifft, haben die Regressionsmodelle aber eine viel zu hohe Schwankung (leider) Diskussion (Forts.) es fehlt eine genaue Ursachenforschung: man muss Daten sammeln über Besonderheiten der Projekte und ihren Verlauf, um Abweichungen von einer Regressionskurve erklären zu können dabei kann eine Liste von Kostentreibern ( cost drivers ) helfen; siehe z.b. die Liste von B. Boehm in seinem CoCoMo-Modell 83 84

Fazit es ist ein großer Unterschied, ob man mittels Korrelationsanalyse Trends herausfinden will, oder mittels der zugehörigen Regressionsgeraden tatsächlich Schätzungen, also Vorhersagen machen will ENDE 85 86