Metrics

Thema-sessie ‘Metrics’

Utrecht, 7 november 2013
DevOps & Metrics
Dave van Herpen
Harold van Heeringen
1
Metrics

Dave van Herpen

2
Metrics

DevOps?
Metrics

DevOps business drivers
Customer Satisfaction
Optimal value & risk

Business
driven
Metrics

Tijd, kosten & risico’s
Metrics

DevOps business drivers
Customer Satisfaction
Optimal value & risk
Short TTM
Efficient operations

Business
driven

Feedback
loops

Fast flow
Metrics

Silo’s
Metrics

DevOps business drivers
Customer Satisfaction
Optimal value & risk
Short TTM
Efficient operations

Business
driven

Feedback
loops

Fast flow

Multidiscipl.
teams
Metrics

CD - DevOps

• Continuous Delivery:
– Integratie binnen de deployment pipeline

• DevOps:
– Beweging tbv samenwerking Dev, Ops, QA &
business
Metrics

CD - DevOps

Basis = principes
Naam = gewenste resultaat

Continuous

Basis = organisatie
Naam = implementatiewijze

DevOps
Delivery
Metrics

Agile =

XP

Crystal

Scrum
DevOps

Kanban

FDD

DSDM
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
Scrum
Master

Team
Members

Product
Owner

Operations & Maintenance
Development
Operations & Support

Klant interactie

Anticiperen
changes

Snel leveren
Metrics

Continuous Delivery

BUILD

INTEGRATE

TEST

DEPLOY

PROVISION
Metrics

DevOps origine
Metrics

DevOps = ...

• 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
Metrics

Veerkracht

17
Metrics

DevOps: relaties
BiSL
Lean

Agile

ASL
ALM

ToC

DevOps

Cloud

ITIL

Continuous
 Build
 Integration
 Deployment
 Delivery
 ......
Metrics

CAMS pilaren

Culture

Automation

Metrics

Sharing
Metrics

DevOps culture

“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.”
John Vincent | @lusis | http://goo.gl/X3joO2
Metrics

DevOps focus:

• Vooral focus op:
– Standaardisatie
– Automatiseren
– Nieuwe technologieën

• Te weinig focus op:
–
–
–
–

Functioneel Beheer
IT support
Complexe systemen & processen
Portfolio Management

Enterprise
DevOps
Metrics

Wat levert DevOps op?

Improved quality of
software deployments
More frequent
software releases
Improved visibility into
IT process and requirements
Cultural change
collaboration/cooperation
More responsiveness
to business needs
More agile
development
More agile
change management process
Improved
quality of code

63%
63%
61%
55%
55%
51%
45%
38%

PuppetLabs, IT Revolution Press (December 2012)
4000+ respondents
90+ countries
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
Goal Question Metric (GQM)

Metrics

• 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

Opleversnelheid (FP per maand)
35
25
20
15
10
5
0
jan-13 feb-13 mrt-13 apr-13 mei-13 jun-13 jul-13 aug-13 sep-13
FP/maand

Gem. dagen per feature

FP/maand markt
30
25
Dagen

FP per maand

30

20
15
10
5
0

Gem. dagen per feature

Target

31
Metrics

DevOps: relaties
Lean

Agile
Agile

ALM

ToC

DevOps

Cloud

ITIL
Agile: Story Points

Metrics

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

Team X: Duitse herder = 10
Team Y: Schnautzer = 10
Team Z: Chihuahua = 1

6

Duitse herder
Chihuahua

10
2

Labrador

11

Sint Bernhard

12

Bulldog

7

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
33
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

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
37
COSMIC FPA / SP

Metrics
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
Nee
eventueel begrotingstools (bv
QSM of SEER-SEM)

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
38
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

Asl bi sl metrics themasessie 2013 devops sogeti

  • 1.
    Metrics Thema-sessie ‘Metrics’ Utrecht, 7november 2013 DevOps & Metrics Dave van Herpen Harold van Heeringen 1
  • 2.
  • 3.
  • 4.
    Metrics DevOps business drivers CustomerSatisfaction Optimal value & risk Business driven
  • 5.
  • 6.
    Metrics DevOps business drivers CustomerSatisfaction Optimal value & risk Short TTM Efficient operations Business driven Feedback loops Fast flow
  • 7.
  • 8.
    Metrics DevOps business drivers CustomerSatisfaction Optimal value & risk Short TTM Efficient operations Business driven Feedback loops Fast flow Multidiscipl. teams
  • 9.
    Metrics CD - DevOps •Continuous Delivery: – Integratie binnen de deployment pipeline • DevOps: – Beweging tbv samenwerking Dev, Ops, QA & business
  • 10.
    Metrics CD - DevOps Basis= principes Naam = gewenste resultaat Continuous Basis = organisatie Naam = implementatiewijze DevOps Delivery
  • 11.
  • 12.
    Metrics Agile Manifesto (2001) Mensenen 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
  • 13.
    Metrics Agile: Scrum Scrum Master Team Members Product Owner Operations &Maintenance Development Operations & Support Klant interactie Anticiperen changes Snel leveren
  • 14.
  • 15.
  • 16.
    Metrics DevOps = ... •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
  • 17.
  • 18.
  • 19.
  • 20.
    Metrics DevOps culture “I’ll tellyou 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.” John Vincent | @lusis | http://goo.gl/X3joO2
  • 21.
    Metrics DevOps focus: • Vooralfocus op: – Standaardisatie – Automatiseren – Nieuwe technologieën • Te weinig focus op: – – – – Functioneel Beheer IT support Complexe systemen & processen Portfolio Management Enterprise DevOps
  • 22.
    Metrics Wat levert DevOpsop? Improved quality of software deployments More frequent software releases Improved visibility into IT process and requirements Cultural change collaboration/cooperation More responsiveness to business needs More agile development More agile change management process Improved quality of code 63% 63% 61% 55% 55% 51% 45% 38% PuppetLabs, IT Revolution Press (December 2012) 4000+ respondents 90+ countries
  • 23.
  • 24.
    Metrics Harold van Heeringen SoftwareCost 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
  • 25.
    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
  • 26.
    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
  • 27.
    Goal Question Metric(GQM) Metrics • 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
  • 28.
  • 29.
    Metrics • • • • • • • • Typische doelen DevOps Verbeterdeklantwaarde; 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
  • 30.
    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
  • 31.
    Metrics Grafieken Opleversnelheid (FP permaand) 35 25 20 15 10 5 0 jan-13 feb-13 mrt-13 apr-13 mei-13 jun-13 jul-13 aug-13 sep-13 FP/maand Gem. dagen per feature FP/maand markt 30 25 Dagen FP per maand 30 20 15 10 5 0 Gem. dagen per feature Target 31
  • 32.
  • 33.
    Agile: Story Points Metrics Relatieveomvangsmaat, 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 Team X: Duitse herder = 10 Team Y: Schnautzer = 10 Team Z: Chihuahua = 1 6 Duitse herder Chihuahua 10 2 Labrador 11 Sint Bernhard 12 Bulldog 7 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 33
  • 34.
    Metrics b.v. Waarde • Meerfunctionaliteit = 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
  • 35.
    Metrics Functiepunten en Agile • • • • • • • Functiepuntenworden 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
  • 36.
  • 37.
    Metrics User stories enCOSMIC 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 37
  • 38.
    COSMIC FPA /SP Metrics 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 Nee eventueel begrotingstools (bv QSM of SEER-SEM) 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 38
  • 39.
    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
  • 40.