Metrics voor de DevOps Organisatie

Evolueren naar een DevOps gedreven organisatie is een lange weg dat constante monitoring nodig heeft. Hieronder zijn enkele indicatoren die kunnen weergeven of er verbeteringen zijn in de delivery pipeline.

Build failures

Build failures is een belangrijke indicator. Hoe meer build failures er zijn, hoe vaker code gecommit wordt met fouten in, of code dat tests doet falen. Hoe vaker de developer aanpassingen moet maken aan zijn code om deze fouten op te lossen, hoe langer het zal duren om een feature af te werken. De trend dat een organisatie wenst te zien is minder build failures, wat kan duiden op hogere developer velocity.

Test Coverage

Zonder volwaardige test coverage kunnen fouten niet opgespoord worden. Het is belangrijk om tests te schrijven voor de applicatie, zodat fouten vroeger opgespoord kunnen worden. Software dat code analyse kan doen, zal deze test coverage indicatoren genereren.

Change Volume

Hoeveel commits en changes zijn aangebracht in een bepaalde tijd? Hoeveel tickets en stories werden afgewerkt? Deze indicator kan gebruikt worden om na te gaan of er veel verandering was in een bepaalde periode, en of dit gevolgen had op andere indicatoren, zoals bijvoorbeeld availability.

Lead time (van development tot productie)

Het is zeer belangrijk om op te volgen hoe lang het duurt om van de development van een feature te komen tot de uiteindelijke deployment van de feature in de productieomgeving. Hoe korter deze tijd, hoe sneller nieuwe features beschikbaar zijn voor de eindklant en hoe hoger de klant zijn tevredenheid over de applicatie zal zijn.

Deployment frequency

Hoe vaak worden deployments uitgevoerd? Hoe meer deployments elkaar kunnen opvolgen hoe beter, want dat wil zeggen dat nieuwe features en fixes uitgerold worden in productie. Lange deployment frequencies wijst vaak op lange, moeilijke deployments met heel veel manueel werk. Na de volledige automatisatie van de deployment procedure, zou de organisatie een verlaging van deze indicator moeten zien.

Failed deployments

Hoge deployment frequency met een hoge failed deployments indicator is dan ook weer niet goed. Elke failed deployment zal impact hebben naar de eindgebruiker en zal klantentevredenheid doen dalen. Het is belangrijk om zowel op korte termijn deployments te kunnen uitrollen, maar ook zonder problemen en zonder onderbrekingen.

Availability (beschikbaarheid)

Eindgebruikers verwachten de dag van vandaag 24/7 applicaties met amper tot geen onbeschikbaarheid. Availability wordt meestal gemeten in een percentage, bv 99.99% in de laatste maand. Eenmaal de deployments geautomatiseerd zijn en er genoeg test coverage is, dan zou er een stijging moeten waargenomen kunnen worden in de beschikbaarheid.

Mean time to recovery (MTTR)

Gaat er iets mis, hoe lang duurt het dan om een hersteloperatie uit te voeren? Deze indicator toont hoe goed dat de dev en ops teams kunnen omgaan met de veranderingen van de applicatie. De verwachting van deze indicator is dat deze verlaagd wordt over tijd.

Incident Volume

Incident volume indicators kunnen duiden op problemen met de applicatie of de onbeschikbaarheid ervan. Belangrijk is om het incident volume op te volgen en root cause analyses uit te voeren wanneer een verhoging in incident volume waargenomen werd.

_images/contact-in4it.png