search
Cloud Blog – Wskaźniki DORA pomagają uzyskać wgląd w produktywność programistów
Gitlab

Wskaźniki DORA pomagają uzyskać wgląd w produktywność programistów

Ponieważ DevOps jest mieszanką różnych najlepszych praktyk branżowych, zestawów narzędzi i, co najważniejsze, kultur, pojawia się pytanie: Jak mierzyć ich wpływ? Na szczęście istnieje kilka zestawów wskaźników CI/CD, które pomagają organizacjom IT i zajmującym się tworzeniem oprogramowania uzyskać widoczność i przydatne dane.

Jeden z takich zestawów nosi nazwę „DORA-metrics” (z ang Badania i ocena DevOps, Badania i Ocena DevOps). Bazując na naszym bogatym doświadczeniu doradztwa GitLab, przedstawimy podstawowe zasady DORA, zbadamy wymagane parametry wejściowe i doradzimy w zakresie optymalizacji tras dostaw.

Czym są wskaźniki DORA?

Wskaźniki DORA zostały opracowane przez dedykowany zespół Google Cloud w 2020 roku, po sześciu latach dokładnych badań. Początkowe dane obejmowały:

  • Częstotliwość wdrożeń i czas wdrażania zmian (oba wskaźniki charakteryzują szybkość pracy zespołu).
  • Częstotliwość błędów zmian i czas przywracania usługi (oba wskaźniki charakteryzują stabilność).

Rok później zespół dodał piąty wskaźnik – niezawodność – w odpowiedzi na ciągłe zmiany w DevOps.

W 2022 roku świat wszedł w tryb pandemii, co według Międzynarodowego Funduszu Walutowego średnio 6 punktów procentowych przyspieszyło cyfrową transformację w rozwiniętych gospodarkach. Z biegiem czasu metryki zaczęły pokazywać pierwsze rezultaty. W 2023 roku firma konsultingowa z „wielkiej trójki” McKinsey oferuje podejście do oceny wydajności programistycznej oparte na DORA i innych metrykach DevOps (SPACE). W przypadku 20 firm z branży technologicznej, finansowej i farmaceutycznej wynik był więcej niż zauważalny:

  • Zmniejszenie liczby problemów zgłaszanych przez klientów poprzez 20-30%.
  • Zwiększanie poziomu satysfakcji pracowników na 20%.
  • Zwiększanie zadowolenia klientów na 60 punktów procentowych.

Dzisiaj patrzymy na metryki DORA przez pryzmat GitLab, kompleksowej platformy dla wszystkich zagadnień związanych z DevSecOps. Od marca 2024 r. platforma ta była uznana za jeden z najlepszych w swojej kategorii według wiarygodnej witryny z recenzjami oprogramowania G2.

Częstotliwość wdrożeń

Metryka częstotliwości wdrażania pokazuje, jak często Twoje zespoły udostępniają kod do produkcji. Można go mierzyć w godzinach, dniach, tygodniach, miesiącach lub latach, w zależności od tego, jak duży obraz chcesz zobaczyć. Ten wskaźnik monitorowania wydajności ma kluczowe znaczenie, ponieważ pozwala ocenić, jak dobrze spełniasz nowe wymagania klientów i wykorzystujesz nowe możliwości rynkowe. Im wyższa częstotliwość, tym szybszy cykl sprzężenia zwrotnego i iteracji.

GitLab śledzi zakończone wdrożenia, czyli te, które zakończyły się pomyślnie (bez błędów). Koncentruje się na średniej liczbie wdrożeń wykonywanych w środowiskach produkcyjnych, które są identyfikowane poprzez przypisany „poziom produkcyjny” lub nazwy, takie jak „produkcja” lub „prod”. Tylko wdrożenia, które docierają do tych środowisk, mają wpływ na metrykę częstotliwości.

Interesujące pytanie dotyczy tego, jak wewnętrznie definiujesz sukces. Czy dotyczy to wdrożeń obejmujących tylko 10% ruchu, czy też tych, które skupiają się na całym ruchu?

Zmień termin wdrożenia

Ta metryka pokazuje, ile czasu zajmuje wprowadzenie zmiany w kodzie (lub zatwierdzeniu) do produkcji. Służy także do ciągłego sprawdzania funkcjonalności Twojego CI/CD-rurociągi; jeśli z czasem maleje, oznacza to, że Twój zespół stał się bardziej produktywny i szybciej wprowadza niezbędne modyfikacje.

GitLab śledzi sekundy pomiędzy dwoma kluczowymi momentami: kiedy ktoś zatwierdza żądanie scalania z gałęzią główną I gdy Twój kod działa bezbłędnie w środowisku produkcyjnym, co oznacza pomyślne wdrożenie. Jedną z kluczowych rzeczy, o których należy pamiętać, jest to, że czas potrzebny na zatwierdzenie zmian nie uwzględnia czasu potrzebnego na napisanie samego kodu.

