Function-Point-Analyse – die Methode und ihre Anwendung

Teil 1: Die Größe einer Software ermitteln
Erst objektive Messgrößen wie Function-Point-Werte ermöglichen es, vergleichbare Aufwandsschätzungen und aussagekräftiges Benchmarking für Software-Systeme durchzuführen. Function Points, so Dorian Gloski und Eva-Maria Schielein, sind bei Software-Entwicklungsprojekten ein genauso objektives Maß für den Leistungsumfang der erstellten Software wie es bei Bauprojekten die Quadratmeter Bruttogeschoßfläche für die Gebäudegröße sind. Die Function-Point-Analyse ist die weltweit am weitesten verbreitete Methode, um die Größe einer Software unabhängig von technischen Rahmenbedingungen, wie z.B. der verwendeten Programmiersprache, zu messen. Dorian Gloski und Eva-Maria Schielein erklären im ersten Teil ihres Artikels die Prinzipien der Function-Point-Analyse und demonstrieren an einem einfachen Beispiel ihren Ablauf.

Wenn ein Malermeister für das Streichen eines kleinen Raums zwei Wochen Arbeitszeit berechnet und der Auftraggeber ihn fragt: "Wie kann es sein, dass das Streichen von 55 m² zwei Wochen dauert?", so wird ihm die Antwort: "Wir haben ja auch 400 Liter Farbe verbraucht" als Erklärung kaum ausreichen.

Wenn hingegen ein Software-Dienstleister für die von ihm erbrachte Leistung zwölf Personenmonate in Rechnung stellt, dann ist es durchaus denkbar, dass der Auftraggeber die Aussage: "Wir haben ja auch 120.000 Zeilen Code programmiert" als Erklärung für diesen Aufwand akzeptiert. Welcher Leistungsumfang tatsächlich erbracht wurde, ist jedoch in der Regel unbekannt. Der Auftraggeber kann nur vermuten, ob der Arbeitsaufwand angemessen war.

Ein objektives Maß für die Größe der gelieferten Software könnte hier Klarheit schaffen. Mit "Größe einer Software" ist dabei nicht die Dateigröße oder die Code-Länge der lauffähigen Software gemeint – diese hängt auch von vielen technischen Faktoren ab, sondern der Leistungsumfang, den die Software dem Anwender liefert. Zur Angabe der Größe einer Software benötigen wir deshalb eine Maßeinheit aus Sicht des Anwenders und nicht des Entwicklers.

Ein von technischen Rahmenbedingungen unabhängiges Maß für die Software-Größe würde es möglich machen, z.B. verschiedene Angebote für eine Software-Produktion auf einer objektiven Bezugsgröße miteinander zu vergleichen oder in einem Software-Entwicklungsprojekt den Fortschritt verlässlich zu ermitteln.

Größe von Software messen

Wenn wir eine Messmethode für die so definierte Größe von Software entwickeln wollen, dann muss diese unabhängig von der Art der Software oder einer konkreten Technologie sein. Die Anzahl der Zeilen des Programm-Codes (Lines of Code = LOC) taugen deshalb nicht als Messgröße. Wir benötigen vielmehr eine Methode, mit der wir die Größe der Steuerungssoftware einer Maschine, einer Office-Applikation, eines ERP-Systems, eines webbasierten Onlineshops oder einer Mobile-App gleichermaßen bestimmen können. Damit dies gelingt, benötigen wir einen Maßstab, der allen Anwendungen gemeinsam ist.

Alle Software-Anwendungen haben gemeinsam, dass sie ihren Benutzern eine bestimmte Funktionalität bieten. Diese ist zwar unabhängig von der technischen Umsetzung der Anwendung, lässt sich aber auf den ersten Blick schwer quantifizieren. Funktionalität wird z.B. häufig mit sog. User Stories beschrieben. Die Größe einer jeden User Story wird mit sog. Story Points geschätzt. Im Wort "schätzen" liegt

Anzeige
Der vollständige Artikel ist für Abonnenten frei zugänglich.
Artikel kaufen (4,50 €)
  • 16 Seiten Praxiswissen
  • PDF-Download
Kostenlos weiterlesen!
  • Diesen Beitrag kostenlos lesen
  • 4 Wochen Online-Zugriff auf alle Artikel, Methoden und das Glossar
Tech Link