Ursprung und Zweck der Function Point-Analyse
Das Bedürfnis nach einer technologieunabhängigen Methode zur Aufwandschätzung von Software-Entwicklungsprojekten führte Ende der 70er Jahre bei IBM zur Entwicklung der Function Point-Analyse (FPA). Schon bald etablierte sich die FPA als anerkanntes Verfahren, um die Größe und Komplexität von Softwaresystemen zu messen. Im Laufe der Jahre hat sich ihr Verwendungszweck zunehmend erweitert. Im Folgenden soll die FPA und ihre Anwendungsbereiche kurz dargestellt werden.
Was sind Function Points?
Function Points sind nichts anderes als ein Maß für den Funktionsumfang eines IT-Systems. Vergleichbar der Anzahl der Pferdestärken eines Kraftfahrzeugs, mit denen die Leistung ausgedrückt wird, spiegelt der Function Point-Wert den Leistungsumfang eines Softwaresystems wider. Je größer die Anzahl der Function Points, desto umfangreicher ist der von der Anwendung unterstützte Funktionsumfang.
Hauptmerkmale der Function Point-Analyse
Die FPA zeichnet sich im Wesentlichen durch folgende Eigenschaften aus:
Technologische Unabhängigkeit: Die FPA misst Softwarefunktionalität ausschließlich aus Benutzersicht, unabhängig von der für die Implementierung eingesetzten Technologie. Um den Function Point-Wert eines IT-Systems bestimmen zu können, müssen lediglich die Benutzeranforderungen an die Software bekannt sein.
Standardisierung: Die FPA erfolgt auf der Basis definierter Regeln eines internationalen, ISO-zertifizierten Standards (IFPUG 4.2).
Transparente und vergleichbare Messung: Die standardisierte Vorgehensweise gewährleistet, dass die Messung des Funktionsumfanges nachvollziehbar ist. Durch die Fokussierung auf die Benutzersicht repräsentiert der ermittelte Function Point-Wert eine Kennzahl, die es erlaubt, unterschiedlichste IT-Vorhaben auf einer einheitlichen, d.h. normierten Grundlage miteinander zu vergleichen.
Unabhängigkeit vom Projekttyp: Die FPA lässt sich gleichermaßen für die Bewertung von neuen Entwicklungsvorhaben, Wartungsprojekten oder die nachträgliche Größenmessung bestehender Applikationen einsetzen.
Vertretbarer Aufwand: Eine FPA lässt sich mit angemessenem Aufwand durchführen.
Wie wird der Function Point-Wert einer Anwendung gemessen?
Die Ermittlung des Function Point-Wertes erfolgt in zwei Stufen:
Zählung der Function Points auf Basis der spezifischen Benutzeranforderungen
Justierung der Function Point-Summe mittels eines Faktors, um auch allgemeine Systemfunktionalität in der Messung zu berücksichtigen
Die Function Point-Zählung ist daran ausgerichtet, wie ein Benutzer ein System wahrnimmt. Dazu werden die Benutzeranforderungen in Bezug auf Datenanforderungen und Transaktionen analysiert. Bei den Datenanforderungen unterscheidet man zwischen logischen Datenbeständen, die innerhalb, und solchen, die außerhalb des betrachteten Softwaresystems verwaltet werden. Bei den Transaktionen wird zwischen Eingaben, Ausgaben und Abfragen differenziert.
Unter Anwendung definierter Zählregeln werden die identifizierten Datenbestände und Transaktionen hinsichtlich ihrer Komplexität klassifiziert, woraus sich schließlich die Anzahl der Function Points ableitet.
Den endgültigen Function Point-Wert des betrachteten IT-Systems, d.h. die eigentliche Kennzahl für dessen Funktionsumfang, erhält man, indem man die Summe der im ersten Schritt ermittelten Function Points noch mit Hilfe eines sog. Einflussfaktors justiert. Dieser basiert auf 14 allgemeinen Systemmerkmalen, die die Anwendung näher charakterisieren. Hierzu zählen z.B. Aspekte der Datenkommunikation, Performanz, Verarbeitungskomplexität und Benutzerfreundlichkeit.
Anwendungsbereiche und Nutzen der FPA
Organisationen können in mehrfacher Hinsicht vom Einsatz der FPA profitieren. Hierbei sind insbesondere zu nennen:
Aufwandschätzung:
Die FPA ermöglicht es, bereits auf der Grundlage der Benutzeranforderungen – also zu einem frühen Zeitpunkt – die Komplexität eines Software-Entwicklungsvorhabens zu quantifizieren. Unter Verwendung von unternehmensinternen Erfahrungswerten aus Altprojekten, Expertensystemen oder Industrie-Benchmarks lässt sich der Aufwand für die Umsetzung der Anforderungen aus dem Function Point-Wert ableiten. Für ein Projekt kann damit frühzeitig eine Kosten-Nutzen-Analyse erfolgen, was wiederum für eine zügige Angebotserstellung hilfreich ist.
Produktivitätsmessungen/Benchmarking:
Aufgrund ihrer Technologieunabhängigkeit eignen sich Function Points hervorragend für anwendungs-, plattform-, organisations- oder branchenübergreifende Produktivitätsvergleiche. Der wahre Nutzen von Function Points ergibt sich für ein Unternehmen dann, wenn es eigene interne Produktivitätskennzahlen aufbaut (z.B. realisierte Function Points pro Mitarbeitermonat). Aufwandschätzungen – und die damit verbundene Planungsqualität – lassen sich so kontinuierlich verbessern und der Erfolg von Prozess- oder Qualitätssteigerungsinitiativen messen.
Anforderungsmanagement:
Mit Hilfe der FPA lässt sich der Umfang (scope) eines laufenden Entwicklungsvorhabens wirksam kontrollieren. Sobald sich Änderungen an den ursprünglichen Anforderungen ergeben, wird die initiale Function Point-Zählung aktualisiert, um die Auswirkungen für das Projekt bewerten und damit über die Umsetzung einer Änderung entscheiden zu können. Stellt man am Projektende den finalen Function Point-Wert dem Initialwert zu Projektbeginn gegenüber, lassen sich Rückschlüsse auf die Effektivität der Anforderungserhebungstechniken ziehen und Verbesserungspotenziale erkennen.
Kosten-/Leistungsvergleiche:
Function Points sind eine geeignete Bezugsgröße für Funktions- und Kostenvergleiche von IT-Systemen und -Dienstleistungen. Der Function Point-Wert macht Unterschiede im Funktions- bzw. Leistungsumfang unmittelbar sichtbar. Anhand der »Kosten pro Function Point« lassen sich Kosten und Leistung miteinander in Beziehung setzen. Für die Bewertung von Angeboten, Make-or-Buy-Entscheidungen und in der Softwarebeschaffung sind dies nützliche Entscheidungsgrößen.
Leistungsvereinbarungen:
Mit Hilfe von Function Points kann eine zu erbringende Leistung genau definiert und ihr Erfüllungsgrad gemessen werden. Bei der Fremdvergabe von Entwicklungsleistungen, Outsourcing-Vereinbarungen, o.ä. lässt sich somit überprüfen, in wie weit die erbrachten Leistungen, Service-Level oder erzielten Produktivitätsgewinne dem entsprechen, was vereinbart bzw. versprochen wurde.
Portfolio-Analyse:
Unternehmen müssen kontinuierlich ihr Anwendungs- und Projektportfolio analysieren. Neben anderen Faktoren ist auch der Function Point-Wert eines IT-Systems ein wichtiger Entscheidungsparameter für die Beibehaltung, Ablösung oder das Redesign bestehender Applikationen. Beispielsweise lassen sich die Produktionskosten von IT-Systemen mit Hilfe des Function Point-Wertes analysieren und vergleichen (Produktionskosten pro Function Point). Gleiches gilt für Support-Aufwände. Eine Function Point-basierte Analyse der Pflege- und Wartungsaufwände hilft einem Unternehmen bei der Entwicklung einer Ablösestrategie für Anwendungen mit besonders hohen Support-Anforderungen.
Fazit
Die Function Point-Analyse ist eine standardisierte Methode, mit der sich der Funktionsumfang eines Softwaresystems bzw. die Größe eines Software-Entwicklungsvorhabens unabhängig von implementierungstechnischen Rahmenbedingungen quantifizieren lässt. Auf der Grundlage der ermittelten Function Points lassen sich Kennzahlen aufbauen, die dazu beitragen, IT-Leistungen transparent zu machen, die Planung und Steuerung von IT-Projekten zu verbessern sowie das Verständnis für die Wirtschaftlichkeit einzelner IT-Vorhaben zu fördern. Die Einsatzmöglichkeiten der FPA sind dementsprechend vielfältig und erstrecken sich von der operativen bis hin zur strategischen Ebene.














Hennef, 27.09.2007:





