Gastcollege Hanzehogeschool Groningen 10 januari 2014
-
Upload
harold-van-heeringen -
Category
Business
-
view
299 -
download
3
description
Transcript of Gastcollege Hanzehogeschool Groningen 10 januari 2014
Methodisch Begroten
van software projecten
Hanzehogeschool Groningen10 januari 2014
Harold van HeeringenSoftware Cost Engineer, Sogeti Nederland B.V.ISBSG presidentNESMA bestuur
werkgroep COSMIC werkgroep Benchmarking werkgroep FPA in contract(ing)
COSMIC IAC, NL afgevaardigde
[email protected]@haroldveendam
haroldveendam
haroldvanheeringen
3
2. Sogeti Nederland ICT dienstverlener met ruim 35
jaar ervaring en 3.000 medewerkers
Vestigingen in:
> Vianen (hoofdkantoor)> Groningen> Amsterdam Zuidoost> Amersfoort> Maastricht
Young Professional dag| Presentatie | Amersfoort/Diemen |02-05-2013
4
3. Sogeti & Capgemini
Young Professional dag| Presentatie | Amersfoort/Diemen |02-05-2013
5
4. Sogeti Group +20,000 werknemers over 100 locaties in 15 landen
USA 2,000Chicago, Cincinatti, Houston, New York, Seattle, Washington…
India 1,000Mumbai, Bangalore
Europe 18,600Frankrijk 10,000Paris, Toulouse, Lyon, Marseille…Benelux 4,000Brussels, Antwerpen, VianenSpanje 1,100Madrid, Barcelona, Valencia…Scandinavië 1,100Stockholm, Oslo, Copenhagen…UK & Ierland 300London, Dublin, GalwayDuitsland 230Hamburg, Munich, Frankfurt…Zwitserland 110Geneva, Basel, ZürichFinland 35Helsinki
Young Professional dag| Presentatie | Amersfoort/Diemen |02-05-2013
6
Introductie•Het belang van het goed begroten van projecten;
•Het verschil tussen expert begroting en methodische begroting;
•Traditioneel begroten (waterval);
•FPA overview en COSMIC overview; + eenvoudige oefening;
•Historische data en ervaringscijfers;
•Begroten van agile projecten in de praktijk;
•Benchmarking en performance measurement van afgeronde projecten;
7
Het belang van het goed begroten van projecten
8
Probleem: Software projecten
9
2 belangrijkste redenen Instabiele user requirements- Te weinig aandacht voor requirements analyse - Te vroeg starten met realisatie- Gebruikers weinig betrokken
Onrealistische begroting en planning- Onvolwassen begrotingstechnieken (optimistisch!!)- Druk om doorlooptijd korter te maken en kosten laag te houden- Ineffectieve projectmanagement technieken
10
Begroten van software
Zo denken veel klanten erover als ze om een begroting voor softwarerealisatie vragen.
Het is belangrijk een realistische, onderbouwde, objectieve en verdedigbare begroting aanbieden!
11
Waarom is een goede begroting belangrijk?De begroting is basis voor:
• de business case;• de planning;• de aanbieding (RVO; winst/verlies);• voortgangsrapportages;• het financieel resultaat van het project;• het vastleggen/vrijgeven van resources;• ‘alignment’ met de business/klant;• et cetera!
12
Begroten in de ITIT industrie: relatief jonge industrieLage volwassenheid op het gebied van begroten. Druk vanuit klant/business op kosten, leidt tot onrealistische verwachtingen.
Business: levert set requirements, vaak onvoldoende gedetailleerdBusiness: het is te duur bevordert optimismeBusiness: het moet sneller bevordert optimismeIT: weet niet precies ‘hoe groot het is’IT: kent eigen performance niet matige onderbouwing, weinig zicht op realiteitswaarde, gaat relatief eenvoudig mee met druk vanuit de klant.
Gevolg: veel mislukte projecten, overschrijdingen, gestopte projecten imago probleem IT, lage klanttevredenheid!
13
Wat is een goede begroting?Een goede begroting is een plan dat de stakeholders voldoende betrouwbaar vinden om te gebruiken als het nemen van beslissingen.
Een begroting geeft inzicht in de potentiële risico’s.
Een begroting is altijd een distributie, nooit een getal.Bijvoorbeeld: min. 500 uur, waarschijnlijk 800 uur, max. 1.300 uur.
Een begroting is nooit exact.
Een begroting komt bij voorkeur tot stand, gebruik makend van verschillende methoden. Eén van die methoden is bij voorkeur gebaseerd op historische data.
14
Overschatten/onderschatten
Onderschatten Overschatten
Lineaire extra kostenExtra uren worden besteed
Te lage schattingen
Extra
Kos
ten
0%
>100%
Te hoge schattingenRealistische schattingen
Non- Lineaire extra kostenPlanningsfoutenVergroten team veel duurder maar nauwelijks snellerExtra management attentie/overheadStress: Meer defects, lagere onderhoudbaarheid
15
Traditioneel begroten
16
Traditioneel begrotenStart: klant stelt functionele documentatie op. De scope van het project wordt bepaald door de beschreven functionaliteit binnen de aangegeven technische kaders.
Sogeti: begroot hoeveel uren het gaat kosten om het project uit te voeren:
• TO, coding, u-test, s-test, ond. a-test, oplevering, PL, QA• Wat is de doorlooptijd?• Wat is de teamsize en hoeveel FTE van welke expertise nodig?
Risico: te optimistische begroting leidt tot overrunsRisico: te pessimistische begroting leidt tot het niet winnen van het project
17
Cone of uncertainty
0
-50
50
100
150
200 Feasibilitystudy
Requirementsspecification
Software development
Proj
ect c
losu
re
Varia
bilit
y (%
)
Slecht begroot of slecht beheerst project
De kegel wordt niet vanzelf nauwer. Men neemt beslissingen om hem nauwer te maken. Het later wijzigen van deze beslissingen leidt ertoe dat de kegel weer wijder wordt.
18
Het verschil tussen Expert- en methodische begroting
19
2 typen begrotingen1. Expertbegroting (technische calculatie)
Bottom-up , uren toekennen aan work items, kennis en ervaring
Voordelen: • Altijd uit te voeren (als er een expert beschikbaar is);• Experts lezen documentatie door en zien ‘de beren’.
Nadelen:• Niet alle activiteiten worden meegenomen
(testscripts??);• Vaak ontbreekt een onderbouwing van de cijfers
(‘gevoel’);• Een expert gaat niet het werk doen (wie wel?);• Is de expert eigenlijk wel een expert? (projecten zijn
uniek);• Geen impact van doorlooptijd, team size, et cetera?;• Geen check op realiteitswaarde (historie).
Resultaat: Meestal optimistisch (gemiddeld 30% onderschatting)
20
2 typen begrotingen2. Methodische begroting (cost engineer)
Top-down o.b.v. objectieve omvangbepaling, relevanteproductiviteitscijfers en geavanceerde begrotingstools
Voordelen:• Objectief, herhaalbaar, verifieerbaar, verdedigbaar!• Inzicht in risico’s• Scenario analyse: doorlooptijd, team size, %
confidence
Nadelen:• Vereist bepaalde volwassenheid van de organisatie:
• meten en analyseren afgeronde projecten• investeren in expertise en tooling
• Stelt minimale eisen aan de documentatie
21
Sogeti begrotingen CoE expertbegrotingFunctioneel ontwerper: F.O. urenTechnisch architect: coding +UT urenTester: testurenProjectleider: PL uren
Cost engineering begroting (SEC)Omvangmeting (FP / CFP)Methodische begroting - Uren, doorlooptijd, FTE, kosten - Scenario’s - Risico’s
Challenge
Aanbieding
ABF
Plan vanaanpak
22
Volwassen begrotingenWaarom worden softwarerealisatie projecten vaak niet op een volwassen manier begroot?
• In de meeste organisaties: alleen expertbegrotingen;• Miljoenenprojecten worden begroot op basis van de meningen van individuele ‘experts’;
• Onderzoek: experts zijn gemiddeld 30% te optimistisch.
Gevolg: het merendeel van de projecten start op basis van onrealistische begrotingen en verwachtingen overschrijdingen in budget, doorlooptijd en … soms zelfs slechte kwaliteit.
En dat terwijl er voldoende cost engineering methoden, technieken en tools voorhanden zijn om projecten onderbouwd en verdedigbaar te begroten!
23
Methodische Begrotingen1. Meet de functionele omvang van de ‘functional user
requirements’.• ISO methodes NESMA, IFPUG of COSMIC FPA• Resultaat: omvang van de te realiseren functional
user requirements is x functiepunten• Objectief / verifieerbaar / herhaalbaar / verdedigbaar
2. Bepaal de te verwachten Productiviteit (Uren/FP) voor het project• Historische data (afgeronde projecten)• Benchmark data (ISBSG)
3. Verwerk de omvang en de productiviteit met een Begrotingstool• Scenario’s – doorlooptijd, teamgrootte, risico’s
24
Meten van Functionele omvang
Functional UR Technical UR Quality UR
User Requirements
FPA en COSMIC meten alleen de Functional User Requirements
Voordelen:
- Kan vroegtijdig worden toegepast (Requirements analyse)
- Omvang is onafhankelijk van techniek en implementatie
25
Functiepunt Analyse (FPA)
26
Wat is FPAUniforme methode om de aan de gebruikergeboden en door de gebruiker gevraagdehoeveelheid functionaliteit van eeninformatiesysteem uit te drukken in eeneenheid (functiepunt)
Kenmerken:• Objectief (ISO standaard)• Begrijpelijk voor niet automatiseerders• Reproduceerbaar, verifieerbaar, herhaalbaar, verdedigbaar• Onafhankelijk van de technische oplossing
27
FPA en begrotenAnalogie: verven van een muur
• Meten oppervlakte: 20 m2 (= omvang)• Gebruik penseel (1 m2 p.u) • Gebruik kwast (2 m2 p.u)• Gebruik roller (5 m2 p.u) aantal uren afhankelijk van omvang en productiviteit
Realiseren van een informatiesysteem• Omvang op basis van functiepunten• Productiviteit uit ervaringscijfers/benchmarks
• Java: 8 uur/FP• Cobol: 22 uur/FP
aantal uren afhankelijk van omvang en productiviteit
28
Functiepunt Analyse
ILGV
KGV
Gebruikers Transacties Gegevensverzamelingen
IF
OF
UF
29
VoorbeeldGevraagde functionaliteit
> Een overzicht met de geboortedata van de medewerkers, gesorteerd op afdeling, maand, dag
Benodigde gegevens:> medewerker : naam, geboortedatum> afdeling : afdelingsnaam
Soort functie:> Uitvoerfunctie
2 gerefereerde LGV :3 gerefereerde DET :
> ComplexiteitEenvoudig 4fp
0 - 1
2 -3
> 3
> 19
M(7)
G(5)
M(7)
6 - 19
E(4)
G(5)
M(7)
1 - 5
E(4)
E(4)
G(5)
30
In de praktijkIndicatieve FPA
Op basis van een conceptueel datamodel:35 FP per systeemeigen object15 FP per systeemvreemd object
Op basis van genormaliseerd datamodel:25 FP per interne logische gegevensverzameling10 FP per koppelingsgegevensverzameling
Globale FPAGegevensverzamelingen: eenvoudig
ILGV = 7 FP, KGV = 5 FPTransacties: gemiddeld
IF = 4 FP, UF = 5 FP, OF = 4 FP
> 50%
10 - 15 %tijd
bandbreedte
15 - 25 %FunctioneelDetailOntwerp
Definitiestudie
Basisontwerp
Detailontwerp
Realisatie
> 50%
10 - 15 %tijd
bandbreedte
15 - 25 %FunctioneelDetailOntwerp
Definitiestudie
Basisontwerp
Detailontwerp
Realisatie
31
VraagJe moet een hondenregistratie programma maken voor de uitlaatservice van je buurvrouw. De requirements:
- Je kunt honden toevoegen, wijzigen, verwijderen en raadplegen- Je kunt klanten toevoegen, wijzigen, verwijderen en raadplegen- Je kunt uitlaatafspraken toevoegen en wijzigen
Maak een globale FPA - LGV’s eenvoudig (ILGV: 7 FP, KGV: 5 FP)- Functies: gemiddeld (IF en OF: 4 FP, UF: 5 FP)
32
Antwoord: LGV’sJe moet een hondenregistratie programma maken voor de uitlaatservice van je buurvrouw. De requirements:
- Je kunt honden toevoegen, wijzigen, verwijderen en raadplegen- Je kunt klanten toevoegen, wijzigen, verwijderen en raadplegen- Je kunt uitlaatafspraken toevoegen en wijzigen
Maak een globale FPA - LGV’s eenvoudig (ILGV: 7 FP, KGV: 5 FP)- functies: gemiddeld (IF en OF: 4 FP, UF: 5 FP)
3 ILGV’s * 7FP = 21 FPGeen KGV’s
33
Antwoord: InvoerfunctiesJe moet een hondenregistratie programma maken voor de uitlaatservice van je buurvrouw. De requirements:
- Je kunt honden toevoegen, wijzigen, verwijderen en raadplegen- Je kunt klanten toevoegen, wijzigen, verwijderen en raadplegen- Je kunt uitlaat afspraken toevoegen en wijzigen
Maak een globale FPA - LGV’s eenvoudig (ILGV: 7 FP, KGV: 5 FP)- functies: gemiddeld (IF en OF: 4 FP, UF: 5 FP)
8 IF’s * 4 FP = 32 FP
34
Antwoord: OpvragingsfunctiesJe moet een hondenregistratie programma maken voor de
uitlaatservice van je buurvrouw. De requirements:
- Je kunt honden toevoegen, wijzigen, verwijderen en raadplegen- Je kunt klanten toevoegen, wijzigen, verwijderen en raadplegen- Je kunt uitlaat afspraken toevoegen en wijzigen
Maak een globale FPA - LGV’s eenvoudig (ILGV: 7 FP, KGV: 5 FP)- functies: gemiddeld (IF en OF: 4 FP, UF: 5 FP)
3 OF’s * 4 FP = 12 FP
Uitvoerfuncties??
Raadplegen ??
35
HondenregistratieType Aantal FPILGV 3 21KGV 0 0IF 8 32OF 3 12UF 0 0Totaal 65 FP
36
ProductiviteitDe functionele omvang is bekend. Om een ruwe begroting te maken vermenigvuldigen we de omvang met een ‘Project Delivery Rate (PDR)’. Dit is het waarschijnlijke aantal uur/FP dat in het project gerealiseerd kan worden.
PDR:- Bij voorkeur eigen ervaringscijfers (afgeronde projecten)- Databases met marktdata (ISBSG repositories)
37
Historische Data - ISBSGInternational Software Benchmarking Standards Group (ISBSG)- Not for profit organisatie, verzamelt projectdata uit de markt
- Nieuwbouw en Releases- Beheer
- Stelt de data ter beschikking aan de markt (anoniem) in .xls- Analyse van en rapporten over de data
- Deze data is zeer geschikt voor:- Begroten projecten waar geen eigen ervaringscijfers van zijn- Reality check van offertes- Benchmarken van afgeronde projecten- Beantwoorden RFP’s- Etc.
38
Ruwe BegrotingHondenregistratie systeem: 65 FP
Min: 8 uur/FP * 65 FP = 520 uur Likely: 11 uur/FP * 65 FP = 715 uurMax: 15 uur/FP * 65 FP = 975 uur
Stel: er is een team van 3 fte beschikbaar om dit uit te voeren. De klant wil het hebben binnen 1 maand. Lukt dit?
39
De impact van doorlooptijd (Putnam)
Omvang/productiviteit = Inspanning1/3 * doorlooptijd4/3
Insp
anni
ng
Doorlooptijd
Plan A: 6 maanden, 4.500 uur
Plan B: 7 maanden, 2.400 uur
40
Project bij verschillende doorlooptijden
Doorlooptijd
ADoorlooptijd: 6 maandenInspanning: 4.500 uurMax. teamomvang: 5,8 fteMTTD: 1,764 dagen
BDoorlooptijd: 7 maandenInspanning: 2.400 uurMax. teamomvang: 2,7 fteMTTD: 2,816 dagen
Insp
anni
ng (u
ren)
41
BegrotingstoolsBegrotingstools- QSM SLIM - Galorath SEER-SEM
- Op basis van input parameters, wordt een begroting vastgesteld- Omvang (bv. Functiepunten)- productiviteit (uit ervaringscijfers / marktdata)- karakteristieken als ervaring team, complexiteit, e.d.- Doorlooptijd- Team omvang- ‘Confidence levels’ (begroting is een distributie!)
- Output: Scenario’s (b.v. doorlooptijd)- uren en kosten per activiteit en rol- risico’s
42
HondenregistratieStaffing & Probability Analysis
Avg Staff (people)<Control Panel - Peak = 3,0>
1okt'13
nov dec
0,0
0,5
1,0
1,5
2,0
2,5
3,0
3,5Avg Staff (people)
876543
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
RISK GAUGE<Control Panel - Peak = 3,0>
<No constraints>
DurationEffort
Peak StaffQuality
% 0 10 20 30 40 50 60 70 80 90 100
SOLUTION PANEL - <Control Panel - Peak = 3,0>
DurationEffortCost
Peak StaffMTTD
Start Date
C&T1,773973,93,0
2,6701-11-2013
Life Cycle1,773973,93,0
2,6701-11-2013
MonthsMHREUR (K)peopleDay s
PI=17,4 MBI=7,7 Eff FP=65
CONTROL PANEL<Control Panel - Peak = 3,0>
PI 14,0 20,9
17,4
Peak Staff 2,4 3,6
3,0
Eff FP 52 78
65
Max. 3 fte, 65 FP, 1 maand lukt niet
43
Hondenregistratie – 3 fteStaffing & Probability Analysis
Avg Staff (people)<Control Panel - Peak = 3,0>
1okt'13
nov dec
0,0
0,5
1,0
1,5
2,0
2,5
3,0
3,5Avg Staff (people)
876543
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
RISK GAUGE<Control Panel - Peak = 3,0>
<No constraints>
DurationEffort
Peak StaffQuality
% 0 10 20 30 40 50 60 70 80 90 100
SOLUTION PANEL - <Control Panel - Peak = 3,0>
DurationEffortCost
Peak StaffMTTD
Start Date
C&T1,773973,93,0
2,6701-11-2013
Life Cycle1,773973,93,0
2,6701-11-2013
MonthsMHREUR (K)peopleDay s
PI=17,4 MBI=7,7 Eff FP=65
CONTROL PANEL<Control Panel - Peak = 3,0>
PI 14,0 20,9
17,4
Peak Staff 2,4 3,6
3,0
Eff FP 52 78
65
Max. 3 fte, 65 FP, 1 maand lukt niet
44
Hondenregistratie – 1 mnd Staffing & Probability Analysis
Avg Staff (people)<Single Goal - C&T Duration 1,0>
1okt'13
nov dec
0
10
20
30
40
Avg Staff (people)
876543
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
Milestones 0 - CSR 1 - SRR 2 - HLDR 3 - LLDR 4 - CUT 5 - IC 6 - STC 7 - UAT 8 - FCR 9 - 99R 10 - 99.9R
RISK GAUGE<Single Goal - C&T Duration 1,0>
<No constraints>
DurationEffort
Peak StaffQuality
% 0 10 20 30 40 50 60 70 80 90 100
SOLUTION PANEL - <Single Goal - C&T Duration 1,0>
DurationEffortCost
Peak StaffMTTD
Start Date
C&T1,0
6.037603,734,9
0,5051-11-2013
Life Cycle1,0
6.037603,734,9
0,5051-11-2013
MonthsMHREUR (K)peopleDay s
PI=17,4 MBI=13,0 Eff FP=65
CONTROL PANEL<Single Goal - C&T Duration 1,0>
PI 14,0 20,9
17,4
Peak Staff 27,9 41,9
34,9
Eff FP 52 78
65
Max. 35 fte, 65 FP, 1 maand lukt ‘wel’
45
Begroten van agile projecten
Is de documentatie uit agile projecten geschikt om te meten m.b.v. (traditionele) omvangbepalingsmethoden?
46
Is agile documentatie meetbaar?Vaak: User stories.
Als een <type gebruiker> wil ik <iets doen> zodat ik <er iets aan heb>.
Als een boekkoper wil ik de klantbeoordelingen van een boek lezen, zodat ik beter kan beslissen of ik het boek wil kopen.
De omvang van dit soort requirements is met traditionele omvangbepalingsmethoden als Functiepuntanalyse en COSMIC prima te meten.
Ook high level requirements als, “Er moet een faciliteit komen voor klanten om reviews te plaatsen, te wijzigen, te verwijderen en te lezen” zijn prima te meten.
47
Agile projectenVaak gehoord: “Waarom begroten? We gaan starten, werken in sprints en leveren de meeste waarde aan de klant….”
Maar: er is altijd een klant of een opdrachtgever met een zak geld en die wil weten wat hij wel en niet gaat krijgen voor dit geld.
100 features?
200 features?
300 features?
48
De ijzeren driehoek
Kwaliteit
Geld/middelen Tijd
Functionaliteit
Omdat het in agile projecten mogelijk is om de gewenste functionaliteit tussentijds te wijzigen, moet één van de zijden variabel zijn, anders gaat het ten kosten van de kwaliteit.
49
Waterval vs. agileWaterval projecten: Scope is ‘fixed’. Halen van doorlooptijd en uren gaat vaak mis. Risico bij leverancier (fixed price).Agile projecten: Doorlooptijd en uren staan vast, scope is variabel (maar wel geprioriteerd). Risico bij klant (wat krijgt hij?).
50
Begroten van agile projectenDe hamvraag: hoeveel functionaliteit moet er gemaakt worden en hoeveel functionaliteit kunnen we maken?
Als de doorlooptijd vast staat (vaak wens van klant) en de teamomvang staat vast, dan zijn twee zijden van de ijzeren driehoek ingevuld. Het aantal te besteden uren staat vast.
Hoeveel functionaliteit kunnen we met de gegeven teamomvang, in de gegeven doorlooptijd in deze omgeving opleveren?
In hoeverre match dit op de verwachtingen (impliciete of expliciete backlog) van de klant?
51
Ras Hondpunten
Poedel 5
Schnautzer 6
Duitse herder 10
Chihuahua 2
Labrador 11
Sint Bernhard 12
Bulldog 7
Story pointsRelatieve omvangsmaat, meet de omvang van user stories t.o.v. elkaar.
VB: Hondpunten (o.b.v. hoogte).Team X: Duitse herder = 10Team Y: Schnautzer = 10Team Z: Chihuahua = 1
Hondpunten/Story points is geen standaardNiet bruikbaar voor opbouwen historische dataNiet bruikbaar voor begroten projectNiet bruikbaar voor benchmarking
Wel bruikbaar voor begroten sprintWel bruikbaar voor velocity/burn down
52
Planning pokerPlanning poker meeting met alle teamledenKaarten: 0,1,2,3,5,8,13,20,40 en 100 (voorbeeld)Moment: Sprint 0 + als er nieuwe user stories bijkomen
1.Een moderator leest de beschrijving van de user story.2.Teamleden stellen vragen aan product owner.3.Ieder teamlid kiest een kaart en houdt deze privé.4.Alle teamleden draaien tegelijk de kaart om.5.Vaak: significante verschillen in gekozen kaart.6.De teamleden met de hoogste en laagste kaart leggen uit.7.De groep discussieert over de oplossingen.8.De user story wordt opnieuw begroot op dezelfde manier.9.De kaarten moeten nu bij elkaar in de buurt liggen, zo niet: nog een ronde.10.Herhalen tot er consensus is.
53
Voordelen planning poker“Planning is everything, plans are nothing.”
1.Discussie vanuit verschillende invalshoeken leidt tot meer inzicht bij iedereen.
2.Te grote features worden onderkend en opgesplitst in kleinere features.
3.Team commitment op afgegeven schatting.
54
Ideal days vs actual daysFeature X: inschatting 3 dagen werk voor ontwikkelaar.
Vraag: hoe lang duurt dit in de praktijk?
• Andere taken (b.v. support huidige release)• Meetings• Reistijd tussen kantoren• Stand-ups, koffie, wc, pauze, vragen collega’s• Telefoon, e-mail• Training, • Ziekte, vakantie?
Niemand is 8 uur per dag volledig productief. In de praktijk zal de ontwikkeling van feature X eerder 4 of 5 dagen duren!
55
Onze visie
56
Typische size metriekenEen story point is een arbitraire (maar intuïtieve) eenheid voor de omvang van een feature {1,2,4,8,16…}, {1,2,3,5,8…}.
Een functiepunt (FP) is een eenheid voor de omvang van een feature vanuit een functioneel perspectief.
Lines of code (LOC) is een eenheid voor de omvang van een feature vanuit een fysiek perspectief.
57
Productiviteit vs. velocityAgile velocity ≈ productiviteit ?
Velocity is tactisch – “Hoeveel kunnen we realiseren in een sprint?”Productiviteit is strategisch – “Hoeveel kunnen we realiseren in een project?”
Velocity – “story points per sprint” Productiviteit – “functiepunten per uur, dag of maand”
Beide metrieken zijn belangrijk, maar voor verschillende redenen/doelen.
58
Velocity/Burn down charts
59
Wat willen we?Aanbieding t.b.v. een bid of PvA voor het projectZo goed mogelijk begroten van het projectMethode: cost engineering begroting o.b.v. productiviteit
Begroten van sprint XPlanning pokerGebaseerd op velocity X-1 (X-2, X-3, etc.)
Gedurende volledige project: Project controlBewaken van de geleverde features o.b.v. de actuals en de match op de ‘minimum releasable scope’ van de klant.Gebaseerd op bestede uren en opgeleverde features (FP en SP)
Na afloop van projectPerformance measurement + benchmark + vastleggen data
60
Begroten van een agile projectInput:
• Functionele documentatie (mag high-level)• Begrotingsparameters
• doorlooptijd• team omvang• technische omgeving• onshore/offshore• activiteiten in scope/uit scope
Output:• Functionele omvangmeting van de backlog, uitgedrukt in
FP• Cost engineering begroting: aantal FP dat binnen
doorlooptijd en uren gerealiseerd kan worden• Inschatting van de risico’s• Aanbeveling t.a.v. doorlooptijd/uren/FTE
61
Sogeti en cost engineeringAfdeling Shared SEC (Sizing, Estimating & Control)Gebundelde kennis, ervaring, skills, methoden, technieken, data, literatuur en tools op het gebied van software cost engineering.
Sizing: FP, CFP, UCP, CP, IBRA, slocs, et ceteraData: Sogeti databases, ISBSG industry data Tools: QSM SLIM, Galorath SEER-SEM, Sogeti wizards
Best in class als het gaat om begroten van IT projecten en beheerAl jarenlang betrokken bij de RVO’s binnen Sogeti. Nu ondersteunend aan de hele Sogeti organisatie.
Young Professional @Sogeti
63Titel | Onderwerp | Plaats | Datum |
64
5. Enkele klanten van Sogeti
65
6. In de prijzen•Beste Werkgever
Incompany Award: Beste werkgever van 2013 (5e keer!)•Beste Werkgever
Imago onderzoek Intomart/GfK (Telegraaf Media Groep & Elsevier): Beste werkgever van 2011
•Beste Imago, MT500Bedrijven met het beste imago, van nr 123 naar 47
•Beste ICT- dienstverlenerComputable Awards: Beste ICT-dienstverlener van 2011 ( 2e keer!)
•IBM Beacon AwardsInternationaal Winnaar in de categorieën “Cloud Computing Innovation - Cloud Builder” en “Outstanding Collaboration with IBM Global Technology Services”
•Nummer 1 in Testen volgens internationaal onderzoeksbureau Ovum.
•Microsoft Partner of the Year 2011
66
7. Duurzaam ondernemen
2011: Sogeti CO2-neutraal
Duurzaam betekent voor Sogeti:Verspilling voorkomen en verantwoord omgaan met mens en milieu.
67
8. Sogeti Nederland Piet Wybe Wagter, CEO
Public
Transport & Utilities
Finance
Commerciële divisies Expertise divisies
Application New Technology
IS, Security & High Tech
Manufacturing & Services
Testing & Quality Control
Consulting Services
Application Lifecycle Management
Banking & Payments
68
10. Jouw carrière & het ontwikkeltraject
69
11. Ohio (USA)
High Performance Teaming (HPT), klantgericht werken, coaching, persoonlijke vaardigheden
3 weken, 2 weekenden
Bedankt voor jullie [email protected]
Harold van Heeringen Senior Consultant Software Metrics /Software Cost Engineer
Sogeti Sizing, Estimating & Control (SEC)
President ISBSG (International Software Benchmarking Standards Group (www.isbsg.org))Board member NESMA (Netherlands Software Metrics Association (www.nesma.nl))IAC member COSMIC (www.cosmicon.com)