COCOMO

COCOMO (COnstructive COst MOdel) ist ein algorithmisches Kostenmodell, das in der Softwareentwicklung zur Kosten- bzw. Aufwandsschätzung verwendet wird. Mit Hilfe von mathematischen Funktionen wird ein Zusammenhang zwischen gewissen Softwaremetriken und den Kosten eines Projekts dargestellt.

Es fließen mehrere firmenspezifische Parameter in die Berechnung hinein, die feststellt, wie viele Personenmonate bzw. Personenjahre notwendig sind, um ein Softwareprojekt zu realisieren. Weiterhin kann die Gesamtdauer des Projekts abgeschätzt werden. COCOMO beruht auf vielfältiger Erfahrung, die in der Großindustrie, z. B. bei Boeing, bei der Softwareentwicklung gemacht worden ist. Das Verfahren wurde bereits 1981 durch Barry W. Boehm, Softwareingenieur bei Boeing, entwickelt.

Weiterentwicklungen

ADA COCOMO ist eine Weiterentwicklung von COCOMO 81 – welches sehr stark vom Batch-Processing und dem Wasserfall-Prozessmodell geprägt ist – zur Anpassung an die TRW-Implementierung des ADA-Prozessmodells. Dieses Modell beinhaltet Risk Management, Architektur Skeletons, Inkrementelles Implementieren und Testen und einheitliche Softwaremetriken. Hauptaugenmerk des Modells sind die Verringerung des Kommunikationsoverheads, Vermeidung späten Überarbeitens aufgrund instabiler Anforderungen. Die Änderungen zu COCOMO 81 können in drei Kategorien eingeteilt werden:

1. Allgemeine Verbesserungen von COCOMO: Diese beinhalten größtenteils Anpassungen der vorhandenen sowie zusätzlicher Kostenfaktoren. Neue Faktoren sind z. B. Security und Development for software reusability.
2. Ada-spezifische Effekte: Neue Regeln zum Abzählen der Instruktionen (DSI) für die Programmiersprache ADA. Zusätzliche Kostenfaktoren bezüglich Programming Language Experience.
3. Effekte bedingt durch das Ada-Prozessmodell: Diese Effekte wirken sich vor allem in den Exponenten der Regressionsgleichungen aus und leiten sich aus den Eigenschaften der Ada-Prozessmodells her. Hierfür wurden vier Skalierungsfaktoren eingeführt (Experience with the Ada Process Model, Design Thoroughness at PDR (Preliminary Design Review), Risks Eliminated at PDR, Requirements Volatility). Zusätzlich wurde ein Methode bereitgestellt, um den Aufwand von inkrementellen Projekten zu schätzen.

Der Rest von COCOMO 81 blieb unverändert – die generelle Form mit den verschiedenen Modi, etc.

COCOMO II wurde ebenfalls, wie seine beiden Vorgänger, von Barry W. Boehm entwickelt und das erste Mal 1997 publiziert. Die offiziell bekannte Version ist jedoch 2000 mit dem Werk veröffentlicht worden. COCOMO II repräsentiert die Änderungen in der modernen Softwareentwicklung, mit Anpassungen an neue Softwareentwicklungs-Prozessmodelle sowie neuen Entwicklungsmethodiken (z. B. Objektorientiertes Programmieren). Es werden wieder, wie in COCOMO 81, drei verschiedene Schätzarten unterschieden, mit dem Unterschied jedoch, dass sich diese vermehrt auf den Entwicklungsstand des Projekts beziehen. Auf die Unterteilung in verschiedene Projektmodi wurde hier verzichtet.