Presentatie die ik op 31 oktober 2012 gegeven heb voor de OV benchmark. Deze groep van (semi)overheden komt twee keer per jaar bij elkaar om ideeën rondom het meetbaar en inzichtelijk maken van kosten en inspanning in het ICT te bespreken.
Presentatie die ik op 31 oktober 2012 gegeven heb voor de OV benchmark. Deze groep van (semi)overheden komt twee keer per jaar bij elkaar om ideeën rondom het meetbaar en inzichtelijk maken van kosten en inspanning in het ICT te bespreken.
When clients outsource their software development projects, they need to make sure that these suppliers don't overprice the projects. As it is often not longer possible to select the best offer, there should be another mechanism to measure the value that they are getting in comparison to the money they are paying. Supplier Performance Measurement enables clients to keep in control of theis project costs in outsourcing situations and to negotiate performance improvements with the suppliers.
DevOps and metrics presentation, co-presentation by Dave van Herpen and Harold van Heeringen (both Sogeti Nederland B.V.). The key message of the presentation is the fact that metrics are important in DevOps environments and that it is important to do a thorough analysis of which metrics are important to collect and for which reasons.
SE & BIM 7. Afsluiting door Jan Pieter EelantsCROW
SE & BIM: twee cruciale onderdelen van een succesvolle ketensamenwerking. Kansen en knelpunten in toepassing van SE en BIM. In samenwerking met INCOSE-NL.
Bekijk de presentatie “Van laboratorium naar informatieleverancier”, gegeven door Jan Smelt van GD en Peter Ebell van AMIS Services.
Deze presentatie is gegeven tijdens het Oracle Customer Showcase event dat plaats vond op 21 juni 2012 in het Glazenhuis te Klarenbeek. AMIS heeft deze dag samen met de klant Gezondheidsdienst voor Dieren (GD) haar business case gepresenteerd.
Presentatie Tjeerd Seinen tijdens Tools4ever klantendag 2010:
Op het gebied van het beheer van User Accounts en Wachtwoorden heeft Tools4ever inmiddels een suite van producten ontwikkeld. Tijdens deze sessie worden alle producten kort toegelicht en gedemonstreerd. Tevens zal aandacht besteedt worden aan de roadmap voor de komende periode met betrekking tot de release van uitbreidingen aan de bestaande producten en de release totaal nieuwe producten.
The Use of Functional Size in the Industry.pdfNesma
In this webinar, the emphasis is on the use of Functional Size in the Industry, and we focus on several use cases where functional size helps organizations to make impactful decisions based on objective metrics and data.
While traditional performance metrics often measure individual output or adherence to pre-defined plans, measuring performance in agile teams requires a different approach. Agile teams operate in iterative cycles, prioritizing adaptability and learning over rigid goals. So, why do organizations still measure their performance?
By using the right metrics in the right way, organizations can empower their agile teams to thrive and deliver exceptional results.
Software Cost Estimation webinar January 2024.pdfNesma
In this webinar you will learn why Software Cost Estimation is important, what is the Software Cost Estimation Body of Knowledge for Software and the ways you can become a professional certified software cost estimator SCEC!
The journey of UNISON Cost Engineering in the field of automotive software cost estimation started in 2018. The expectation is that in 2030 the cost of software will be 50% of the total production cost of a car. To help the OEM get a proper understanding of the software development cost they need to use some form of size measurement to compare, challenge and control the cost of software development by the software vendors.
The COSMIC battle between David and Goliath - Paul HusseinNesma
No more exhaustive and emotional discussions on price and deliverables. Predictable prices for projects and changes. No escalating maintenance costs. This can only be done by specifying exactly what you want and outsource it to the right service providers that have the required platform already in place.
Succesful Estimating - It's how you tell the story - Amritpal Singh AgarNesma
Estimating the Cost of something is a profession. But then you have to tell the story about the estimate to whoever needs to hear that story. The success of how you tell the story is determining the success of the cost estimate.
CEBoK for Software Past Present Future - Megan JonesNesma
The Cost Estimation Body of Knowledge for Software is in development for a number of years within ICEAA. First as a section of the general CEBoK, but it will be established as a separate CEBoK-S for Software, since software is becoming very prominent within the cost estimation community.
Agile Development and Agile Cost Estimation - A return to basic principles - ...Nesma
Is there a natural tension between agile development and traditional cost management or do we need to return to basic principles? Even when you are flexible, you still need to make a plan, build an estimate and measure what you have achieved.
Resolving Cost Management and Key Pitfalls of Agile Software Development - Da...Nesma
Agile software development does not always live up to the promises. Especially in the field of IT Cost Management. Without proper estimation and tracking the value cannot be made clear.
Project Succes is a Choice - Joop SchefferlieNesma
Project success is a choice. Don't stop thinking about the best way to do a project, agile or not. Select the best competencies to ensure that the project will be successful.
Deze presentatie beschrijft een praktische implementatie van het gebruik van Nesma functiepunten in Agile deliveries. Deze presentatie is gepresenteerd door Richard Sweer van Infinity tijdens de webinar Afrekenen met functiepunten. Voor meer info: www.nesma.org; conference@nesma.org.
2. Overzicht
• Waarom van FPA naar COSMIC-FFP?
• FPA in a nutshell
• COSMIC-FFP in a nutshell
• Overeenkomsten en verschillen
• Conversie - Eerdere studies
• Conversie - Sogeti studie
• Aanbevelingen
3. COSMIC-FFP
• Tweede generatie FSM
• Bestaat sinds eind jaren ‘90
• Toepasbaar op de domeinen: bedrijfsapplicatie software,
realtime software, infrastructuur software en hybriden
• Maakt meten van herbruikbare componenten mogelijk
• Geschikt voor traditionele ontwikkelmethodieken en
architecturen
• Geschikt voor moderne ontwikkelmethodieken (RUP, OO, etc)
• Geschikt om software in moderne architecturen te meten
(meerlagen, soa)
COSMIC is beter toegespitst op het meten van moderne
vormen van documentatie dan FPA
4. Mogelijke redenen om van FPA naar
COSMIC-FFP te gaan
• Nieuwe ontwikkelmethodieken en daarom van andere vormen
van functionele documentatie. FPA minder goed toepasbaar
• De organisatie wil ook software in het realtime, telecommunicatie
of infrastructuur domein gaan meten.
• De organisatie wil de omvang van verschillende afzonderlijke
componenten vaststellen.
• De organisatie wil dat er genuanceerdere metingen worden
uitgevoerd. Een zeer complexe functie zou een grotere omvang
moeten opleveren dan een complexe functie.
• De organisatie is op een manier ingericht dat een afdeling slechts
een deel van een gebruikersfunctie bouwt. Men wil echter wel op
afdelingsniveau kunnen meten en begroten.
Waarom meet dan niet iedereen met COSMIC-FFP??
5. Overstappen?
Overstappen van FPA naar COSMIC-FFP wordt als
onwenselijk beschouwd omdat men bang is dat de met
veel pijn en moeite in FPA opgebouwde ervaringscijfers
dan nutteloos worden.
Tenzij er een goede manier is om een database
met ervaringscijfers te converteren van FP naar
cfsu!
7. Omvang
• Methoden om de omvang van software te meten
> Source lines of code
> Number of objects
> Number of screens
> Number of classes
> etc
• Probleem:
> Meetresultaten hangen sterk af van de gekozen technische
implementatie Moeilijk te vergelijken.
> Pas meetbaar na implementatie
• ISO 14143-1 Functional Size Measurement
8. Hebben we het over hetzelfde ??
• ISO-Standaard 14143
400
40
0
9. ISO standaard?
• Consistent
• Ondubbelzinnig
• Wereldwijde afspraak
• Onafhankelijk van technische
implementatie
• ISO gecertificeerd (anno 2006)
> IFPUG FPA,
> Mark II Function Points
> NESMA FPA,
> COSMIC-FFP,
11. FSM User Requirements
Business
requirements
(waarom)
User
requirements
(wat)
System requirements
(hoe)
12. User requirements
Functional UR Technical UR Quality UR
User Requirements
FPA en COSMIC-FFP meten alleen de Functional User
Requirements
13. Functional User Requirements
Functional User Requirements (FUR) kunnen uit de
verschillende ontwerp producten worden ge-
extraheerd voordat de software bestaat…
Requirements
definitie
documenten
Data analyse /
Functional
modellering
documenten User
Functionele
Requirements
decompositie
documenten
14. Functional User Requirements
Functional User Requirements (FUR) kunnen ook
worden geidentificeerd nadat de software is
gerealiseerd
Fysieke
Programma’s en
schermen
Functional Gebruikers-
handleidingen
User en
procedures
Requirements
Fysieke
databases
16. Functiepunt
Zodra de FUR zijn vastgesteld, kunnen we FPA gebruiken om de
omvang te meten
De functiepunt is
de eenheid om de omvang te bepalen
van de functionaliteit
die aan de gebruiker wordt aangeboden
vanuit het gezichtspunt van de gebruiker.
18. Functionaliteit
twee types functionaliteit
transacties data
i u o Interne Logische
n i p Gegevens Verzameling
v t v
o v r
e o a
Koppelings
r E a
Gegevensverzameling
r g
Ondersteunende
functies
21. Meten: voorbeeld FPA
FUR
Aanmaken nieuwe medewerker (vanuit menu)
LGV’s Attributen
WERKNEMER naam, adres, tel., datum in dienst, functiecode
FUNCTIE functiecode, omschrijving, salarisschaal
Invoerfunctie
LGV = 2 (WERKNEMER en FUNCTIE)
DET = 6 (5 attributen + 1 appl det voor opstarten functie)
1-4 5 - 15 > 15
0-1 L(3) L(3) G(4
Gemiddelde invoerfunctie, 4 FP )
2 L(3) G(4) H(6)
>2 G(4) H(6) H(6)
22. FPA samenvattend
• Toepasbaarheid FPA is sterk afhankelijk van de
aanwezigheid van een datamodel
• FPA kent een waarde toe aan de aanwezige
gegevensverzamelingen en aan de aanwezige functies
• Deze waarde is per functie begrensd
24. COSMIC Full Function Points
Gegevens Transacties Gebruiker
w e
persistent transient
[permanent] [vluchtig]
r x
functioneel
proces
25. Functioneel Proces
Functioneel Proces
• Elementaire component van de FUR
• Unieke, samenhangende, onafhankelijk
uitvoerbare set van data movements
• Wordt getriggered door een triggering event in de
wereld van de gebruiker
• Is pas afgerond op het moment dat alles is gedaan
wat op basis van dat triggering event mag worden
verwacht.
• Functionele processen zijn vrijwel altijd
gelijk aan FPA functies
26. Data Group - vb
In het logisch datamodel komt een entiteit voor met de
naam MEDEWERKER, met de volgende attributen:
Medewerker, naam, adres, tel., datum in dienst, functiecode
Object of
Interest Functioneel Proces Data groep (Write)
Medewerker Toevoegen mdw {mdwnr, naam, adres, woonplaats, sofinr}
Medewerker Wijzigen mdw {naam, adres, woonplaats}
Medewerker Verwijderen mdw {mdwnr}
27. Meetfase
Identificeer van elk functioneel proces de data
movements
> Elke data movement is één Cfsu
> Cfsu = COSMIC Functional Size Unit
> De omvang van de te meten software is gelijk aan het aantal
geïdentificeerde data movements
28. Meten: voorbeeld COSMIC-FFP
Functioneel proces
Aanmaken nieuwe medewerker (vanuit menu)
OOI Attributen
WERKNEMER naam, adres, tel., dat. id, functiecode
FUNCTIE functiecode, omschrijving, salarisschaal
Data Movement Data Group
Entry {werknemergegevens}
Read FUNCTIE
Write WERKNEMER
Exit {medewerkernummer}
Exit {boodschap (fout / bevestiging)}
Totaal: 5 Cfsu NB: Standaard 1 exit voor melding
29. COSMIC-FFP samenvattend
• COSMIC-FFP is niet afhankelijk van de aanwezigheid van
een datamodel
• COSMIC-FFP kent een waarde toe aan verplaatsingen van
datagroepen binnen functionele processen
• Deze waarde is niet begrensd per functioneel proces
31. Belangrijkste verschillen methodieken
FPA COSMIC-FFP
Toepasbaar op Domein Bedrijfsapplicaties Bedrijfsapplicaties,
Realtime, Infrastructuur
Datamodel vereist? Ja Nee (wel handig)
Meten van afzonderlijke Nee Ja
componenten mogelijk?
Omvang per functie Ja Nee
begrensd?
Benchmarking data Veel Weinig
Meten van complexe Nee Nee, maar lokale
verwerking uitbreiding mogelijk
Early sizing o.b.v. datamodel o.b.v. procesmodel
32. Overeenkomsten in terminologie
Term NESMA FPA 2.2 COSMIC-FFP 2.2
User User Gebruiker
FURs FURs FURs
Applicatie Applicatie Application
Systeemgrens Systeemgrens Boundary
Transactie Gebruikerstransactie Functional process
Logische gegevensgroep LGV Data group
Data element type (DET) DET DET
33. De methodes vergeleken
FSM Method Datagroep Datagroep Transactie Trans- Transactie
types omvang types actie omvang
FPA ILGV Invoerfunctie
# RET’s # DET’s
KGV Uitvoerfunctie
# DET’s # Gerefereerde
Opvraagfunctie LGV’s
COSMIC-FFP Transient Entry # data
movements
Onderdeel
van Functioneel Exit # data
Functioneel Proces movements
Persistent proces Read # data
movements
Write # data
movements
34. Overeenkomsten en verschillen in
telwijze
• Overeenkomsten:
> FUR worden geanalyseerd
> FPA Functies / Functionele processen worden geidentificeerd
> De complexiteit van een functie / functioneel proces wordt
bepaald door het toekennen van een getal die de functionele
omvang weergeeft.
• Verschillen:
> Het datamodel wordt bij FPA wel gekwantificeerd, niet bij
COSMIC-FFP
> De complexiteit van de functies wordt bij FPA uit een tabel
gehaald (max. 7) en bij COSMIC bepaald op basis van het
aantal datagroep verplaatsingen tijdens het proces (geen
maximum).
37. Onderzoek
• Doel – Onderzoeken of het mogelijk is om een
conversieformule te bepalen om een gemeten omvang in
FP te converteren naar een omvang in cfsu
• Methode – Zowel in FPA als in COSMIC-FFP meten van
een aantal projecten om daarna de verschillen te
analyseren
• Projecten – 28 nieuwbouwprojecten voor verschillende
klanten
38. Resultaten deel 1
Project #cfsu # Func. Gem. # FP # ILGV # kGV # IF # UF # OF
Proc. cfsu
A 66 7 9,4 61 1 4 1 6 0
B 75 8 9,4 112 2 9 6 4 0
C 73 14 5,2 129 1 12 4 6 4
D 120 15 8,0 135 3 2 0 0 0
E 137 25 5,5 136 3 0 13 11 2
F 257 43 6,0 245 6 6 31 23 3
G 270 36 7,5 249 14 3 23 14 1
H 286 44 6,5 279 11 4 20 20 1
I 352 44 8,0 279 11 4 20 20 1
J 252 35 7,2 286 12 1 20 23 4
K 313 54 5,8 302 11 6 16 19 9
L 301 34 8,9 334 6 8 26 27 3
M 281 42 6,7 381 0 30 0 42 0
N 509 51 10,0 412 14 1 19 21 11
41. Opdelen dataset?
• Alleen transacties geen hoge R2
• Opsplitsen in datasets groter en kleiner dan 200 verkleint
de R2
• 1 formule voor hele dataset geeft de beste correlatie
42. Outliers
• Mogelijke oorzaken:
FP > cfsu
Omvangrijk datamodel, maar geen dekkende CRUD
matrix
Relatief veel KGV’s (meer dan 50%)
Veel kleine functionele processen (3 a 4 cfsu)
Cfsu > FP
Veel functies waarin data van veel entiteiten wordt
verplaatst
Veel onderhoudbare codetabellen
Veel output processen
Veel zeer eenvoudige functies (message X speelt
zware rol)
43. Aanbevelingen
• Om een database met ervaringscijfers van FPA naar cfsu
te converteren:
1. Doe een aantal tellingen opnieuw in COSMIC-FFP
2. Maak een overzicht in excel met daarin de dubbelmetingen
3. Laat Excel een spreidingsgrafiek opstellen en stel in dat de
formule en de R2 worden getoond
4. Pas de gevonden formule toe op de hele database
• Als men geen dubbeltellingen wil doen
1. Bepaal of het NESMA of IFPUG functiepunten betreft
2. Kies op basis daarvan een van de gegeven formules
3. Pas deze formule toe op de hele database
44. De Nesma en COSMIC-FFP
• Werkgroep COSMIC-FFP
• Doel: toegankelijker maken van de methode voor de
‘metrics community’ in Nederland
> Vertalen measurement manual
> Papers en presentaties op conferenties
Harold.van.heeringen@sogeti.nl
Pagina Er is een ISO-standaard die voorschrijft hoe requirements objectief gemeten kunnen worden. Niet inhoudelijk ingaan op de methodieken, maar aangeven dat deze methoden de omvang van de functionaliteit van software (de requirements van de gebruiker dus) kwantitatief meetbaar maken. Functiepuntanalyse is data georiënteerd en dus vooral geschikt voor administratieve systemen. COSMIC-FFP is proces georiënteerd en is ook geschikt voor real-time systemen. Waarom is dat interessant? Omdat je dan een duidelijke standaard hebt hoe requirements in een getalswaarde worden uitgedrukt en het dus niet uitmaakt wie je die vertaalslag laat maken. Doordat de methodiek gestandaardiseerd is kun je deze als basis voor contracten gebruiken. Functiepuntanalyse is niet nauwkeurig. Dat is waar als je er deterministisch naar kijkt. Geef twee analisten dezelfde documentatie en de uitkomst kan tot 12% afwijken. Is daarmee de methode waardeloos? Vergelijk het met een dobbelsteen: Als je met twee stenen een 1 en een 3 gooit, zijn ze dan verschillend? Bij functiepuntanalyse wel. Maar bij een dobbelsteen zeg je pas na een aantal keer gooien dat ze een verschillende kans hebben. Chris Verhoef heeft metingen van ruim 37.000 functiepunten in honderden projecten bekeken en geen verschil in kans ontdekt bij meer dan 90% van de gemeten functiepunten. Het uitvoeren van een omvangsmeting kost één tot enkele €uro’s per eenheid. Een totaal bouwtraject vaak algauw honderden euro’s per eenheid, afhankelijk van een aantal factoren die Warner toe gaat lichten.
Pagina
Pagina
Thank you for your attention Do we have some time for questions or discussion ?