Praktisches & Grundsätzliches zur Informatik

Faustregel, Software, Entwicklungsaufwand, Testaufwand

Faustregel zur Schätzung von Software-Entwicklungsaufwand

Wer (in der Rolle des Auftragnehmers) Software für einen Kunden zu entwickeln hat, sollte – nach meiner Erfahrung – folgende Faustregel zugrundelegen:



Raster für Entwicklungsaufwand


Auf Basis » reiner Entwicklungsaufwand = 1 « kommen hinzu:

Unter reinem Entwicklungsaufwand (= 1) verstehe ich dabei

Configuration Management für sich allein erfordert deutlich weniger als 1% des Entwicklungsaufwands.


Da man, wie oben gesagt, zum reinen Entwicklungsaufwand 0.5 für Test (durch die Software-Entwickler selbst) hinzurechnen sollte, gilt grob: Wer Software entwickelt (als Auftragnehmer), aber nicht ihr Nutzer sein wird, muss etwa 1/3 des Gesamtaufwandes für Test einkalkulieren, den er selbst durch­zuführen hat.

Als Auftraggeber sollte man wissen, dass der Auftragnehmer diese Zahl kennt und bei seiner Schätzung zugrundelegt, dass er aber selten so viel Testaufwand dann auch wirklich spendiert: Allzu oft kommt es bei der Implementierung zu Zeitverzögerung, und allzu oft fällt Test seitens der Entwickler dann allzu dürftig aus. Gleiches gilt, wenn eines vereinbarten Festpreises wegen das Budget knapp wird.

Es gibt zudem Fehler, von denen man nicht erwarten kann, dass der Auftragnehmer sie zu entdecken in der Lage ist.

Und so gilt auf jeden Fall: Aus Sicht des Auftraggebers kommt Test hinzu, für den er (als Auftraggeber und Nutzer des Systems) sich selbst verantwortlich fühlen und mit einbringen muss: Sog. Acceptance Test, der dann stets reiner Black Box Test ist. Hier konnte ich beobachten: Es gibt Kunden, die kaum solchen Test machen, und andere Kunden, die eigene (oft große) Test-Teams damit beschäftigen. Diese Kunden — vor allem Banken, Versicherungen, Großkonzerne — wissen, dass es nicht beim Test der ersten Version des Systems bleiben wird und dass es daher gilt, eine regressionsfähige Testsuite aufzubauen, die

Diese Testsuite so anzulegen, dass sie das System sein ganzes Leben lang begleiten kann, ist eine schwierige, kostspielige Aufgabe. Die Testtreiber und Testauswertungsfunktionen zu pflegen, d.h auf jeweils neue Releases der Anwendung anzupassen und vor Inbetriebnahme jedes neuen Releases oder jeder Bug-Fix-Auslieferung den kompletten Acceptance-Test neu durchzuführen, kann sehr aufwendig sein. Solchen Aufwand über eine Faustregel zu quantifizieren ist unmöglich – ihn gezielt klein zu halten gelingt nur dann, wenn die Software-Architekten die Anwendung ganz gezielt so entworfen haben, dass sie einfach testbar wird.

Einfache Testbarkeit als notwendiges Kriterium mit in Auftrag zu geben und einzufordern vergessen aber fast alle Auftraggeber – und genau diese Lücke ist dann der entscheidende Kostentreiber, der wie ein trojanisches Pferd zum Auftraggeber und Nutzer der Software kommt.

Hinreichend gut getestete Software erreicht man am ehesten (und am kostengünstigsten) dann, wenn man schon vom System-Architekten verlangt, dem System Eigenschaften zu geben, die garantieren,

Software über längere Zeit gut wartbar zu halten gelingt am ehesten dann, wenn schrittweise eine regressionsfähige Testsuite (für Black Box Test) aufgebaut wird.

Als Faustregel gilt auch:


Etwa 2/3 aller Kosten, die eine Software-Anwendung verursacht, fallen an,

NACHDEM sie zum ersten Mal produktiv gesetzt wurde.




Siehe auch, was gezielt durchgeführte Untersuchungen sagen.

Einer Tabelle dort (und auch einer von Microsoft selbst) entnimmt man u.A., dass Bill Gates (in 2006) etwa 50% des gesamten Entwicklungs­aufwandes als Testaufwand sah. Hier allerdings ist zu berück­sichtigen, dass Microsoft Produkte ent­wickelt, der Testaufwand aus Sicht von Gates also dem entspricht, den das Entwicklungsteam UND sein Kunde zu erbringen haben.

Wichtig ist:


Den Aufwand für die Entwicklung von Software einigermaßen zutreffend abzuschätzen, sind mindestens drei Personen notwendig, die  u n a b h ä n g i g  voneinander eine Schätzung erarbeiten.

Man sollte den Schätzern eine grobes Aufgabenraster vorgeben. Nur dann nämlich wird klar er­kenn­bar sein, bezüglich welcher Teilaufgaben sie zu gravierend unterschiedlicher Meinung kamen. Die Meinungen der Schätzer wird man dann

Die Zahl der Schätzer kleiner als 3 zu wählen, muss — mindestens bei größeren Projekten — als wenig professionell — und als allzu fahrlässig — eingestuft werden.

Wissenswertes zu "Testaufwand, Entwicklungsaufwand, Software, Faustregel" zusammengestellt durch Gebhard Greiter.
tags: Entwicklungsaufwand1gegreit Faustregel1gegreit Testaufwand1gegreit