Dążenie do doskonałości w DevOps: jak wykorzystać wskaźniki DORA do osiągania lepszych wyników
6 min czytania

O naszym produkcie i modelu dostaw

Opis produktu/projektu

freya fusion zaawansowana platforma technologiczna do obsługi regulacyjnej, która wykorzystuje sztuczną inteligencję i cloud-based w celu usprawnienia procesów zapewniania zgodności z przepisami. Jej kluczowe funkcje obejmująchmurę regulacyjną opartą na sztucznej inteligencji, zapewniającą inteligentny nadzór,możliwość łączeniadanych, treści, aplikacji i interfejsów użytkownika w celu uzyskania elastyczności, a takżezharmonizowane procesy regulacyjnew ramach planowania międzyfunkcjonalnego. Platforma oferuje równieżzintegrowane rozwiązania automatyzacyjne,Knowledge Graphzapewniający uporządkowane analizy orazinterfejs konwersacyjnypoprawiający interakcję z użytkownikiem. Zaprojektowana z myślą o wydajności, Freya Fusion najnowocześniejsze technologie z wiedzą specjalistyczną w zakresie regulacji, aby uprościć złożone procesy zapewniania zgodności.

Obecny ekosystem procesów i dostaw

Metodologia agile i narzędzia

W firmie freya fusion wykorzystujemy metodologię Agile w połączeniu z praktykami DevSecOps, aby zapewnićbezpieczeństwo, zgodność z przepisami i wydajnośćna każdym etapie – od kodu po wdrożenie. W naszym systemie Agilefunkcje stanowią podstawowe elementy prac związanych z wydaniem. Kilka funkcji jest grupowanych i weryfikowanych łącznie, tworzącwersję kandydacką (RC), co gwarantuje stopniowe i kontrolowane dostarczanie wartości.

Azure DevOps (ADO) i integracje wtyczek

Przegląd procesu CI/CD

Procesy ciągłej integracji i ciągłego wdrażania (CI/CD) automatyzują proces dostarczania oprogramowania od etapu rozwoju do środowiska produkcyjnego, zapewniającszybsze wydania,stałą jakość orazograniczenie błędów wynikających z ręcznej pracy.

Ciągła integracja (CI) – faza kompilacji i testowania stosowana przez zespół sprintowy

  • Wprowadzenie zmian do kodu: Programiści przesyłają zmiany do wspólnego repozytorium (np. Azure Repos, GitHub).
  • Automatyczna kompilacja: Potok kompiluje kod, rozpoznaje zależności i pakuje artefakty.
  • Testy automatyczne: testy jednostkowe, testy integracyjne oraz skanowanie bezpieczeństwa (SAST/DAST) przeprowadzane w celu wczesnego wykrywania problemów.
  • Przechowywanie artefaktów: Zweryfikowane kompilacje są przechowywane w repozytoriach

Wdrażanie ciągłe (CD) – faza wydania stosowana przez zespół ds. wdrażania

  • Środowiska testowe: Kod przechodzi przez kolejne etapy:DevSecOps → SQA → PreProd → Produkcja, z punktami kontroli.
  • Automatyczne wdrażanie: Wdrażanie odbywa się za pośrednictwem potoków wydawania, przy minimalnym czasie przestoju
  • Kontrole po wdrożeniu: zautomatyzowane testy sprawdzające, monitorowanie wydajności oraz mechanizmy przywracania stanu poprzedniego, regulowane przez SOP.

Rodzaje wydań: główne, pomniejsze, poprawki, aktualizacje awaryjne

Wersje są klasyfikowane jako główne, pomniejsze, poprawki lub aktualizacje awaryjne w zależności od celu oraz funkcji wprowadzanych w danej wersji.

  • Wersja główna – oznacza pierwszą wersję lub wersję, w której wprowadzone zmiany mają wpływ na działanie systemu i nie zapewniają kompatybilności wstecznej
  • Wersja pomniejsza – oznacza wprowadzenie nowych funkcji z zachowaniem zgodności wstecznej oraz ulepszeń istniejących funkcji
  • Aktualizacja – oznacza wydanie pakietu poprawek błędów, aktualizacji zabezpieczeń i drobnych ulepszeń, zachowującego kompatybilność wsteczną
  • Poprawka – oznacza pilne wydanie mające na celu usunięcie krytycznych błędów zgłoszonych w środowisku produkcyjnym w wdrożonej wersji.

