Ein weiteres gebräuchliches Verfahren zur Aufwandsbestimmung ist die Function-Point-Analysis (FPA ). Das Verfahren geht zurück auf erste Ansätze von Albrecht bei IBM im Jahre 1979, wurde aber im Laufe der Jahre in seiner Definition verfeinert und dem Stand der Technik angepasst.

Die International Funktion-Point User Group (IFPUG)  hat weltweit einheitliche Bewertungsrichtlinien veröffentlicht.

Das Verfahren bestimmt den fachlichen Leistungsumfang und geht aus von den Funktionalitäten, die die Softwareentwicklung aus der Sicht des Endanwenders zu erfüllen hat. Diese werden in die kleinsten sinnvollen und mit dem System durchführbaren abgeschlossenen Aktivitäten den sogenannten Elementarprozessen  zerlegt.

Die Elementarprozesse werden dabei nach einem relativ traditionellen Verständnis von Datenverarbeitung in fünf Kategorien eingeteilt und in ihrer Komplexität jeweils nach festgelegten Kriterien als Low, Average oder High bestimmt.

Abhängig von der Komplexität wird für jeden Elementarprozess ein definiertes Verfahren ermittelt. In der Summe bestimmt sich so der gesamte function-point-Wert der Software-Entwicklung.

Der Function Point Wert ist ein Maß für den Aufwand zur Programmierung der Software. Er berücksichtigt aber nicht die weiteren Projektaufwendungen, die neben der reinen Programmierung anfallen.

Ursprünglich wurde dieser Wert in dem FPA-Verfahren anhand von 14 System-Charakteristiken korrigiert (man spricht dann von adjusted function points). Diese System-Charakteristiken sind aber auf heutige Systeme praktisch nicht mehr anwendbar, weil sie teilweise noch von einer Batch-Verarbeitung ausgehen. Die Bedeutung von FPA liegt daher heute in der systematischen Ermittlung von unadjusted function points, die dann als Ausgangspunkt für weitere Berechnungen bspw. die Bestimmung des Quellcode-Umfangs in dem COCOMO Verfahren, dienen.

weitere Infos: