COCOMO-Methode

Kurzbeschreibung

Das COCOMO-Berechnungsverfahren (COnstructive COst MOdel) wurde 1981 von Boehm beschrieben und gilt als eines der besten parametrischen Aufwandschätzverfahren für SW-Entwicklungsvorhaben. Bei diesem Verfahren wird der Entwicklungsaufwand eines IT-Projektes auf der Basis der Anzahl Objekte beziehungsweise deren Umfang an Lines-of-Code (LOC) errechnet.

Bei der ursprünglichen Version des COCOMO-Modells handelt es sich um ein Drei-Stufen-Modell, in dem jede Stufe die Ausführlichkeit der Analyse einer Aufwandsschätzung widerspiegelt. Die erste Stufe (Basic COCOMO) liefert eine erste grobe Schätzung, die zweite (Intermediate COCOMO) verbessert diese Schätzung mit Hilfe einer Reihe von den sogenannten Kostentreibern und die dritte und umfassendste Stufe (Detailed COCOMO) verfeinert die Schätzung, in dem sie sie auf die verschiedenen Projektphasen herunter bricht.

Voraussetzung:
COCOMO beruht auf einer Kombination von Gleichungen, statistischen Modellen und Schätzungen von Parameterwerten (z.B. mit der Delphi-Methode). Ausgangspunkte der Schätzung sind:

  • Ermittlung der LOC/KDSI
  • Ermittlung der Berechnungsfaktoren
 
Ablauf
Schätzung Loc Pro Modul werden die Programmzeilen geschätzt
Summe der Module Die Summe der Module gibt die Projektgrösse 1-5
Projektklasse Aufgrund der Situationseinschätzung ergibt es die Projektklasse (einfach, mittel, komplex)
Entwicklungs-aufwand Aufgrund der Werte (Summe und Klasse) werden die Personenmonate abgeleitet
Entwicklungs-Zeit (TDEV) Aufgrund der Werte (Projektaufwand und Klasse) wird die Entwicklungszeit abgeleitet und errechnet
Kostenrechnung Basierend auf dem Stundenansatzu in Fr. werden die Kosten errechnet

Basic COCOMO

Den Entwicklungsaufwand errechnet man über eine Basisgleichung (Aufwand in Personenmonaten und benötigte Projektdauer ausgehend von einer Schätzung der Produktgröße), ohne dass irgendwelche Einflussparameter in die Aufwandsbestimmung miteinbezogen werden. Die Produktgröße wird dabei durch die Anzahl an Codezeilen (LOC) angegeben. Die Hauptformel, nach der vorgegangen wird lautet:

Aufwand[in Personenmonaten] = A * Größe[in KDSI]B
Benötigte Projektdauer[in Monaten] = C * AufwandD

Je nach Projektkomplexität werden nun folgende Werte für A;B;C und D eingesetzt:

  • Organic Projects: (A=2.4, B=1.05, C=2.5, D=0.38)2.4 * (KDSI)1.05
    2.5 * Aufwand0.38
  • Semi-detached Projects: (A=3.0, B=1.12, C=2.5, D=0.35)3.0 * (KDSI)1.12
    2.5 * Aufwand0.35
  • Embedded Projects: (A=3.6, B=1.20, C=2.5, D=0.32)3.6 * (KDSI)1.20
    2.5 * Aufwand0.32

Die Art des Projektes ist nach folgenden Kriterien zu unterscheiden:

  • einfache SW-Projekte (Organic mode):
    • Kleine Projektteams in vertrauter Umgebung
    • Stabile Entwicklungsumgebung, wenige Änderungen an der Hardware/Software-Umgebung
    • Geringer Zeitdruck
  • mittelschwere SW-Projekte (Semi-detached mode):
  • komplexe SW-Projekte (Embedded mode):
    • Entwicklung unterliegt starken Beschränkungen
    • Systemumgebung verändert sich stark
    • Hoher Termindruck
 

Intermediate COCOMO

Das Zwischenmodell berücksichtigt dagegen bereits die 15 Kostentreiber, allerdings ohne Differenzierung nach Entwicklungsphasen. Dieses Schätzmodell ist daher nicht mehr rein parametrisch, weil in die Bestimmung der Einflussgrößen rechnerisch nicht belegbare Expertenerfahrungen einfließen. Für jeden Kostentreiber wird ein Erfahrungswert angegeben, der sich zwischen den vorgegebenen Min- und Max-Werte bewegt. Die Berechnungsformel lautet wie folgt:
Aufwand[in Personenmonaten]= (K1* …* K15) * Aufwand[aus Basic COCOMO]
gleichbedeutend mit:
Aufwand[in Personenmonaten] = A * Größe[in KDSI]B * M
wobei M = K1 … K15 = das Produkt der Kostentreiber ist.

Detailed COCOMO

Das Detailmodell berücksichtigt 15 Einflussfaktoren sowie die Abweichungen der anteilsmäßigen Aufwände einzelnen Entwicklungsphasen.
Das Schätzen der benötigten Projektdauer, wird wie auch schon beim Intermediate COCOMO mit derselben Formel wie Basic COCOMO berechnet (siehe Basic COCOMO). Der Aufwand für die Implementierung und Anwendung des Detailed COCOMO Modells ist deutlich höher als bei Intermediate COCOMO.

Anwendungsbereich

Aufgrund der einfachen Erlernbarkeit und Einsetzbarkeit wird das COCOMO-Verfahren heute in vielen Softwareentwicklungs-Abteilungen angewendet.

Stärken

  • Sehr gute und zuverlässige Aufwandschätzung, wenn die Form der Programmierung immer gleich bleibt
  • Weltweiter Standard mit Universitätsunterstützung

Schwächen

  • Die Methode ist aufwändig, liefert jedoch genaue Resultate
  • Nur bei sehr grossen Projekten anwendbar, bei denen eine lange Entwicklungszeit besteht
  • Programmierung mit der 4G-Sprache kann keine zuverlässigen LOC-Zahlen generieren