Najważniejsze wskaźniki

Wyjaśnienie czterech wskaźników DORA:

Zgodnie ze standardami branżowymi istnieją cztery kluczowe wskaźniki, które należy monitorować i optymalizować, aby organizacja odniosła sukces.

  1. Czas realizacji (jak szybko wprowadzamy oprogramowanie do środowiska produkcyjnego)
  2. Częstotliwość wdrażania(jak często publikujesz aktualizacje).
  3. Zmiana wskaźnika niepowodzeń(jak często wdrożenia kończą się niepowodzeniem).
  4. Średni czas naprawy (MTTR)(jak szybko usuwasz awarie).

Czas realizacji jestjednym z czterech kluczowych wskaźników w ramach badania DevOps Research and Assessment (DORA). Mierzy on czas, jaki upływa od zatwierdzenia zmian w kodzie do ich wdrożeniaw środowisku produkcyjnym, odzwierciedlając efektywność procesu dostarczania oprogramowania. Wskaźnik ten określa średni czas, jaki upływa od momentu zatwierdzenia zmiany w kodzie do jej pomyślnego wdrożenia w środowisku produkcyjnym.

Czas realizacji oznacza:

  • szybkość dostawiwydajność procesów.
  • Krótsze czasy realizacji idą w parze zszybszymi cyklami informacji zwrotnejiwiększą elastycznością.

Wskaźnik częstotliwości wdrażania pokazuje, jak często zmiany w kodzie są pomyślnie wdrażane do środowiska produkcyjnego. Odzwierciedla ontempo ispójnośćprocesu dostarczania oprogramowania

Częstotliwość wdrażania oznacza:

  • Zwinność zespołuidojrzałość procesów.
  • Częste wdrożenia zmniejszają ryzyko, umożliwiając wprowadzaniemniejszych, stopniowych zmian(w przeciwieństwie do dużych, rzadkich aktualizacji).
  • Wiąże się to zszybszym procesem przekazywania informacji zwrotnychiwyższym poziomem zadowolenia klientów.

Wskaźnik średniego czasu przywrócenia sprawności (MTTR)mierzyśredni czas potrzebny do przywrócenia działania usługi po wystąpieniu awarii(np. przerwy w działaniu, spadku wydajności lub błędu). Odzwierciedla onodporność Twojego zespołuoraz skuteczność reagowania na incydenty.

Wskaźnik MTTR oznacza:

  • Ogranicza przestojei minimalizujeutrudnienia dla użytkowników.
  • Wysoki wskaźnik MTTR wskazuje napowolne usuwanie błędów, słabe monitorowanie lub nieefektywne procesy przywracania poprzedniego stanu.
  • Wpływa nazaufanie klientów, koszty operacyjne i poziom stresu w zespole.

Wskaźnik awaryjności zmian (CFR)mierzyodsetek wdrożeń, które powodują awarie w środowisku produkcyjnym i wymagają podjęcia działań naprawczych (np. przywrócenia poprzedniej wersji, zastosowania poprawek lub aktualizacji). Odzwierciedla onstabilność i niezawodnośćprocesu wdrażania zmian.

CFR wskazuje:

  • Wskazuje,jak często wdrożenia powodują wystąpienie usterek(błędów, awarii, problemów z wydajnością).
  • Wysoki wskaźnik śmiertelności wskazuje naniedostateczną liczbę przeprowadzanych testów, niewystarczający nadzór lub ryzykowne praktyki związane z wprowadzaniem produktów na rynek.
  • Wpływa nawypalenie zespołu, zaufanie klientów oraz koszty operacyjne.
