V. Aufwands- und Kostenschätzung (Teil 1) Prof. Dr. Jens Grabowski Tel. 39 172022 Email grabowski@cs.uni-goettingen.de SoftwEng (SS09) V.1-1 Inhalt Einführung Intuitive Schätzung Analogieschätzung Expertenschätzungen Delphi-Methode Informelle Expertenschätzung (Drei-Punkt-Schätzung) Algorithmische Schätzung COCOMO (nächste Vorlesung) (nächste Vorlesung) COCOMO II SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-2 1
Einführung 1(3) Fragen: Wie lange wird eine Entwicklung dauern? Wie viele Leute werden benötigt? Beantwortung dieser Fragen ist notwendig für: Kalkulation und Angebotserstellung (Teil der Machbarkeitsstudie) Personalplanung und mittelfristige Disposition Vorbereitung einer Entscheidung make or buy Nachkalkulation SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-3 Einführung 2(3) Beispiele für Fehlschätzungen Fehlschätzungen Beispiele Opernhaus Sydney Gesamtkosten 102 Mio Aus-$ (statt 7 Mio Aus-$) Baubeginn: 1959, Eröffnung: 1973 (statt wie geplant 1965) Grimmsches Wörterbuch (Deutsches Wörterbuch) Begonnen: 1838, Vollendet: 1960 (122 Jahre später) Geschätzte Zeit für Vollendung (ca. 10 Jahre) Wilhelm Grimm starb 1859, Jacob Grimm starb 1863 (Buchstabe: F) Spiegel Online 31. März 2008: KOSTENEXPLOSION: Ostseepipeline wird fast doppelt so teuer wie geplant Ca. 8 statt 5 Mrd. Euro SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-4 2
Einführung 3(3) Genauigkeit beim Schätzen (nach Boehm et. al. 2000) Abnehmende Unsicherheit im Projektverlauf. Kleine Einheiten leichter zu schätzen als große. Schätzungen müssen regelmäßig wiederholt werden. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-5 Inhalt Einführung Intuitive Schätzung Analogieschätzung Expertenschätzungen Delphi-Methode Informelle Expertenschätzung (Drei-Punkt-Schätzung) Algorithmische Schätzung COCOMO (nächste Vorlesung) (nächste Vorlesung) COCOMO II SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-6 3
Intuitive Schätzung 1(7) Analogieschätzung Über den geschätzter Aufwand für eine Phase (eine Tätigkeit) wird auf die Aufwendungen für alle Phasen (ein Arbeitpaket) geschlossen. Phase/Tätigkeit Aufwandsverteilung Geschätzte Aufwendungen in % (Erfahrung) in Personentage Studie 6 53 Systementwurf 15 133 Programmentwurf 23 204 Kodierung/Modultest 35 310 Systemintegration/-test 21 186 Summe 100 858 SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-7 Intuitive Schätzung 2(7) Analogieschätzung Voraussetzungen für Analogieschätzung Die Ziele des Projektes müssen definiert sein. Das Unternehmen muss eine (aktuelle) Datenbank von abgeschlossenen Projekten führen. Verwendeten Technologien und Infrastrukturen müssen für die Schätzung übereinstimmen. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-8 4
Intuitive Schätzung 3(7) Expertenschätzung Das am häufigsten eingesetzte Verfahren. Meist unsystematisch eingesetzt, sodass eine präzise Dokumentation der Daten und Schlussfolgerungen fehlen. Bei jeder (Experten-)Schätzung sollten daher Zeitpunkte, Voraussetzungen und Risiken nachvollziehbar dokumentiert werden. Schlüssel zum Erfolg: Auswahl der am besten geeigneten Personen (Experten) für die Schätzung. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-9 Intuitive Schätzung 4(7) Delphi-Methode In den Sechziger-Jahren von der RAND Coorporation entwickelt. Später dann verfeinert (Breitband-Delphimethode in der Grafik). Experten werden in einer moderierten Sitzung unabhängig voneinander befragt. Rückkopplung: Ergebnisse der Befragung werden den Experten anonymisiert vorgestellt. Experten können ihre Schätzungen begründen oder ggf. Abweichungen korrigieren. Gesamtergebnis Mittelwert der Einzelschätzungen. Projektleiter muss die Schätzung akzeptieren oder nicht. Projektverantwortung bleibt beim Projektleiter. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-10 5
Intuitive Schätzung 5(7) Drei-Punkt Schätzung Beispiel für informelle Expertenschätzung. Für kleinere Projekte oder Teilaufgaben für die die Delphi-Methode zu aufwendig ist. Experten werden nach drei Schätzwerten gefragt: Optimistische Schätzung (OS) Realistische Schätzung (RS) Pessimistische Schätzung (PS) Basierend auf diesen drei Werten werden der Schätzwert sowie die Unsicherheit der Schätzung ermittelt. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-11 Intuitive Schätzung 6(7) Drei-Punkt Schätzung Formeln: Gewichteter Schätzwert = Standardabweichung * = * für jeden Schätzwert OS + 4 * RS + PS 6 PS OS 6 Gesamtunsicherheit = (Standardabweichung) 2 Formeln basieren auf Statistischen Erfahrungswerten Programm Evaluation and Review Technique (PERT) PERT ist eine ereignisorientierte Netzplantechnik. Zeit in der ein Vorgang stattfinden kann wird über eine Beta-Wahrscheinlichkeitsverteilung modelliert. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-12 6
Intuitive Schätzung 7(7) Drei-Punkt Schätzung Höher RS Gewichteter Schätzwert Relative Wahrscheinlichkeit des Auftretens Beta-Verteilung Niedriger OS PS Kürzer Mögliche Dauer Länger SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-13 Inhalt Einführung Intuitive Schätzung Analogieschätzung Expertenschätzungen Delphi-Methode Informelle Expertenschätzung (Drei-Punkt-Schätzung) Algorithmische Schätzung COCOMO (nächste Vorlesung) (nächste Vorlesung) COCOMO II SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-14 7
Algorithmische Schätzung 1(12) Verfahren wurde 1979 von A. Albrecht (IBM) veröffentlicht. Verfahren wurde dann von verschiedenen Autoren weiterentwickelt. Basiert nicht auf einer Schätzung der Lines of Code. Betrachtet die Software aus der Sicht des Benutzers. Vorgehen Logische Datenbestände identifizieren/klassifizieren Funktionspunkte vergeben Funktionspunkte justieren Funktionspunkte in Aufwand umwandeln SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-15 Algorithmische Schätzung 2(12) Logische Datenbestände identifizieren/klassifizieren Kategorie Externe Eingabe Externe Ausgabe Externe Anfrage Interne Anwenderdaten Externe Referenzdaten Beispiel Benutzereingaben, Daten anderer Anwendungen Fehlerdialog, Bedienungshinweise, Druckausgaben Suchanfrage Konfigurationsdatei Tabellen Eingaben, Ausgaben und Anfragen werden an Hand der logischen Transaktionen, die das System ausführen soll, gezählt. Daten, die mehrfach vorkommen, werden mehrfach gezählt. Bei Datenbeständen werden logische Dateien bzw. logische Datengruppen in Datenbanken gezählt. SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-16 8
Algorithmische Schätzung 3(12) Logische Datenbestände identifizieren/klassifizieren (cont.) Jede Eingabe, Ausgabe, Anfrage, Datum wird als einfach, mittel oder komplex bewertet. Beispiel: Gewichtungskriterien für Dateneingabe: Anzahl bearbeiteter Datenbestände 0-1 Anzahl unterscheidbarer Datenelemente in der Eingabe 1-4 5-15 >15 einfach einfach mittel 2 einfach mittel komplex >2 mittel komplex komplex SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-17 Algorithmische Schätzung 4(12) Funktionspunkte vergeben: Typ Eingabe Ausgabe Abfrage Anwenderdaten Referenzdaten Komplexität niedrig mittel hoch * 3 = * 4 = * 6 = * 4 = * 5 = * 7 = * 3 = * 4 = * 6 = * 7 = * 10 = * 15 = * 5 = * 7 = * 10 = Unadjusted Function Point (UFP) Value Adjustment Factor (VAF) Adjusted Function Points (UFP * VAF) Summe SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-18 9
Algorithmische Schätzung 5(12) Funktionspunkte justieren Value Adjustment Factor (VAF) VAF = 0,65 + 0,01 * TDI TDI ist der Total Degree of Influence und berücksichtigt Einflussfaktoren wie z.b. Datenkommunikation Verteilte Funktion Leistungsanforderungen usw. (siehe nächste Folie) SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-19 Algorithmische Schätzung 6(12) Nr. 1 2 3 4 5 6 7 8 9 10 11 12 Faktor Wert Nr. Faktor Wert Datenkommunikation 13 Installation an mehreren Orten Verteilte Funktionen 14 Änder- und Erweiterbarkeit Leistungsanforderungen Summe der Faktoren (TDI) Belastung der Hardware Verlangte Transaktionsrate Einzusetzen sind Werte zwischen 0 und 5: Online Dateieingabe 0 - nicht vorhanden, kein Einfluss Effiziente Benutzerschnittstelle 1 - unbedeutender Einfluss Online-Datenänderungen 2 - mässiger Einfluss Komplexe Verarbeitungen 3 - durchschnittlicher Einfluss Wiederverwendbarkeit 4 - erheblicher Einfluss Einfache Installation Einfache Benutzbarkeit SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-20 10
Algorithmische Schätzung 7(12) Funktionspunkte in Aufwand umwandeln Typ Eingabe Ausgabe Abfrage Anwenderdaten Referenzdaten Komplexität niedrig mittel hoch * 3 = * 4 = * 6 = * 4 = * 5 = * 7 = * 3 = * 4 = * 6 = * 7 = * 10 = * 15 = * 5 = * 7 = * 10 = Unadjusted Function Point (UFP) Value Adjustment Factor (VAF) Adjusted Function Points (UFP * VAF) Summe SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-21 Algorithmische Schätzung 8(12) Funktionspunkte in Aufwand umwandeln Personenmonate 350 300 250 200 150 100 IBM VW 50 0 200 300 400 500 600 Function Point 700 800 900 1000 1200 1400 Quelle: Balzert, H. (2000) "Lehrbuch der Software-Technik" SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-22 11
Algorithmische Schätzung 9(12) Anwendung des s erfordert eine ständige Aktualisierung der Umrechnungs-Kurve/Tabelle. Umrechnung kann schon von Firma zu Firma stark variieren. Verschiedene Autoren/Organisationen beschreiben Varianten des s die sich folgendermassen unterscheiden: Zählregeln für Function Points Gewichtungskriterien Anzahl der Einflussfaktoren Werte der Einflussfaktoren SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-23 Algorithmische Schätzung 10(12) Jones (1996) gibt Fausregeln zur Aufwandsberechnung mit Function-Points an und eine Abschätzung der Anzahl der Code- Zeilen pro Function Point: Durchlaufzeit [in Monaten] = FP 0.4 Anzahl Mitarbeiter = FP / 150 Aufwand = Durchlaufzeit * Anzahl Mitarbeiter = FP 0.4 * FP / 150 Sprache Mittlere Anzahl Codezeilen Sprache Mittlere Anzahl Codezeilen Assembler 320 C++ 53 C 128 Ada 95 49 FORTRAN 107 Smalltalk 21 COBOL 197 SQL 12 Pascal 91 SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-24 12
Algorithmische Schätzung 11(12) Vorteile Ausgangspunkt sind Produktanforderungen Erste Schätzung bereits in der Planungsphase möglich Benötigt geringen Zeitaufwand Anpassbar (über Einflussfaktoren) an verschiedene Anwendungsbereiche neue Techniken unternehmensspezifische Verhältnisse SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-25 Algorithmische Schätzung 12(12) Nachteile Hoher Aufwand für das Erstellen und Aktualisieren der Erfahrungsstatistik Komplexität von Algorithmen bleibt unberücksichtigt (Schätzung basiert nur auf Daten) Öffentlich zugängliche Umrechnungstabellen sind meist veraltet und unternehmensspezifisch. Qualitätanforderungen werden nicht berücksichtigt. Ursprüngliche Einflussfaktoren heute überholt (Veröffentlichung vor 30 Jahren). SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-26 13
Inhalt Einführung Intuitive Schätzung Analogieschätzung Expertenschätzungen Delphi-Methode Informelle Expertenschätzung (Drei-Punkt-Schätzung) Algorithmische Schätzung COCOMO (nächste Vorlesung) COCOMO II (nächste Vorlesung) SoftwEng (SS09) Aufwands- und Kostenschätzung V.1-27 14