Jak Ivan zrobił metryki DevOps. Obiekt wpływu

Minął tydzień, odkąd Ivan po raz pierwszy pomyślał o metrykach DevOps i zdał sobie sprawę, że przy ich pomocy konieczne jest zarządzanie czasem dostawy produktu (Czas na rynek).

Nawet w weekendy myślał o metrykach: „A co, jeśli będę mierzyć czas? Co mi to da?

Cóż bowiem da wiedza o czasie? Powiedzmy, że dostawa trwa 5 dni. Co dalej? To dobrze czy źle? Nawet jeśli jest to złe, musisz jakoś skrócić ten czas. Ale jak?
Te myśli go prześladowały, ale żadne rozwiązanie nie przychodziło.

Iwan zrozumiał, że doszedł do sedna. Niezliczone wykresy metryk, które widział wcześniej, dawno temu przekonały go, że standardowe podejście nie zadziała i że jeśli po prostu wykreśli (nawet jeśli jest to kohorta), to będzie bezużyteczne.

Jak być?…

Metryka przypomina zwykłą drewnianą linijkę. Pomiary wykonane za jego pomocą nie wskażą przyczyny, dlaczego mierzony obiekt ma dokładnie taką długość, jaką pokazała. Linijka po prostu pokaże swój rozmiar i nic więcej. Nie jest kamieniem filozoficznym, ale po prostu drewnianą deską, za pomocą której można mierzyć.

„Szczur ze stali nierdzewnej” swojego ulubionego pisarza Harry'ego Harrisona zawsze mawiał: myśl musi dotrzeć do dna mózgu i tam pozostać, więc po kilku dniach bezskutecznych cierpień Ivan postanowił podjąć się innego zadania...

Kilka dni później, czytając artykuł o sklepach internetowych, Ivan nagle zdał sobie sprawę, że ilość pieniędzy, jaką otrzymuje sklep internetowy, zależy od tego, jak zachowują się odwiedzający witrynę. To oni, odwiedzający/klienci, przekazują sklepowi swoje pieniądze i są ich źródłem. Na wynik finansowy otrzymywany przez sklep wpływają zmiany w zachowaniu klientów, a nie nic innego.

Okazało się, że aby zmienić wartość mierzoną, konieczne było oddziaływanie na tych, którzy tę wartość tworzą, tj. aby zmienić ilość pieniędzy sklepu internetowego, trzeba było wpłynąć na zachowania klientów tego sklepu, a aby zmienić czas dostawy w DevOps, trzeba było wpłynąć na zespoły, które „tworzą” ten czas, tj. wykorzystywać DevOps w swojej pracy.

Ivan zdał sobie sprawę, że wskaźników DevOps w ogóle nie należy przedstawiać na wykresach. Muszą reprezentować siebie narzędzie wyszukiwania „wybitne” zespoły, które kształtują ostateczny czas dostawy.

Żaden wskaźnik nie wskaże nigdy powodu, dla którego dystrybucja tego czy innego zespołu zajmowała dużo czasu, pomyślał Ivan, ponieważ w rzeczywistości mógł ich być milion i mały wózek, a problemy te mogły równie dobrze nie mieć charakteru technicznego, ale organizacyjnego. Te. Jedyne, czego możesz się spodziewać po wskaźnikach, to pokazanie zespołów i ich wyników, a potem nadal musisz śledzić te zespoły nogami i dowiedzieć się, co jest z nimi nie tak.

Z drugiej strony w firmie Ivana obowiązywał standard, który wymagał od wszystkich zespołów testowania zespołów na kilku stanowiskach. Zespół nie mógł przejść do kolejnej trybuny, dopóki poprzednia nie została ukończona. Okazało się, że jeśli wyobrażamy sobie proces DevOps jako sekwencję przechodzenia przez stoiska, to metryki mogłyby pokazać czas spędzony przez zespoły na tych stanowiskach. Znając stanowisko i czas zespołu, można było z nim dokładniej porozmawiać o powodach.

Ivan bez wahania sięgnął po telefon i wybrał numer osoby dobrze orientującej się w DevOps:

— Denis, proszę, powiedz mi, czy można w jakiś sposób zrozumieć, że zespół przeszedł to czy tamto stoisko?
- Z pewnością. Nasz Jenkins odrzuca flagę, jeśli kompilacja pomyślnie została wdrożona (przeszła test) na stanowisku testowym.
- Super. Co to jest flaga?
- Jest to zwykły plik tekstowy, taki jak „stand_OK” lub „stand_FAIL”, który mówi, że zespół przeszedł lub nie przeszedł testu. Cóż, rozumiesz, prawda?
- Chyba tak. Czy jest zapisywany w tym samym folderze w repozytorium, w którym znajduje się zespół?
- Tak
— Co się stanie, jeśli zespół nie przejdzie kontroli na stanowisku badawczym? Czy będę musiał zrobić nowy build?
- Tak
- No dobrze, dziękuję. I jeszcze pytanie: czy dobrze rozumiem, że jako datę stoiska mogę przyjąć datę powstania flagi?
- Absolutnie!
- Super!

Zainspirowany Ivan odłożył słuchawkę i zdał sobie sprawę, że wszystko ułożyło się na swoim miejscu. Znając datę utworzenia pliku kompilacji i datę utworzenia flag, można było z dokładnością do sekundy obliczyć, ile czasu zespoły spędzają na każdym stoisku i dowiedzieć się, gdzie spędzają najwięcej czasu.

„Rozumiejąc, gdzie spędza się najwięcej czasu, wskażemy zespoły, udamy się do nich i przyjrzymy się problemowi”. Iwan uśmiechnął się.

Na jutro postawił sobie zadanie naszkicowania architektury rysowanego układu.

To be continued ...

Źródło: www.habr.com

Dodaj komentarz