System metrycznyDefinicjaWzór
Czas realizacjiŚredni czas realizacji funkcjiSuma czasu realizacji / liczba funkcji
Częstotliwość wdrażaniaJak często kod jest wdrażany do środowiska produkcyjnego.Łączna liczba wdrożeń / liczba miesięcy
Wskaźnik awaryjności (CFR)Odsetek wdrożeń, które powodują awarię.Liczba nieudanych zmian ÷ Łączna liczba zmian × 100.
Średni czas przywrócenia sprawności (MTTR)Średni czas przywrócenia działania po awarii.Suma czasów przywracania sprawności ÷ liczba awarii (problemy z działaniem/błędy/problemy z danymi)

Dodatkowe wskaźniki uzupełniające:

  1. Prace w toku (WIP): Wskaźnik ten mierzy liczbę niedokończonych zadań (np. zmian w kodzie, funkcji, błędów) znajdujących się obecnie w procesie realizacji. Pomaga on zidentyfikować wąskie gardła oraz określić, czy konieczne jest podzielenie funkcji lub opowieści użytkownika
  2. Czas cyklu: czas odrozpoczęcia zadania(np. utworzenia zgłoszenia) dojego zakończenia
  3. Liczba pull requestów: wskaźnik służący do śledzenialiczby pull requestów utworzonych, scalonych lub odrzuconychw danym okresie (np. dziennym, tygodniowym lub miesięcznym). Pomaga zespołom ocenićwydajność programistów, skuteczność współpracy oraz wąskie gardła w procesie pracy.
  4. Zgłoszenia klientów: Liczbazgłoszonych przez klientów incydentów w środowisku produkcyjnym,odzwierciedlająca jakość testów wewnętrznych
  5. Otwarte zgłoszenia błędów: Ten wskaźnik śledzi liczbę nierozwiązanych usterek (błędów) w systemie w danym momencie. Pomaga on mierzyć jakość oprogramowania, dług techniczny oraz skuteczność zespołuw rozwiązywaniu problemów.
  6. Długotrwałe zgłoszenia błędów: Długotrwałe zgłoszenia błędów to usterki, które pozostają nierozwiązane przez dłuższy czas (zazwyczaj ponad 30 dni). Śledzenie ich pozwala zidentyfikowaćnieefektywność procesów, luki w ustalaniu priorytetów oraz dług technologiczny
  7. Odłożone błędy: to usterki, które zostałyzidentyfikowane, ale których usunięcie celowo odłożonona później. Chociaż odkładanie problemów na później może być uzasadnioną strategią, nadmierne odkładanie może wskazywać nanarastanie długu technicznego, problemy z ustalaniem priorytetów lub nieefektywność procesów.
  8. Stan kompilacjiw ramach ciągłej integracji (CI): Ten wskaźnik monitorujestabilność i niezawodność potoku ciągłej integracji (CI) poprzezśledzenie wskaźnika powodzenia/niepowodzenia automatycznych kompilacji i testów. Sprawny system CI ma kluczowe znaczenie dlaszybkiej informacji zwrotnej, wysokiej jakości wydań oraz wydajności pracy programistów
  9. Stan procesu ciągłego wdrażania (CD): Ten wskaźnik monitorujestabilność, szybkość i wskaźnik powodzenia automatycznego wdrażania. Sprawny system CD gwarantujeniezawodne, częste i niskiego ryzyka wydania.
  10. Testy integracyjne: Testy integracyjne sprawdzają, czyniezależnie opracowane moduły, usługi lub systemy działają poprawnie po połączeniu. Jest to kluczowy etap w procesie DevOps, pozwalający wykryć problemy,zanim reach one reach .
  11. Pakiet narzędzi do monitorowania środowiska produkcyjnego: zestaw narzędzi i procedur służących do śledzenia stanu systemu, wykrywania anomalii oraz rozwiązywania problemów w czasie rzeczywistym w przypadku aplikacji działających w środowisku produkcyjnym. Ma on kluczowe znaczenie dla zespołów SRE, DevOps i operacyjnych w zakresie zapewnienia ciągłości działania, wydajności oraz zadowolenia użytkowników.

Dlaczego wskaźniki mają znaczenie w dobrze prosperującej organizacji

