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.
- Czas realizacji (jak szybko wprowadzamy oprogramowanie do środowiska produkcyjnego)
- Częstotliwość wdrażania(jak często publikujesz aktualizacje).
- Zmiana wskaźnika niepowodzeń(jak często wdrożenia kończą się niepowodzeniem).
- Ś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 metryczny | Definicja | Wzór |
| Czas realizacji | Średni czas realizacji funkcji | Suma czasu realizacji / liczba funkcji |
| Częstotliwość wdrażania | Jak 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:
- 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
- Czas cyklu: czas odrozpoczęcia zadania(np. utworzenia zgłoszenia) dojego zakończenia
- 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.
- Zgłoszenia klientów: Liczbazgłoszonych przez klientów incydentów w środowisku produkcyjnym,odzwierciedlająca jakość testów wewnętrznych
- 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.
- 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
- Odłożone błędy: Są 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.
- 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
- 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.
- 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 .
- 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.
- 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.
- 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
- 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ą
- 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ą.
- 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.
- 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)