"De functiepuntanalyse-methode voldoet soms inderdaad niet, maar dit ligt niet aan het wel of niet versneld ontwikkelen van systemen", meent Frans Wilbrink. De oorzaak ligt in het gegevens-georiënteerde karakter van de methode. Als ook proces- of control-georiënteerde aspecten een essentiële rol spelen, kan FPA daar nauwelijks rekening mee houden. De oplossing ligt dan ook bij een methode die dat wel kan.
In Alternatieven voor functiepuntanalyse, Capaciteit goed inschatbaar (21 juni 1996) stelt Kees Kranenburg dat de klassieke functiepuntanalyse (FPA) bij versnelde systeemontwikkeling niet meer voldoet. Om dit probleem op te lossen stelt hij twee alternatieve telmethodes voor. Hoewel ik zijn analyse niet onderschrijf, ben ook ik van mening dat FPA in bepaalde gevallen tekortschiet en dat dit een bedreiging voor de methode kan worden.
In telmethode-1 wordt aan de hand van het aantal informatieregels (die nog niet compleet of gedetailleerd hoeven te zijn) en de complexiteit van die regels bepaald of een entiteittype eenvoudig, gemiddeld of complex is. Dit wordt gekoppeld aan de FPA-normering (laag, gemiddeld, hoog). Dat resulteert in een hoeveelheid functiepunten per entiteittype variërend van 17 tot 34.
Mijn eerste opmerking luidt dat Kranenburg verzuimt aan te geven hoe de classificering in eenvoudig, gemiddeld of complex moet gebeuren. Hoe bepaal je de complexiteit van een informatieregel? Bij welke hoeveelheid informatieregels is sprake van een gemiddeld of complex entiteittype? Zonder normering op dit gebied komt iedere teller tot andere uitkomsten en dit is, neem ik aan, ook Kranenburgs bedoeling niet.
Geen goede maatstaf
Uiteindelijk zal op een of andere wijze de classificatie totstandkomen, zodat het mogelijk is om een schatting van het aantal functiepunten te maken. Zodra de gedetailleerde specificaties bekend zijn, wordt een nacalculatie volgens de FPA-methode gemaakt. Wat blijkt dan? Dat de schatting en de nacalculatie niet ver uiteenlopen. Daarmee zou bewezen zijn dat telmethode-1 goed is. Het bewijs is echter slechts gebaseerd op één waarneming; nergens blijkt dat Kranenburg zijn telmethode ook in diverse andere omgevingen heeft uitgetest. Ook een verklaring voor het fenomeen laat hij achterwege.
Een verklaring, hoewel vrij hypothetisch, zou het volgende kunnen zijn. Stel dat er een entiteittype is met weinig attribuuttypes en met een zeer complexe informatieregel. Volgens de FPA-methode leidt dit tot 17 functiepunten en volgens telmethode-1 tot 34 functiepunten. Als er, zodra het gedetailleerde gegevensmodel gereed is, opnieuw een telling volgens de FPA-methode wordt gemaakt, zal dit nog steeds maar tot 17 functiepunten leiden, tenzij bij het detailleren en completeren van de informatieregel vele nieuwe attribuuttypes moeten worden gecreëerd.
Wel te constateren valt dat de FPA-methode in het onderhavige voorbeeld geen goede maatstaf voor de omvang van een systeem is. Immers, met complexe informatieregels houdt de methode nauwelijks rekening. Met de omgevingsfactoren waarmee de FPA-methode werkt, kan men weliswaar enige correctie aanbrengen, maar dit is zeker in het genoemde voorbeeld onvoldoende.
Bij telmethode-2 worden de informatieregels ingedeeld in klassen. Per klasse is berekend hoeveel uren nodig zijn om een regel te realiseren. Hier is helemaal geen sprake van een telmethode, want er wordt geen telling gemaakt van de omvang van het systeem. Telmethode-2 dient om de benodigde capaciteit voor het realiseren van het systeem te berekenen. Als zodanig kan de door Kranenburg beschreven methode heel goed zijn, al moet iedere organisatie wel voor elke ontwikkelomgeving op basis van ervaringscijfers haar eigen normuren berekenen.
De oplossing
Kranenburg stelt dat de klassieke FPA-methode voor het schatten van de omvang van systemen niet voldoet bij methoden voor versnelde systeemontwikkeling. Volgens mij voldoet de FPA-methode soms inderdaad niet, maar dit ligt niet aan het wel of niet versneld ontwikkelen van systemen. De oorzaak ligt in het feit dat de FPA-methode gegevens-georiënteerd is. Zodra in een applicatie ook proces-georiënteerde (lees: informatieregels) of control-georiënteerde aspecten een belangrijke rol spelen, vermindert de waarde van FPA, omdat de methode daar nauwelijks rekening mee houdt.
Deze constatering is niet nieuw; al in 1991 lanceerden enkele medewerkers van Boeing Computer Services een voorstel om de omvang van een systeem te bepalen door rekening te houden met gegevens-, proces- en control-aspecten. Aan de FPA-methode voegden ze de elementen Transformations, States en Transitions toe. Ze noemden hun methode 3D Function Points. Sindsdien heb ik niets meer over deze methode gehoord, maar de oplossing van het probleem moet volgens mij in die richting worden gezocht. Het lijkt me van wezenlijk belang dat de Ifpug hier serieus werk van gaat maken, want een goede en internationaal aanvaarde methode voor het meten van de omvang van applicaties is onmisbaar.
F.H.A. Wilbrink, Philips International, Corporate Automation te Eindhoven
LITERATUUR
S. Whitmire, S. Galea, R. Gold, J. Basic, M. Crow en J. Tollar: Scientific and real-time software size metrics. (Draft Preliminary Report)Boeing Computer Services, 9 januari 1991.