Metrics 1 Thema-sessie ‘Metrics’ Utrecht, 7 november 2013 DevOps & Metrics Dave van Herpen Harold van Heeringen
May 21, 2015
Metrics
1
Thema-sessie ‘Metrics’
Utrecht, 7 november 2013
DevOps & Metrics
Dave van Herpen
Harold van Heeringen
Metrics Dave van Herpen
2
Metrics DevOps?
Metrics DevOps business drivers
Customer Satisfaction Business
driven
Optimal value & risk
Metrics Tijd, kosten & risico’s
Metrics DevOps business drivers
Customer Satisfaction Business
driven
Optimal value & risk Feedback
loops
Short TTM Fast flow
Efficient operations
Metrics Silo’s
Metrics DevOps business drivers
Customer Satisfaction Business
driven
Optimal value & risk Feedback
loops
Short TTM Fast flow
Efficient operations Multidiscipl.
teams
Metrics
• Continuous Delivery:
– Integratie binnen de deployment pipeline
• DevOps:
– Beweging tbv samenwerking Dev, Ops, QA & business
CD - DevOps
Metrics CD - DevOps
Continuous
Delivery DevOps
Basis = principes Naam = gewenste resultaat
Basis = organisatie Naam = implementatiewijze
Metrics Agile =
Scrum XP
DSDM
FDD
Crystal
Kanban
DevOps
Metrics Agile Manifesto (2001)
Mensen en hun onderlinge interactie boven processen en tools
Werkende software boven allesomvattende documentatie
Samenwerking met de klant boven contractonderhandelingen
Inspelen op verandering boven het volgen van een plan
Metrics Agile: Scrum
Operations & Support
Operations & Maintenance Development
Klant interactie Anticiperen
changes Snel leveren
Product Owner
Scrum Master
Team Members
Metrics Continuous Delivery
BUILD INTEGRATE
TEST
DEPLOY PROVISION
Metrics DevOps origine
Metrics
• Een beweging – Gene Kim, Damon Edwards, Patrick Debois, John Willis, ...
• Uitgangspunten: – Samenwerking Dev + Ops (Lite) + QA + business
– Shippable code + omgevingen
– Snelle flow planned work, kleine batch size
– P = betrouwbaar, stabiel, veerkrachtig, bedrijfszeker
DevOps = ...
Metrics Veerkracht
17
Metrics DevOps: relaties
DevOps
Agile
ITIL
Lean
ToC
Cloud
ALM
Continuous
Build
Integration
Deployment
Delivery
......
BiSL
ASL
Metrics CAMS pilaren
Culture Automation
Metrics Sharing
Metrics
“I’ll tell you EXACTLY what DevOps means:
Devops means giving a shit about your job enough to not pass the buck. Devops means giving a shit about your job enough to want to learn all the parts and not just your little world.
Developers need to understand infrastructure. Operations people need to understand code. People need to fucking work with each other and not just occupy space next to each other.”
DevOps culture
John Vincent | @lusis | http://goo.gl/X3joO2
Metrics
• Vooral focus op: – Standaardisatie
– Automatiseren
– Nieuwe technologieën
• Te weinig focus op: – Functioneel Beheer
– IT support
– Complexe systemen & processen
– Portfolio Management
DevOps focus:
Enterprise DevOps
Metrics Wat levert DevOps op?
PuppetLabs, IT Revolution Press (December 2012)
4000+ respondents
90+ countries
63% Improved quality of software deployments
63% More frequent software releases
61% Improved visibility into IT process and requirements
55% Cultural change collaboration/cooperation
55% More responsiveness to business needs
51% More agile development
45% More agile change management process
38% Improved quality of code
Metrics
DevOps & Metrics
23
Metrics Harold van Heeringen
Software Cost Engineer, Sogeti Nederland B.V.
President International Software Benchmarking Standards Group (ISBSG)
COSMIC IAC, Nederlandse afgevaardigde
Nederlandse Software Metrieken Associatie (NESMA) bestuurslid werkgroep COSMIC (voorzitter) werkgroep Benchmarking (voorzitter) werkgroep FPA and quality metrics in contract(ing) (voorzitter) @haroldveendam haroldveendam haroldvanheeringen
24
Metrics Metrics & DevOps
• DevOps doel: continu verbeteren !
• Performance:
– inzicht;
– Trends;
– stuurmechanisme.
• Benchmarken:
– Intern – tussen teams / afdelingen;
– Extern – met de markt.
• Team commitment (competitie element)
• Bewijs dat DevOps werkt – communicatie !!
25
Metrics Vele soorten metrics
• Business metrics
– Bijvoorbeeld: time-to-market
• Applicatie metrics
– Bijvoorbeeld: beschikbaarheid van de applicatie
• Team metrics
– Bijvoorbeeld productiviteit
• Er zijn duizenden metrieken denkbaar…
• Welke metrics kiezen? GQM!
26
Metrics Goal Question Metric (GQM)
• Veel organisaties meten zaken waar niets mee wordt gedaan;
• Kost tijd, geld en levert weinig op;
• Metrieken moeten altijd gerelateerd zijn aan een informatiebehoefte;
• Een informatiebehoefte moet altijd gekoppeld zijn aan een doel;
• Goal Question Metric (GQM) (Basili, 1992)
27
Metrics GQM voorbeelden
28
Metrics Typische doelen DevOps
• Verbeterde klantwaarde;
• Verbeterde kwaliteit van de software;
• Snellere time-to-market (sneller dan concurrent);
• Snellere recovery na incidenten;
• Verhoogde beschikbaarheid;
• Verlaagde kosten;
• Verbeterde besluitvorming;
• Verhoogde voorspelbaarheid.
29
Metrics Voorbeeld GQM DevOps
• Stakeholder : Business owner Applicatie X
– Goal: Verbeterde concurrentiepositie d.m.v. snellere
implementatie van features (time-to-value)
– Questions:
• Wat is de huidige implementatiesnelheid per feature?
• Wordt de implementatiesnelheid steeds korter?
• Is de implementatiesnelheid sneller dan
marktgemiddeld?
– Metrics:
• Implementatiesnelheid: FP per kalendermaand
(trend)
• Gemiddeld aantal dagen tussen indienen change en
implementatie
30
Metrics Grafieken
31
0
5
10
15
20
25
30
35
jan-13 feb-13 mrt-13 apr-13 mei-13 jun-13 jul-13 aug-13 sep-13
FP p
er
maa
nd
Opleversnelheid (FP per maand)
FP/maand FP/maand markt
0
5
10
15
20
25
30
Dag
en
Gem. dagen per feature
Gem. dagen per feature Target
Metrics DevOps: relaties
DevOps
Agile
ITIL
Lean
ToC
Cloud
ALM
Agile
Metrics Agile: Story Points
33
Relatieve omvangsmaat, meet de omvang van user stories t.o.v.
elkaar. Keuze van ‘referentie’, overige relatief.
VB: Hondpunten (o.b.v. hoogte).
Ras Hondpunten
Poedel 5
Schnautzer 6
Duitse herder 10
Chihuahua 2
Labrador 11
Sint Bernhard 12
Bulldog 7
Team X: Duitse herder = 10
Team Y: Schnautzer = 10
Team Z: Chihuahua = 1
Hondpunten/Story points is geen standaard
Niet bruikbaar voor opbouwen historische
data
Niet bruikbaar voor begroten project
Niet bruikbaar voor benchmarking/metrics
Wel bruikbaar voor begroten sprint
Wel bruikbaar voor velocity/burn down
Metrics b.v. Waarde
• Meer functionaliteit = meer waarde !!
• Uit te drukken in objectieve, herhaalbare, verifieerbare eenheid;
– Story points? Voldoet aan geen van deze kenmerken;
– Slocs? Geen maat voor waarde. Meer slocs is goed? Of slecht?;
– Usecases? Geen objectieve maat (verschillende niveaus);
– Functiepunten: Voldoet aan alle kenmerken!
• Functiepunt analyse – meet functionele omvang
– Onafhankelijk van techniek;
– Onafhankelijk van implementatiewijze;
– Onafhankelijk van ontwikkel methodologie.
34
Metrics Functiepunten en Agile
• Functiepunten worden als ‘ouderwets’ en ‘waterval’ gezien.
• Niets is minder waar!!
• Moderne variant van FPA: COSMIC FPA
• Nauwkeurig meten van user requirements
• Objectieve eenheid, herhaalbaar, verifieerbaar!
• Zeer geschikt voor meten van documentatie in agile projecten
• Zeer geschikt voor meten van real-time software, embedded software, SOA architecturen, Mobile apps, Cloud, etcetera!
• Eenvoudiger toe te passen dan NESMA/IFPUG FPA
• Proces georiënteerd, niet data georiënteerd
• COSMIC FPA is perfect geschikt voor het meten van waarde! 35
Metrics COSMIC FPA
36
Metrics User stories en COSMIC
37
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. Functioneel Proces: Lezen klantbeoordelingen Entry: klik link ‘lezen klantbeoordelingen van boek’ Read: Ophalen beoordelingen boek eXit: Toon beoordelingen boek eXit: Toon gemiddelde score (berekening) eXit: Meldingen (fout / boodschap) 5 COSMIC FP
Metrics COSMIC FPA / SP
38
Kenmerk COSMIC Functiepunten Story Points
Objectief / herhaalbaar / verifieerbaar
Ja Nee
Basis ISO standaard Meningen teamleden
Eenvoud meten Gecertificeerde analist Eenvoudig
Begroten Project / Release Ja, i.c.m historische data en eventueel begrotingstools (bv QSM of SEER-SEM)
Nee
Begroting Sprint Ja Ja
Benchmarking Intern en Extern Alleen binnen team (!?)
Historische Data Ja (ISBSG > 500 projecten) Nee
Project Bewaking / forecast
Ja Ja
Gebruik in contracten Ja Nee
Tijd / inspanning 1 a 2 dagen (afh. Van omvang) X teamleden * 1 a 2 uur
Metrics Typische DevOps metrics
• Productiviteit – bestede uren/functiepunt
• Kosten – EUR / functiepunt
• Velocity – functiepunten per sprint in productie gebracht
• Speed – functiepunten per kalendermaand
• Kwaliteit proces – defects per functiepunt
• Onderhoudbaarheid – SIG sterren
• Mean Time to Recover (minuten)
• Deployment Rate/frequency (keren per dag)
• Change Lead time (dagen)
• Change Failure rate (%)
39
Metrics
40