It is the customer who determines what business is. What the customer thinks he is buying, what he considers 'value', is decisive - it determines what a business is, what it produces and whether it will prosper.
Peter F. Drucker
FPA is in de periode 1974-79 ontwikkeld bij IBM door A.J. Albrecht op basis van een produktiviteitsonderzoek van een groot aantal projecten. De eerste toepassing waarvoor FPA werd gebruikt was het achteraf meten van de produktiviteit van systeemontwikkeling en -onderhoud. Al snel werd duidelijk dat de techniek zich tevens leent voor het ondersteunen van het proces van begroten van projecten, omdat de gegevens die nodig zijn voor FPA al vroegtijdig in een project beschikbaar kunnen zijn.
FPA is gericht op het bepalen van de functionele omvang van een informatiesysteem of project. FPA is een methode voor het verkrijgen van een technologie-onafhankelijke meting van de omvang/complexiteit van de functionaliteit die door een informatiesysteem aan de gebruiker wordt geboden.
FPA richt zich op het analyseren van de functionaliteit die een informatie-systeem biedt of moet gaan bieden. De analyse resulteert in een overzicht van gebruikersfuncties, de complexiteit van deze functies en de zwaarten van de systeemkenmerken. FPA kan – op basis van de bepaalde omvang van het te ontwikkelen informatiesysteem – worden gebruikt als methode om de tijdsduur van systeemontwikkelingsprojecten te schatten.
FPA hanteert de functiepunt als eenheid voor de omvang (incl. complexiteit) van een te ontwikkelen (of te onderhouden) informatiesysteem.
Een functiepunt drukt de hoeveelheid informatieverwerking uit die een informatiesysteem de gebruiker biedt. Hierbij gaat het zowel om processen als om gegevensverzamelingen. Van belang is, dat de gebruiker de functionaliteit herkent en erom gevraagd heeft. FPA noemt dit dan ook de gebruikersfuncties. Het bepalen van functiepunten staat ten dienste van de productomvang en/of de projectomvang. Het gaat om de ‘buitenkant’ die de gebruiker ziet.
Als eenheid staan functiepunten los van de wijze waarop de in¬for¬matie¬ver-werking technisch is/wordt gerealiseerd. Bij FPA wordt de toe¬pas¬sing als een ‘black box’ beschouwd, waarvan het alleen nodig is te weten wel¬ke gebruikersfuncties zijn ondersteunt en welke gegevens¬verza¬melingen zij her-bergt. De techniek achter de toepassing (bijv. de gebruikte taal) blijft volledig buiten beschouwing. Op deze manier kunnen toepassingen met elkaar vergele-ken worden, ongeacht de omgeving waarin ze zijn of worden ontwikkeld.
FPA is een techniek gericht op het waarderen van de omvang en complexiteit van het te ontwikkelen systeem in (functie)punten. De techniek richt zich op het ‘meten’ van functionaliteit, ofwel de hoeveelheid gegevensverwerking, die de gebruiker wordt geboden. Bij de bepaling van de omvang van een toepassing wordt gekeken naar de vooraf bekende functionaliteit van het systeem, hierbij worden vier verschillende gebruikersfuncties onderscheiden.
Gebruikersfuncties
(1) Logische gegevensverzamelingen (datamodel)
(2) Koppelingen (interfaces)
(3) Uitvoer
(4) Invoer
Gebruikers
In het kader van FPA worden drie soorten gebruikers onderkend:
- Personen en/of organisatie die het te meten informatiesysteem gebruiken of gaan gebruiken.
- Eigenaar en/of functionaris(sen) die namens de eigenaar de eisen en wensen bepalen die in de specificaties zijn opgenomen.
- Andere informatiesystemen die gegevens of functies van het te tellen informatiesysteem gebruiken.
Soorten FP-tellingen
(1) Indicatieve FP-telling [= begin Basis Ontwerp, FO]
(2) Globale FP-telling [= einde Basis Ontwerp, FO]
(3) Gedetailleerde FP-telling [= Detail Ontwerp, TO]
Het type FPA-telling dat gebruikt moet worden hangt af van de behoefte (= gewenste mate van nauwkeurigheid) en de fase waarin het systeemontwikkelingstraject zich bevindt. Met andere woorden: de toepasbaarheid van de tellingen hangt af van de mate van detail in de beschikbare specificaties!
De globale en indicatieve functiepuntentelling zijn ontwikkeld om FPA te kunnen toepassen in vroege stadia van het systeemontwikkelingstraject. De gedetailleerde functiepuntentelling is het nauwkeurigst, maar kost ook meer tijd en vereist gedetailleerde functionele specificaties.
FPA kent de volgende stappen om omvang van systeem/project te bepalen:
(1) Identificeren van de voor gebruikers relevante functies van het systeem
(2) Bepalen functionele complexiteit van elke functie
(3) Berekenen aantal bruto functiepunten van het systeem
(4) Waarderen eisen voor systeem als geheel via 14 systeemkenmerken
(5) Berekenen aantal netto functiepunten van het systeem
Ad (1) Identificeren gebruikersfuncties
Bij FPA wordt uitgegaan van de functionaliteit die een informatiesysteem de gebruiker biedt. Omdat de gebruiker alleen de ‘buitenkant’ of de grens van een informatiesysteem ziet, wordt bij FPA gekeken naar die specificaties die de informatie-uitwisseling van het informatiesysteem met zijn omgeving beschrijven.
De functionaliteit van het informatiesysteem wordt gemeten door het vaststellen van zogenaamde gebruikersfuncties. Hierbij wordt de functionaliteit afgeleid van:
(a) De in- en uitgaande informatiestro¬men (dit kan zowel data- als besturingsinformatie zijn)
(b) Gegevensverzamelingen die het informatiesysteem bevat (ILGV), of
(c) Gegevensverzamelingen waar informatiesysteem gebruik van maakt (KGV).
De functiepuntentelling bij FPA is een meting van de omvang van de gebruikers¬functies van een geautomatiseerd informatiesysteem of een deel ervan. Het gaat daarbij om het wat en niet om het hoe van hetgeen wordt geleverd. Alleen die componenten die door de gebruiker worden gevraagd en voor de gebruiker herkenbaar zijn en betekenis hebben, worden beoordeeld. Deze componenten worden gebruikersfuncties genoemd.
Voor het bepalen van de bruto functiepunten worden eerst de te realiseren objecten geïdentificeerd. Hierbij wordt uitgegaan van omschrijvingen op conceptueel niveau, in termen van functies zoals de gebruiker die herkent. Hierbij worden vijf typen onderscheiden (invoerfunctie, uitvoerfunctie, opvraag-functie, bestand, koppeling), die ieder weer worden verdeel in eenvoudig, gemiddeld en moeilijk en die een kenmerkend aantal functiepunten krijgen.
Gebruikersfunctie
Vijf soorten componenten waaruit een geautomatiseerd informatiesysteem, van¬uit het gezichtspunt van FPA, bestaat. Deze componenten zijn bepalend voor de hoeveelheid functionaliteit die door een informatiesysteem aan de gebruiker wordt aangeboden.
FPA onderscheidt vijf typen gebruikersfuncties:
(a) Gebruikerstransacties
(a.1) Invoerfunctie (IF)
(a.2) Uitvoerfunctie (UF)
(a.3) Opvraagfunctie (OF)
(b) Gegevensverzamelingen
(b.1) Interne logische gegevensverzameling (ILGV)
(b.2) Koppelingsgegevensverzameling (KGV)
Ad (a) Gebruikerstransacties
Een gebruikerstransactie is een samenhangend stuk gegevens¬ver¬wer¬king dat bij elkaar één geheel vormt en een door de gebruiker gevraagd doel realiseert.
(a.1) Invoerfunctie (IF)
Unieke door de gebruiker onderkende (= gevraagde) functie waarbij gegevens (data- en/of besturingsinformatie) van buiten het informatiesysteem naar binnen gehaald worden; de begrenzing van een toepassing wordt overschreden! Functie waarbij gegevens in de toepassing worden ingebracht; verwerken van gegevens in een ILGV van het systeem (bijv. invoer via scherm/inlezen van bestanden). [toevoegen/wijzigen/verwijderen (create/update/delete)]
(a.2) Uitvoerfunctie (UF)
Unieke door de gebruiker onderkende (= gevraagde) uitvoer die systeem¬grens passeert, waarvan de omvang variabel is of waarvoor verdere gegevensverwerking nodig is. Het gaat hierbij om een functie waarbij gegevens door de toepassing worden verstrekt; presenteren van gegevens uit het systeem (bijv. een overzicht of uitvoerbestand).
(a.3) Opvraagfunctie (OF)
Door gebruiker gevraagde functie waarbij gegevens direct naar aanleiding van een uniek zoekargument (identificerend zoekgegeven) aan de gebruiker getoond worden. Het gaat in feite om een speciaal (eenvoudig) soort uitvoerfunctie die gegevens presenteert uit het systeem op basis van een uniek identificerend zoek¬gegeven dat als invoer wordt gebruikt; er is sprake van een combinatie van invoer en uitvoer! De functie is uniek door indeling en verwerking van in- en uitvoerdeel samen. Begrenzing van de toepassing wordt overschreden.
[raadplegen/read: er mogen geen aanvullende bewerkingen (zoals berekening¬en) mogen plaats heb¬ben (bijv. opvragen gegevens door ingeven van bepaald gegeven)].
Ad (b) Gegevensverzamelingen
(b.1) Interne logische gegevensverzameling (ILGV)
Een interne logische gegevensverzameling (ILGV) is een groep gegevens waarover de gebruiker informatie wil vastleggen en onderhouden [= voor de gebruiker relevante gegevens die door het systeem gebruikt en onderhouden worden. Onderhouden wil in dit verband zeggen, dat het mogelijk is om gegevens toe te voegen en/of te wijzigen en/of te verwijderen. Interne logische gegevensverzamelingen (ILGV’s) bevat objecten waarover de gebruiker in de toepassing gegevens wil onderhouden [= entiteittype!]. Met een logische groep gegevens vanuit het gezichtspunt van de gebruiker wordt bedoeld: een groep gegevens, die door een ervaren gebruiker als een betekenisvolle en bruikbare eenheid of object wordt beschouwd.
Een ILGV heeft een permanent karakter. Hiermee wordt bedoeld dat de gegevensverzameling ook na gebruik door het informatiesysteem blijft bestaan om opnieuw gebruikt te kunnen worden (‘gebruik i.p.v. verbruik’).
(b.2) Koppelingsgegevensverzameling (KGV)
Een koppelingsgegevensverzamelinge (KGV) is een groep gegevens waarvan de toepassing gebruik maakt, maar waarop geen mutaties worden aangebracht. Een KGV bevat permanente, voor de gebruiker relevante gegevens die door het systeem worden gebruikt, maar door een ander systeem worden onderhouden (voor het andere systeem is het dus een ILGV).
Een KGV (externe koppelingsgegevensverzamelingen) bevat objecten waarvan de gebruiker in de toepassing alleen gegevens wil raadplegen, maar die buiten de toepassing worden onderhouden (wegschrijven/deleten).
Ad (2) Bepalen (functionele) complexiteit
Nadat de gebruikersfuncties zijn onderkend, moet voor elk van deze functies de de complexiteit worden bepaald. Het bepalen van de complixiteit gebeurt door alle functies te classificeren op bassis van een waarderingstabel (‘complexiteitstabel’). Voor elk soort gebruikersfunctie is een aparte tabel gedefinieerd.
Het criterium voor het vaststellen van de complexiteit is de hoeveelheid informatieverwerking door een gebruikersfunctie. De complexiteit hangt af van het aantal data-element-typen (DET’s) – vergelijkbaar met attributen – en het aantal gerefereerde (geraadpleegde) logische gegevensverzamelingen dat bij een gebruikersfunctie betrokken is.
FPA onderscheidt voor gebruikersfuncties drie niveaus van complexiteit:
(a) Eenvoudig [E]
Er zijn weinig data-element-typen en/of gerefereerde logische gegevensverzamelingen betrokken bij de gebruikersfunctie
(b) Gemiddeld [G]
De gebruikersfunctie is voor wat de complexiteit betreft noch eenvoudig, noch moeilijk.
(c) Moeilijk [M]
Er zijn veel data-element-typen en/of gerefereerde logische gegevensverzamelingen betrokken bij de gebruikersfunctie.
Bron: Definities en telrichtlijnen voor de toepassing van functiepuntananalyse - een handboek voor de praktijk, NESMA
The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency.
The second is that automation applied to an inefficient operation will magnify the inefficiency.
Bill Gates
Problem solving is the purpose of any organization.
Karen Martin
Zojuist op slideshare mijn A3-training geupload over hoe je problemen oplost met behulp van de A3-methode. De A3-methodiek is binnen Lean een krachtig instrument om problemen bij de wortel (grondoorzaak) aan te pakken.
Mijn ervaring is dat je met de juiste mensen aan tafel in een ochtend- of middagsessie makkelijk deze presentatie kunt combineren met het daadwerkelijk te lijf gaan van een concreet probleem. Een hand-out van de presentatie is dan vervolgens bruikbaar als naslagwerk en hulpmiddel bij het invullen van de 1e zes stappen van de A3-template. Op deze manier geef je de A3-workshop een dubbele functie: het ontwikkelen van het probleem-oplossend vermogen en het effectief oplossen van een probleem uit de dagelijkse praktijk. Oftewel, in de woorden van Durward K. Sobek en Art Smalley:
A3 thinking is as much about developing good problem-solvers as it is about effectively solving problems.
Voel je vrij deze presentatie te gebruiken om een probleem de wereld uit te helpen....
Zie ook:
The Outstanding Organization
Generate Business Results by Eliminating Chaos and Building the Foundation for Everyday Excellence
Karen Martin
Bij Bol.com | Managementboek | Amazon.nl