www.wikidata.de-de.nina.az
Aufwandsschatzung oder abschatzung oder Kostenschatzung ist in der Softwaretechnik ein Bestandteil der Planung eines Softwareprojekts oder eines Arbeitspaketes Dabei wird geschatzt wie viele Personen und wie viel Zeit fur die einzelnen Arbeitsschritte oder Programmteile notwendig sind welche Ressourcen gebraucht werden und was eine Umsetzung letztlich an Kosten verursachen kann Kosten Termine und benotigte Ressourcen sind die Grundlage fur ein Angebot oder fur eine Entscheidung ob wie und wann ein Softwareprojekt oder Arbeitspaket daraus gemacht wird Inhaltsverzeichnis 1 Struktur der Kosten 2 Personalaufwand 2 1 Grossenmasse Mengen 2 2 Zerlegung in Komponenten 2 3 Berucksichtigung von Erschwernissen und Restriktionen 3 Schatzverfahren 3 1 Analogie 3 2 Parkinson Verfahren 3 3 Price to Win 3 4 Delphi Methode oder Schatzklausur 3 5 COCOMO 3 6 Functional Sizing 4 Beurteilung von Schatzverfahren 4 1 Genauigkeit 4 2 Kosten des Schatzverfahrens 5 Siehe auch 6 LiteraturStruktur der Kosten BearbeitenIm Bereich der Softwareentwicklung sind die Hauptkosten die Personalkosten die Schatzung bezieht sich daher hauptsachlich darauf Daneben gibt es noch Sachkosten soweit nicht in den Personalkosten enthalten wie z B benotigte Infrastruktur wie Computer o a Rechenzeiten und Netzwerkkosten Lizenzen fur Betriebssysteme und Tools Testhardware Umrechnungskurse Reisekosten Diese hangen oft von den Personalkosten ab denn je langer ein Projekt dauern wird und je mehr Leute damit beschaftigt sein werden desto mehr Sach und Nebenkosten fallen an Fur die zu erwartenden Gesamtkosten sind darauf noch erhebliche kaufmannische Aufschlage zu berucksichtigen so fur Realisierungsrisiko ein Grossteil der IT Projekte wird abgebrochen ist nicht machbar etc Sicherheitsaufschlag fur Fehleinschatzung Eisberg Faktor Vorfinanzierungskosten Inflation Personalkostensteigerung bei langer laufenden Projekten Wechselkursrisiken bei Auslandsprojekten Opportunitatskosten Personalaufwand BearbeitenDie Schatzmethode ist abhangig von der Grosse des Aufgabenumfangs also Schatzung vor der Schatzung Fur die Schatzung kleinerer Aktivitaten z B Arbeitspakete in einem laufenden Projekt oder Anderungen in einem bestehenden System wird meistens die Schatzklausur oder Delphi Methode benutzt weil hier das Augenmass der Beteiligten die beste und kostengunstigste Schatzung liefert Fur die Schatzung sehr grosser Projekte wird meist der Vergleich mit anderen sehr grossen Projekten benutzt Mit Auf und Abschlagen werden dann die Kosten fur das aktuelle grob geschatzt Durch Herunterbrechen auf einzelne Teilaufgaben wird dann der grosse Topf verteilt Fur diese Teilaufgaben werden dann Schatzungen erstellt Zuletzt konnen diese wieder zusammengerechnet werden Die Grundstruktur fur die Schatzung des Personalaufwandes eines mittelgrossen Projektes ist Menge Preis Kompetenzfaktoren dd Dies kann sowohl fur einzelne Teile oder Phasen gemacht und die Kosten dann addiert werden oder fur das Gesamtprojekt Grossenmasse Mengen Bearbeiten Gebrauchliche Grossenmasse fur Programme sind Lines of Code LOC Function Points FP DSI Delivered Source Code Instructions oder Dokumentseiten Nach Watts Humphrey Autor von The Personal Software Process sind die meisten Menschen nicht sehr gut darin den Zeitaufwand direkt zu schatzen Stattdessen kann man aber erstaunlich genau die Grosse des Programmcodes vorhersagen Aus den Grossen der geplanten Softwarebausteine Korrekturfaktoren fur diverse Einflussgrossen und Erfahrungsdaten wird dann der zu erwartende Zeitaufwand ermittelt Das Schatzverfahren COCOMO berucksichtigt besonders viele Einflussfaktoren LOC wird haufig kritisiert da der Wert schon durch eine unterschiedliche Codeformatierung beeinflusst wird bis zum Faktor 3 Das LOC Grossenmass stuft lange Programme als aufwandiger ein als kurze Losungen Die Lange eines Programms muss aber nicht zwangslaufig eine schlechtere Losung bedeuten Gut geschriebener selbsterklarender Code muss nicht kurz sein da er aufgrund seiner Lesbarkeit in der Regel wartbarer ist als ein auf Textkurze optimierter Programmcode Ferner benotigen unterschiedliche Entwickler fur die gleiche Funktionalitat unterschiedlich viele Programmzeilen In der Praxis gibt es dramatische Produktivitatsunterschiede bei Entwicklern Sogenannte Superprogrammierer konnen 10 bis 100 fach mehr LOC pro Tag erzeugen als der Durchschnitt Es gibt Projekte bei denen kaum eine Zeile Code geschrieben wird sondern z B nur interaktive Eingaben in ein vorhandenes System erfolgen z B Datenbank Tuning Bei Projekten bei denen die Codierung des Quellcodes nur 7 des Gesamtaufwands ausmacht ist LOC kein geeignetes Mass LOC als Schatzgrundlage muss heute eher als historisch angesehen werden Trotz aller Kritik ist das LOC Grossenmass noch weit verbreitet wahrscheinlich deshalb weil es intuitiv und leicht zu messen ist Insbesondere im Nachhinein werden mitunter LOC wozu dann auch Scripts und Test Code zahlen als Mass fur den Umfang einer Software und als Mass fur die Leistung der Entwickler herangezogen Davor ist zu warnen Wer LOC als Mass fur Leistung nimmt wird viele davon bekommen mit allen negativen Auswirkungen auf Einfachheit Wartbarkeit Performance Zuverlassigkeit Statt LOC wurden spater oft auch DSI delivered source instructions genommen Das scheint vernunftiger aber die prinzipiellen Probleme bleiben So zahlen z B Kommentare die auch erheblich zu Qualitat beitragen konnen nicht mit Die Function Point Methode nach Allen J Albrecht IBM geht nicht vom zu erwartenden Code aus sondern von den Anforderungen und versucht die Anzahl und Komplexitat von Datenstrukturen und Funktionen Methoden zu schatzen indem diese als einfach normal schwierig klassifiziert und mit entsprechenden Aufwandsfaktoren versehen werden Diese Mengenfaktoren werden dann fur Erschwernisse korrigiert Die Function Point Methode ist im kommerziellen Umfeld weit verbreitet Es wurde versucht sie an andere Umfelder anzupassen In Fallen wo das Hauptergebnis in Textdokumenten besteht wird auch haufig die zu erwartenden Seiten Papier als Mass benutzt und mit 1PT Seite bewertet z B Studien Analysen Pflichtenhefte In anderen Fallen z B Pflichtenheft wird auch die Anzahl von Sitzungen eines Gremiums herangezogen und daraus der Zeitaufwand einschliesslich Vor und Nachbereitung aller Beteiligten errechnet Zerlegung in Komponenten Bearbeiten Fur eine gute Aufwandsschatzung ist es erforderlich dass man gut verstanden hat was gefordert wird dass der Leistungsumfang genau definiert ist und Dinge die zwar sinnvoll nutzlich oder naheliegend aber nicht gefordert sind explizit ausgeschlossen werden Zwingende Notwendigkeit ist das Vorliegen eines Pflichtenheftes Requirement Specification das ggf noch weiter prazisiert werden muss Darauf basierend kann eine Liste der zu liefernden Komponenten und der im Projektverlauf zusatzlich zu erstellenden Hilfskomponenten erstellt werden insbesondere Scripts Tests Diagnose Hilfen Es kann dann der Umfang oder Aufwand fur jede Komponente einzeln geschatzt werden Unter der Annahme dass die jeweiligen Schatzfehler voneinander statistisch unabhangig sind heben sich die Schatzfehler fur die einzelnen Komponenten teilweise gegenseitig auf Hierbei ist jedoch zu beachten dass systematische Schatzfehler wie zum Beispiel ein generelles Unterschatzen von Aufwanden durch komponentenbasiertes Schatzen nicht behoben werden Ferner stellt sich oft heraus dass im Laufe des Projekts noch Komponenten benotigt werden die gar nicht geschatzt wurden Um solchen systematischen Schatzfehlern zu begegnen kann man Schatzungen von alten Projekten mit den tatsachlichen Projektgrossen korrelieren und aus dieser Korrelation einen entsprechenden Korrekturfaktor fur den systematischen Schatzfehler ableiten Eisbergfaktor Berucksichtigung von Erschwernissen und Restriktionen Bearbeiten Soweit nicht schon bei der Komponentenschatzung berucksichtigt mussen Erschwernisse oder Restriktionen durch Korrekturfaktoren berucksichtigt werden Bei der COCOMO Methode sind 14 solcher Faktoren angegeben die aus statistischer Auswertung von vielen Projekten gewonnen wurden Manche sind heute irrelevant z B Turnaround Zeit im Closed Shop Betrieb die meisten aber noch nutzlich Der wichtigste ist die Qualitat der Entwickler Er ist bei Bohm mit einer Spanne von 4 2 zwischen bestem und schlechtestem Team angegeben und durfte heute noch hoher sein Schatzverfahren BearbeitenBarry W Boehm der Vater von COCOMO nennt auch noch einige andere Schatzverfahren Analogie Bearbeiten Man sucht nach ahnlichen Projekten und nimmt mit Auf und Abschlagen fur dies und jenes deren Kosten Vorteil Bezug auf reale Kosten Nachteil Unterschiede in Aufgabe Systemumgebung Personal Geeignet fur Gesamtsicht wo man sich sonst in Details verlieren wurde und fur Plausibilisierung Parkinson Verfahren Bearbeiten Dieser Abschnitt bedarf einer grundsatzlichen Uberarbeitung Naheres sollte auf der Diskussionsseite angegeben sein Bitte hilf mit ihn zu verbessern und entferne anschliessend diese Markierung Parkinsons erstes Gesetz besagt Arbeit dehnt sich aus so weit es geht Wenn man Budget und den Endtermin kennt ergibt sich daraus wie viele Leute man einsetzen kann und was es kostet Dieses Verfahren ist aus der Praxis bekannt Wenn man zu fruh fertig ist macht man Verschonerungen und testet mehr Wenn man nicht fertig wird aber das Budget erschopft oder der Endtermin erreicht ist wird der erreichte Zustand als fertig erklart Price to Win Bearbeiten Eventuell ist dem Anbieter bekannt was der potenzielle Kunde zu zahlen bereit ist oder was ein Wettbewerber anbietet Mitunter weichen diese Angaben von der eigenen Kalkulation nach oben oder unten ab In diesen Fallen wird die Schatzung solange frisiert bis sie zur vermuteten Erwartung des Kunden passt Um den Projektzuschlag zu erhalten kann das auch zu unwirtschaftlichen Angeboten fuhren Boehm schreibt dazu The price to win technique has won a large number of software contracts for a large number of companies Almost all of them are out of business today Die Price to Win Technik hat vielen Softwarefirmen eine grosse Zahl an Auftragen verschaffen konnen Die meisten dieser Firmen sind heute nicht mehr im Geschaft Delphi Methode oder Schatzklausur Bearbeiten Alternativ oder zusatzlich kann die Aufwandsschatzung nach der Delphi Methode verbessert werden Dabei werden einfach mehrere Personen gebeten unabhangig voneinander Schatzungen abzugeben Die Hoffnung ist wieder dass sich Schatzfehler bei der Mittelwertbildung gegenseitig ausgleichen Zusatzlich besteht bei der Delphi Methode die Moglichkeit die Schatzer uber stark voneinander abweichende Schatzungen diskutieren zu lassen Dabei kann z B aufgedeckt werden dass das Gros der Schatzer einen Problemaspekt ubersehen und deswegen den Aufwand unterschatzt hat Ebenso kann es sein dass ein Schatzer eine Realisierungsidee hat die einen wesentlich geringen Aufwand erfordert Wichtig ist dabei dass sich die Beteiligten uber den Schatzgegenstand klar sind also z B Netto Zeitaufwand fur eine Programm Anderung Bruttozeitaufwand fur Anderung samt Test Dokumentationsanderung und Benutzerinformation Die Schatzklausur arbeitet so ahnlich nur weniger formalisiert Die Experten schatzen hier nicht getrennt voneinander sondern im Kollektiv Es werden die 3 Phasen Vorbereitung Durchfuhrung und Nachbereitung durchlaufen COCOMO Bearbeiten Die Grundidee der COCOMO Methode Constructive Cost Model besteht darin alle kostenrelevanten Elemente zu erfassen zu bewerten und hochzurechnen Die Bewertung stutzt sich dabei auf Erfahrungswerte die aus einer Erfahrungsdatenbank gewonnen wurde in die eine Vielzahl von Projekten eingetragen wurden Diese Erfahrungsdatenbank basiert auf DSI und einer Systemumgebung aus der Lochkartenzeit Die Formeln fur den Basisaufwand sind daher heute nicht mehr brauchbar das Grundkonzept mit passenden Bezugsgrossen sehr wohl Functional Sizing Bearbeiten Functional Size Measurement oder als eine Auspragung das Function Point Verfahren sind selbst keine Aufwandsschatzverfahren sondern dienen zur Bewertung des Umfangs fachlicher Anforderungen an ein Softwareprojekt Wenn man annimmt dass die Functional Size ein wesentlicher Aufwandstreiber fur ein Softwareprojekt ist kann daraus auf den Aufwand fur das Projekt geschlossen werden Eine einfache oder gar lineare Beziehung zwischen der Functional Size und dem Projektaufwand besteht jedoch nicht Deshalb ist fur eine Aufwandsschatzung auf jeden Fall noch ein Modell wie z B COCOMO notwendig das die weiteren Aufwandstreiber beschreibt Viele kommerzielle Aufwandsschatzmodelle verwenden die Functional Size ebenfalls als Input Variable Beurteilung von Schatzverfahren BearbeitenAn Schatzverfahren werden neben Genauigkeit noch eine Reihe weiterer Anforderungen gestellt die sich teilweise widersprechen Es soll moglichst fruh einsetzbar sein Der Auftraggeber will am Anfang wissen was es am Ende kostet Anderungen in den Anforderungen sollen sich auf die Schatzung auswirken Mehr Minderkosten Die Ergebnisse sollen einfach nachvollziehbar sein Ausser den Kosten soll auch ein grober Terminplan herauskommen der den Ubergang zur Projektplanung ermoglicht Das Schatzverfahren selbst soll moglichst wenig kosten Genauigkeit Bearbeiten Eine gute Aufwandsschatzung sollte auch immer mit Angaben zur Genauigkeit der Schatzung einhergehen Solche Angaben konnen wieder aus der statistischen Betrachtung von fruheren Schatzungen abgeleitet werden Im Softwarebereich geht man bei einfachen Schatzansatzen von einer Genauigkeit von bis zu 10 aus Das heisst bei einem geschatzten Aufwand von einem Personenjahr liegt der wahrscheinliche Aufwand zwischen z B 36 Tagen und 10 Jahren Durch Komponentenschatzung und Delphi Methode kann dies oft auf einen Schatzfehler in der Grossenordnung des Faktor 2 verbessert werden Humphrey berichtet in seiner Probe Methode in sehr gunstigen Fallen sogar von einem Schatzfehler von nur 15 in 75 Prozent der Projekte Dies gelingt aber nur wenn eine grosse Anzahl von ahnlich gelagerten Vergleichsprojekten zur Verfugung steht und wenn sich bei dem neuen Projekt kein entscheidender Einflussfaktor geandert hat Neues Personal neue technische Anforderungen neue Entwicklungswerkzeuge neue Laufzeitumgebungen neue Kunden oder ahnliche Risiken konnen leicht wieder zu einem Schatzfehler von mehreren Grossenordnungen fuhren Es gibt dabei auch ein Paradoxon Je mehr Faktoren nicht Summanden berucksichtigt werden umso plausibler ist das Ergebnis weil Faktoren die offensichtlich einen grossen Einfluss haben berucksichtigt werden Allerdings wird die Schatzgenauigkeit dabei verschlechtert denn wenn z B 10 Faktoren um einen Faktor 1 05 zu optimistisch oder pessimistisch geschatzt werden so macht das einen Faktor 1 6 aus Softwareentwickler tendieren stark zu Optimismus Verantwortliche auch wegen des price to win Kosten des Schatzverfahrens Bearbeiten Aufwand entsteht fur das Lesen und Verstehen der Anforderungen meist fur mehrere Personen fur die Definition von Leistungen Einschrankungen Restriktionen fur die eigentliche Schatzung fur das Verkaufen der Schatzung Nacharbeiten Pflege von Schatz DatenbankenSchatzen ist oft ein iteratives Verfahren indem Leistungen reduziert oder erganzt werden Annahmen korrigiert werden Die Kosten fur eine gute Schatzung betragen nach manchen Angaben bis zu 3 des Projektumfangs die fur ein gutes Angebot bis zu 5 des Projektumfangs Damit wird die Schatzung oft schon selbst zum Problem Bei 10 Anbietern und 5 Aufwand je Anbieter machen schon die Angebotskosten 50 des Projektumfangs aus Aus Sicht des Anbieters muss er aber bei einem erfolgreich akquirierten Projekt die Angebotskosten fur alle 9 anderen wieder mit herein holen Er musste dazu ziemlich teuer sein was es unwahrscheinlich macht dass er den Auftrag bekommt Dies legt es nahe eine eher grobe Schatzung mit hohem Aufschlag zu machen um Schatzaufwand und dadurch auch Schatzkosten gering zu halten Siehe auch BearbeitenSoftwaremetrik TestaufwandLiteratur BearbeitenManfred Burghardt Projektmanagement Leitfaden fur die Planung Uberwachung und Steuerung von Entwicklungsprojekten 7 Auflage Publicis Corporate Publishing Erlangen 2006 ISBN 3 89578 274 2 S 156 ff Siegfried Vollmann Aufwandsschatzung im Software Engineering IWT Verlag 1990 ISBN 3 88322 277 1 Barry W Boehm Software Engineering Economics Prentice Hall 1981 ISBN 0 13 822122 7 IBM Deutschland Die Funktion Point Methode Schatzmethode fur IS Anwendungs Projekte Formnr E12 1618 1985 F P Brooks Vom Mythos des Mann Monats Addison Wesley 1987 Ubersetzung der Originalausgabe von 1975 ISBN 3 925118 09 8 Harry M Sneed Software Projektkalkulation Hanser 2005 Steve McConnell Software Estimation Demystifying the Black Art Microsoft Press 2006 ISBN 978 0 7356 0535 0 Oliver Hummel Aufwandsschatzungen in der Software und Systementwicklung kompakt Spektrum Akademischer Verlag 2011 ISBN 978 3827427519 Dietmar Holscher Aufwandsschatzung in digitalen Projekten Schatzen ist nicht wissen Verlag Altes Forsthaus 2019 ISBN 978 1795231930 Abgerufen von https de wikipedia org w index php title Aufwandsschatzung Softwaretechnik amp oldid 237251376