Domyślnie monitorowanie GitLab jest dostępne dla czasu wykonywania zmian we wdrożeniach, które obejmują pojedynczą gałąź z wieloma etapami (na przykład przejście od programowania do przemieszczania, a następnie do produkcji). Jeśli masz bardziej złożony przepływ pracy z oddzielnymi żądaniami scalania dla każdego etapu, GitLab potraktuje je jako osobne wdrożenia, co może sztucznie zawyżać tę metrykę.

Częstotliwość błędów zmian

Ten wskaźnik pozwala zrozumieć, jak często dokonujesz zmian, które prowadzą do błędów w produkcji, umożliwiając sprawdzenie jakości kodu. Im wyższa częstotliwość, tym większe prawdopodobieństwo, że będziesz musiał dokonać przeglądu procesów wdrożeniowych lub rozszerzyć zakres testów automatycznych.

Aby uzyskać współczynnik błędów zmian, GitLab dzieli liczbę incydentów, które mają miejsce po każdym wdrożeniu, przez ich całkowitą liczbę w toku. Załóżmy, że wdrażałeś nowy kod 20 razy w miesiącu i co tydzień zdarzały się incydenty. W tym scenariuszu wskaźnik błędów zmian wyniesie 20% (4 incydenty / 20 wdrożeń).

Czas przywracania usługi

Jak się okazuje jak sama nazwa wskazuje, metryka ta pozwala ocenić, jak szybko można wyeliminować błędy na produkcji. W przypadku opóźnienia pomocne będzie przejrzenie planów reagowania na incydenty.

GitLab śledzi czas trwania incydentów wpływających na środowiska produkcyjne (w sekundach). Mówiąc najprościej, każdy incydent może być spowodowany tylko jednym wdrożeniem na urządzeniu i odwrotnie, żadne wdrożenie na urządzeniu nie może powodować więcej niż jednego zdarzenia.

Nadal nie używasz GitLaba? Wypróbuj licencję samodzielnie zarządzaną przez 30 dni. Nie jest wymagana żadna płatność. Uzyskaj ofertę →

Jak poprawić wskaźniki DORA: pełna lista kontrolna na rok 2024

W tej chwili wszyscy skupiają się na optymalizacji. Przestrzegaj zaleceń GitLab, w tej sekcji przedstawiamy listę działań, które możesz podjąć, aby w pełni wykorzystać swój rurociąg dostaw, korzystając z metryk DORA.

Przyśpieszenie dostaw

  • Porównaj częstotliwość wdrożeń w zespołach i projektach oraz zidentyfikuj możliwości poprawy niezawodności.
  • Podziel duże funkcje na mniejsze, łatwiejsze w zarządzaniu bloki, aby skrócić czas realizacji.
  • Wprowadź w życie automatyczne testowanie i weryfikacja kodu w celu poprawy jakości wdrożeń i wykrywania problemów, zanim one wystąpią wyrastać w stratach finansowych.
  • Przeanalizuj skuteczność CI/CD-rurociągi pomiędzy zespołami i projektami (dowiedz się więcej o tym dlaczego CI/CD jest ważne). Skoncentruj się na wąskich gardłach i zoptymalizuj je, aby przyspieszyć wdrożenia.
  • Użyj analizy strumienia wartości GitLab, aby wyeliminować nieefektywności i usprawnić ogólny przepływ pracy.

Zwiększona stabilność i regeneracja

  • Porównaj czas reakcji zespołu na zakłócenia i zidentyfikuj obszary wymagające poprawy komunikacji i współpracy.
  • Zwiększ wgląd w środowiska produkcyjne, aby przyspieszyć wykrywanie i rozwiązywanie problemów (redukcja MTTR – Mean Time To Recover, czyli średni czas regeneracji).
  • Ustanów dobrze zdefiniowane przepływy pracy umożliwiające reagowanie na awarie, aby skrócić czas rozwiązywania problemów.

Równowaga szybkości i jakości

  • Porównaj jakość i stabilność kodu w zespołach i projektach. Staraj się zachować zdrową równowagę pomiędzy częstotliwością wdrażania a czasem realizacji bez utraty jakości.
  • Oceniaj i poprawiaj efektywność procesu przeglądu kodu, nie wpływając negatywnie na szybkość wdrożeń.

O nas

Cloudfresh jest partnerem GitLaba (Wybrane i profesjonalne usługi). Pomożemy Ci w takich obszarach jak wdrożenia, migracja, szkolenia, integracja, doradztwo i wsparcie.

Jeśli chcesz bezpłatnie skorzystać z analizy strumienia wartości, wypełnij krótki formularz poniżej. Dzięki VSA od Cloudfresh zyskasz:

  • 360-stopniowy przegląd aktualnego stanu rzeczy.
  • Dokładne zrozumienie celów biznesowych i sposobów ich osiągnięcia.
  • Identyfikację wszystkich ograniczeń, które Cię powstrzymują.
  • Pełna mapę strumienia wartości.
  • Gotową do użycia analizą kosztów i korzyści (w stosownych przypadkach).

Dodatkowo możemy pomóc Ci w ustaleniu niezbędnych testów porównawczych, aby prawidłowo śledzić i wyciągać przydatne dane z metryk DORA i szerszej analityki GitLab.

Skontaktuj się z Сloudfresh