Monitorowanie wskaźników DevOps i operacyjnych (takich jakDORA, czas realizacji, częstotliwość wdrożeń, MTTR, CFR, alerty monitorujące itp.) dostarczapraktycznych informacji, które przyczyniają się dosukcesu biznesowego, doskonałości technicznej i przewagi konkurencyjnej.

  1. przyspieszyć
    • Wskaźniki:czas realizacji, częstotliwość wdrażania, czas cyklu
    • Skutki:
      • Szybsze wprowadzanie nowych wersji →Szybsze reagowanie na potrzeby rynku.
      • Krótsze cykle informacji zwrotnej →Szybsze wprowadzanie innowacji niż konkurencja.
  2. Poprawa jakości i niezawodności oprogramowania
    • Wskaźniki:wskaźnik niepowodzeń zmian (CFR), średni czas przywrócenia sprawności (MTTR), liczba otwartych zgłoszeń błędów
    • Skutki:
      • Mniej awarii produkcyjnych →Wyższy poziom zadowolenia klientów.
      • Szybsze rozwiązywanie problemów →Minimalizacja strat w przychodach
  3. Ogranicz koszty i ilość odpadów
    • Wskaźniki:Stan kompilacji w ramach ciągłego wdrażania, niepowodzenia testów integracyjnych, niestabilne testy
    • Skutki:
      • Wczesne wykrywanie błędów →Tańsze naprawianie w środowisku programistycznym niż w produkcyjnym
      • Wydajne potoki danych →Oszczędność kosztów związanych z chmurą i mocą obliczeniową
  4. Zwiększ wydajność i morale zespołu
    • Wskaźniki:czas trwania cyklu PR, limity pracy w toku, wskaźnik skuteczności wdrożeń
    • Skutki:
      • Mniej wąskich gardeł →Programiści poświęcają więcej czasu na pisanie kodu, a mniej na czekanie.
      • Automatyczne kontrole →Ogranicz wypalenie spowodowane ręczną pracą.
  5. Dostosowanie DevOps do celów biznesowych
    • Wskaźniki:liczba dostarczonych jednostek gotowych do sprzedaży, wskaźnik zgłoszeń od klientów, zobowiązania dotyczące czasu sprawności
    • Skutki:
      • Łączy działania inżynieryjne zgenerowaniem przychodów, wzrostem liczby użytkowników i ich utrzymaniem.
  6. Podejmowanie decyzji w oparciu o dane
    • Wskaźniki:trendy dotyczące średniego czasu naprawy (MTTR), okresu istnienia błędów oraz częstotliwości wdrażania
    • Skutki:
      • Należy nadać priorytetzmianom o największym znaczeniu
      • Uzasadnij inwestycje wautomatyzację, szkolenia lub oprzyrządowanie,przedstawiając ROI .

Podsumowanie:

Dziękiautomatyzacji monitorowania i optymalizacjitych kluczowych wskaźników organizacje mogą osiągnąć znaczące korzyści, w tym:

  • Decyzje oparte na danych– Wykorzystaj praktyczne wnioski do kształtowania strategii i inwestycji.
  • Doskonałość inżynieryjna– Wspieraj ciągłe doskonalenie praktyk związanych z rozwojem i działaniami operacyjnymi.
  • Konkurencyjność branżowa– osiągnięcie poziomu (lub przewyższenie) najlepszych w branży wskaźników porównawczych.
  • Sukces klienta– Dostarczanie niezawodnych rozwiązań wysokiej jakości, które spełniają oczekiwania użytkowników.
  • Zarządzanie i przywództwo– Zapewnienie przejrzystości i odpowiedzialności na wszystkich szczeblach.

Takie usystematyzowane podejście zapewniausprawnienie procesów, lepsze wyniki oraz trwały rozwój firmy.

Referencje

  • przyspieszyć Forsgrena, Humble’a i Kima
  • Dokumentacja Azure DevOps
  • Raporty z badań i oceny DevOps (DORA)

Subskrybuj blog Freyr

Polityka prywatności