ADR
Sprawdź: Zapis decyzji architektonicznej
Książka / słownik
Praktyczny słownik pojęć, praktyk i wzorców związanych z tworzeniem dobrego oprogramowania.
Książka w przygotowaniuEngineering Excellence
Wyszukuj po nazwie, skrócie, definicji lub tagach. Każde hasło ma własny odnośnik.
Sprawdź: Zapis decyzji architektonicznej
Sprawdź: Sztuczna inteligencja
Sygnał wskazujący, że określony warunek wymaga uwagi lub działania. Dobry alarm powinien prowadzić do konkretnej reakcji, a nie tylko zwiększać liczbę powiadomień.
Ustrukturyzowana analiza incydentu lub niepowodzenia, której celem jest zrozumienie przyczyn i poprawa systemu, a nie znalezienie winnego.
Powtarzalny sposób działania, który wygląda rozsądnie lub profesjonalnie, ale w praktyce prowadzi do niepożądanych skutków.
Sprawdź: Interfejs programistyczny aplikacji
Wytworzony i identyfikowalny rezultat procesu budowania oprogramowania, np. paczka aplikacji, obraz kontenera lub plik binarny. Ten sam zweryfikowany artefakt powinien w miarę możliwości przechodzić przez kolejne środowiska.
Wcześniej uzgodniony warunek, ograniczenie lub próg, który ma zatrzymać zwiększanie ryzyka albo uruchomić reakcję, gdy sytuacja wychodzi poza bezpieczny zakres.
Ochrona systemu, danych i użytkowników przed nieuprawnionym dostępem, nadużyciem, utratą integralności i innymi zagrożeniami.
Secure SDLC
SDLC z bezpieczeństwem włączonym od początku: wymaganiami, projektowaniem, kontrolami, testami i reakcją na podatności.
Stan, w którym praca nie może sensownie posuwać się dalej bez usunięcia konkretnej przeszkody, decyzji lub zależności.
Niezgodność rzeczywistego zachowania systemu z oczekiwanym. Może dotyczyć kodu, konfiguracji, danych, integracji lub innego elementu rozwiązania.
Automatyczny lub ręczny warunek, którego niespełnienie może zatrzymać dalszy przepływ zmiany. Powinna opierać się na wiarygodnym sygnale jakości, a nie na samej obecności ceremonii.
Etap drogi Zmiany, w którym rozwiązanie jest tworzone, integrowane i sprawdzane tak, aby można było mu zaufać przed wdrożeniem.
Akceptowalny margines niespełnienia celu niezawodności wynikający z SLO. Może służyć jako jawna reguła równoważąca tempo zmian i potrzebę poprawy stabilności.
Sprawdź: Relacje firma–firma
Sprawdź: Komitet doradczy ds. zmian
Sprawdź: Ciągłe dostarczanie
SLO
Oczekiwany poziom wybranego SLI w określonym czasie. Powinien opisywać poziom jakości istotny dla użytkownika i wpływać na decyzje.
Jeden spójny cel nadający kierunek pracy w Sprincie. Jest ważniejszy niż traktowanie listy zadań jak niezmiennego kontraktu.
Sprawdź: Ciągła integracja
CI
Praktyka częstego integrowania niewielkich zmian z automatyczną weryfikacją, która szybko ujawnia problemy.
CI/CD
Zestaw praktyk i automatyzacji służących budowaniu, testowaniu, przygotowywaniu oraz dostarczaniu zmian. Skrót CD bywa rozwijany jako Continuous Delivery lub Continuous Deployment, zależnie od sposobu pracy.
Podejście, w którym oprogramowanie jest stale utrzymywane w stanie pozwalającym na bezpieczne i powtarzalne wydanie.
Model, w którym poprawnie zweryfikowane zmiany mogą automatycznie trafiać na produkcję bez osobnej ręcznej decyzji wdrożeniowej.
Przywrócenie poprzedniego stanu po problematycznej zmianie. Nie zawsze jest możliwe lub wystarczające, szczególnie przy nieodwracalnych migracjach danych.
Narzędzie firmy Atlassian do tworzenia i współdzielenia dokumentacji, stron wiedzy i materiałów zespołowych.
SDLC
Całość etapów związanych z powstawaniem, rozwijaniem, wdrażaniem i utrzymaniem oprogramowania.
Metryka DORA mierząca, jak szybko system wraca do normalnego działania po nieudanej zmianie produkcyjnej.
Szerszy czas przepływu od zdefiniowanego punktu rozpoczęcia procesu do dostarczenia. Punkt startowy musi być jawnie ustalony, np. od przyjęcia potrzeby lub od gotowości do realizacji.
Czas od uzgodnionego momentu rozpoczęcia aktywnej realizacji do jej zakończenia. Granice pomiaru muszą być zdefiniowane, aby wyniki były porównywalne.
Czas od zatwierdzenia zmiany w kodzie do jej skutecznego uruchomienia na produkcji.
Częstotliwość, z jaką organizacja skutecznie wdraża zmiany na środowisko produkcyjne.
Część systemu bezpośrednio prezentowana użytkownikowi, np. interfejs webowy lub mobilny.
Część systemu realizująca logikę, dostęp do danych, integracje i usługi niewidoczne bezpośrednio dla użytkownika.
DoR
Umowa zespołu opisująca minimalne warunki, przy których praca jest wystarczająco zrozumiała, mała i bezpieczna do rozpoczęcia. Nie jest formalnym elementem Scrum Guide.
DoD
Wspólny, jednoznaczny zestaw warunków określających, kiedy element pracy można uznać za rzeczywiście ukończony.
Podejście, w którym bezpieczeństwo jest częścią projektowania, budowy, testowania, wdrażania i eksploatacji, a nie osobną kontrolą na końcu.
Przyszły koszt wynikający z wcześniejszych decyzji technicznych, które przyspieszyły dostarczenie rozwiązania kosztem jego dalszej zmienialności.
Popularna platforma i zestaw narzędzi do budowania, uruchamiania i dystrybucji kontenerów.
Sprawdź: Definicja ukończenia
Zdolność organizacji do systematycznego dostarczania wartości poprzez dobre praktyki techniczne, świadome decyzje i ciągłe uczenie się.
Praca polegająca na uzupełnianiu i uzgadnianiu informacji potrzebnych do sensownego rozpoczęcia realizacji. Nie musi być osobnym cyklicznym spotkaniem.
Branżowa etykieta etapu Przygotowania, w którym zespół doprowadza zakres i warunki pracy do poziomu wystarczającego do odpowiedzialnego startu.
Sprawdź: Definicja gotowości
DORA
Program badawczy i zestaw praktyk oraz metryk używanych do oceny technicznej zdolności organizacji do dostarczania zmian. W książce wykorzystywany jest model pięciu metryk wydajności dostarczania.
Cały system prowadzący od potrzeby lub problemu do działającego rozwiązania na produkcji i informacji o jego efekcie, a nie tylko samo programowanie czy wdrożenie.
Realna możliwość podjęcia pracy po uwzględnieniu pracy już rozpoczętej, utrzymania, nieobecności, pracy nieplanowanej i ograniczeń kompetencyjnych.
UX
Całość doświadczeń użytkownika podczas korzystania z produktu lub usługi, w tym zrozumiałość, wygoda, skuteczność i odczuwana jakość.
PoC
Minimalny eksperyment sprawdzający, czy krytyczna koncepcja jest wykonalna. Kod z PoC nie jest automatycznie kodem produkcyjnym.
Sprawdź: Osoba bezpośrednio odpowiedzialna
Zapis zdarzeń i informacji emitowanych przez aplikację lub infrastrukturę. Logi pomagają odtwarzać przebieg działania i diagnozować problemy.
Przekazanie problemu lub decyzji na poziom, który ma odpowiednie uprawnienia, zasoby lub możliwość usunięcia przeszkody. Dobra eskalacja zawiera konkretne pytanie lub potrzebę decyzji.
Przybliżona ocena wielkości, złożoności lub wysiłku. Nie jest automatycznie datą ani zobowiązaniem.
Sprawdź: Od początku do końca / całościowo
Informacja, którą można poprzeć wiarygodnym źródłem lub obserwacją. W Rozpoznaniu fakty są oddzielane od założeń i hipotez.
Sprawdź: Flaga funkcjonalności
Mechanizm pozwalający oddzielić wdrożenie kodu od udostępnienia funkcji. Umożliwia włączanie, wyłączanie lub ograniczanie funkcji bez ponownego wdrażania kodu.
Lekki framework organizowania pracy nad złożonym produktem, oparty m.in. na Sprintach, jasno określonych odpowiedzialnościach, wydarzeniach i artefaktach.
Oddzielna linia rozwoju w systemie kontroli wersji. Pozwala pracować nad zmianą bez natychmiastowego modyfikowania głównej gałęzi.
Rozproszony system kontroli wersji używany do śledzenia zmian w kodzie i pracy na gałęziach.
Platforma do zarządzania repozytoriami, przeglądami kodu, CI/CD i innymi elementami cyklu wytwarzania. W książce występuje również jako źródło publicznych praktyk organizacyjnych.
Wspólna, główna linia kodu, do której integrowane są zmiany. Powinna pozostawać w stanie możliwie wiarygodnym i budowalnym.
Określenie sugerujące, że praca ma wystarczający poziom zrozumienia i przygotowania do rozpoczęcia. Sam status „Ready” nie jest dowodem rzeczywistej gotowości.
Sprawdzalne przypuszczenie łączące planowaną zmianę z oczekiwanym efektem, np. „jeśli uprościmy proces, spadnie liczba kontaktów do obsługi”.
Nieplanowane zdarzenie zakłócające działanie usługi, obniżające jej jakość albo stwarzające istotne ryzyko operacyjne.
Informacja o wyniku działania, zmiany lub decyzji, która pozwala skorygować dalsze postępowanie. Im szybciej wraca, tym tańsza jest zmiana kierunku.
Krótki opis zmian zawartych w danym wydaniu, istotny dla użytkowników, zespołów operacyjnych lub innych odbiorców.
Krótka, praktyczna instrukcja postępowania przy znanym problemie lub operacji, przygotowana tak, aby można było z niej skorzystać pod presją czasu.
API
Uzgodniony sposób komunikacji między systemami lub komponentami. Określa dostępne operacje, dane wejściowe i wynikowe oraz zasady ich użycia.
QE
Dyscyplina budowania jakości w całym cyklu życia oprogramowania zamiast sprawdzania jej dopiero na końcu.
SRE
Podejście łączące inżynierię oprogramowania z utrzymaniem niezawodnych usług, automatyzacją operacji, SLI/SLO i zarządzaniem ryzykiem niezawodności.
Narzędzie firmy Atlassian do zarządzania pracą, zadaniami, backlogiem i przepływami. Statusy w Jirze są reprezentacją pracy, a nie samym systemem dostarczania.
KPI
Wskaźnik wybrany do oceny postępu względem ważnego celu. Źle dobrany KPI może zachęcać do optymalizacji liczby zamiast rzeczywistego wyniku.
Trzycyfrowe kody opisujące wynik obsługi żądania HTTP, np. 2xx – sukces, 4xx – problem po stronie żądania, 5xx – błąd po stronie serwera.
CAB
Grupa wspierająca ocenę i koordynację zmian, szczególnie w podejściach IT Service Management. Nie powinna automatycznie stawać się obowiązkową ręczną bramką dla każdej zmiany.
Zdolność nowej wersji systemu do współpracy ze starszymi klientami, formatami lub kontraktami. Ułatwia niezależne i stopniowe wdrażanie zmian.
Izolowane środowisko uruchomieniowe pakujące aplikację wraz z potrzebnymi zależnościami, ale współdzielące jądro systemu operacyjnego hosta.
Sposób pakowania i uruchamiania aplikacji w kontenerach, ułatwiający powtarzalność środowisk i wdrożeń.
Jawne uzgodnienie dotyczące zachowania, danych, odpowiedzialności lub interakcji. Może dotyczyć zarówno współpracy zespołów, jak i technicznego interfejsu.
Uzgodniony opis sposobu korzystania z API: operacji, danych, formatów, błędów i zasad kompatybilności. Stabilny kontrakt pozwala zespołom pracować bardziej niezależnie.
Obiekt lub usługa zastępująca prawdziwą zależność podczas testów lub pracy równoległej. Może zwracać ustalone odpowiedzi i dodatkowo sprawdzać oczekiwane interakcje.
Sprawdź: Kluczowy wskaźnik efektywności
Warunki opisujące obserwowalne zachowanie lub rezultat, po których można rozpoznać, że dana część rozwiązania działa zgodnie z uzgodnieniem.
Platforma do automatycznego uruchamiania, skalowania i zarządzania aplikacjami kontenerowymi.
Mechanizm zapewniający widoczność stanu, ryzyk, zależności i decyzji oraz kierujący problemy do osób, które mogą na nie zareagować. Nie jest synonimem komitetu ani dodatkowej warstwy akceptacji.
RACI
Model porządkujący role: kto wykonuje pracę, kto ponosi ostateczną odpowiedzialność, kogo konsultujemy i kogo informujemy.
Sprawdź: Główna gałąź kodu
Niewielki, logiczny fragment zmiany, który można szybko zintegrować, zweryfikować i dostarczyć. Mniejsze partie ograniczają koszt błędu i przyspieszają informację zwrotną.
Widok pokazujący kierunek, kolejność ważnych tematów, zależności i horyzont czasowy. Nie powinna być traktowana jak szczegółowy, niezmienny harmonogram.
Wartość dzieląca uporządkowany zbiór wyników na połowę: 50% obserwacji jest mniejszych lub równych tej wartości. Jest mniej wrażliwa na skrajne wyniki niż średnia.
Podejście wykorzystujące wizualizację pracy, ograniczanie pracy w toku i zarządzanie przepływem w celu skracania czasu realizacji i ujawniania wąskich gardeł.
Miara opisująca zdarzenie, które już nastąpiło, np. incydent, przekroczenie terminu lub defekt produkcyjny.
Sygnał, który może pokazać narastający problem zanim pojawi się końcowy skutek, np. rosnący WIP, wiek pracy lub długo oczekująca zależność.
Kontrolowane przeniesienie danych, konfiguracji, użytkowników lub systemu do nowego modelu, wersji albo środowiska.
Sekwencyjny sposób organizacji pracy, w którym kolejne fazy następują po sobie z ograniczonym powrotem do wcześniejszych etapów.
Ciągłe obserwowanie znanych wskaźników i warunków działania systemu. Dobrze odpowiada na pytanie „czy coś odbiega od oczekiwań?”, ale nie zawsze wyjaśnia dlaczego.
Zasada przepływu zachęcająca do pomagania w dokończeniu rozpoczętej pracy przed otwieraniem kolejnych tematów.
Przywrócenie sprawności przez przygotowanie i wdrożenie poprawki zamiast cofania całej zmiany.
Sprawdź: Wymagania pozafunkcjonalne
Test, który przy niezmienionym kodzie potrafi raz przejść, a raz nie. Osłabia zaufanie do automatycznych kontroli i uczy zespół ignorować czerwone wyniki.
Pytanie, na które nie mamy jeszcze odpowiedzi. Istotne niewiadome warto nazwać, jeśli mogą zmienić decyzję, zakres, koszt lub ryzyko.
Zdolność systemu do poprawnego i stabilnego świadczenia oczekiwanej usługi w czasie i w uzgodnionych warunkach.
Możliwość zrozumienia wewnętrznego stanu systemu na podstawie generowanych przez niego sygnałów, takich jak logi, metryki i ślady.
Data, w której chcielibyśmy uzyskać wynik. Sama w sobie nie jest terminem granicznym ani zobowiązaniem.
Metryka DORA pokazująca, jaka część zmian produkcyjnych prowadzi do niepożądanego skutku wymagającego reakcji, np. poprawki, wycofania lub interwencji.
Metryka DORA pokazująca, jaka część wdrożeń wymaga późniejszej pracy naprawczej lub poprawkowej.
E2E
Określenie obejmujące cały przepływ przez wiele komponentów lub systemów. W testach oznacza sprawdzanie pełnego scenariusza z perspektywy użytkownika lub procesu.
Krótki eksperyment służący odpowiedzi na konkretne pytanie techniczne lub zmniejszeniu istotnej niewiadomej. Jego wynikiem jest wiedza, nie gotowa funkcja.
Stały okres w Scrumie, w którym zespół pracuje nad osiągnięciem Celu Sprintu i tworzy wartościowy przyrost produktu.
Praktyka oceny wielkości lub złożoności elementu, często względnej wobec innych prac. Może wykorzystywać story points, rozmiary koszulkowe lub inne skale.
Otwarty standard i ekosystem do generowania, zbierania i eksportowania telemetrii, m.in. metryk, logów i śladów.
Programy, usługi, biblioteki i inne elementy wykonywane przez komputer wraz z ich logiką i konfiguracją.
DRI
Jedna wskazana osoba pilnująca doprowadzenia sprawy do wyniku lub decyzji. Nie oznacza, że wykonuje całą pracę ani że posiada wszystkie prawa decyzyjne.
Wartość pokazująca, jaki odsetek obserwacji mieści się na danym poziomie lub poniżej niego. Np. P85 oznacza, że 85% przypadków zakończyło się w tym czasie lub szybciej.
Opis aktualnego zamiaru działania przy obecnej wiedzy. Może zmieniać się wraz z nowymi informacjami.
Etap drogi Zmiany, w którym ustalamy kolejność, dostępność, ograniczenia i prognozę terminu lub zakresu przy określonym poziomie pewności.
Sprawdź: Dowód koncepcji
Zbiór opisanych zasad i praktyk organizacji. W książce termin pojawia się głównie w odniesieniu do GitLab Handbook.
Sekwencja zautomatyzowanych kroków, np. budowania, testowania, skanowania i wdrażania oprogramowania.
Kod HTTP oznaczający poprawne wykonanie żądania bez zwracania treści w odpowiedzi.
Kod odpowiedzi HTTP oznaczający, że żądanie zostało poprawnie obsłużone. Sam kod 200 nie dowodzi jeszcze, że cały proces użytkownika zakończył się sukcesem.
Informacja o tym, jak wiarygodna jest dana prognoza lub założenie. Powinien zmieniać się wraz z nową wiedzą, a nie być tylko stałym kolorem w raporcie.
Praca pojawiająca się poza wcześniej przyjętym planem, np. incydenty, pilne poprawki i nieprzewidziane działania operacyjne. Powinna być uwzględniana przy ocenie realnej dostępności.
WIP
Liczba lub ilość pracy rozpoczętej, ale jeszcze niezakończonej. Zbyt wysoki WIP sprzyja kolejkom, przełączaniu kontekstu i dłuższemu czasowi realizacji.
Podejście łączące wytwarzanie, automatyzację, wdrażanie i utrzymanie w jeden przepływ odpowiedzialności i informacji zwrotnej.
Informacja o tym, co jest ważniejsze od czego. Priorytet nie jest datą ani zobowiązaniem.
Zaistniała trudność lub niepożądany stan, który już wpływa na pracę, usługę lub wynik. W książce jest odróżniany od ryzyka, które dotyczy przyszłego zdarzenia.
Etap, w którym obserwujemy rzeczywiste zachowanie rozwiązania na produkcji, sprawdzamy efekt i wykorzystujemy nową wiedzę do kolejnych decyzji.
Ocena najbardziej prawdopodobnego przyszłego wyniku lub terminu oparta na aktualnej wiedzy, danych i założeniach. Powinna zmieniać się, gdy zmieniają się przesłanki.
Prognoza wyrażająca wynik wraz z prawdopodobieństwem lub percentylem zamiast jednej pozornie pewnej daty.
Osoba projektująca, implementująca i rozwijająca oprogramowanie. W książce termin nie ogranicza odpowiedzialności programisty wyłącznie do pisania kodu.
Zastępnik komponentu zwracający wcześniej przygotowane odpowiedzi. Zwykle jest prostszy niż mock i nie musi weryfikować sposobu interakcji.
Podstawowy protokół komunikacyjny używany przez WWW i wiele API. Definiuje m.in. żądania, odpowiedzi i kody statusu.
Uproszczona reprezentacja rozwiązania używana do sprawdzenia pomysłu, zachowania lub doświadczenia użytkownika. Nie musi zawierać kodu produkcyjnego.
Ocena zmiany przez inną osobę lub osoby w celu wykrycia problemów, rozprowadzenia wiedzy i utrzymania standardów przed scaleniem.
Przekazanie elementu lub odpowiedzialności między osobami, specjalizacjami lub zespołami. Każde przekazanie może tworzyć kolejkę i utratę kontekstu.
Koszt poznawczy związany z częstym przechodzeniem między różnymi zadaniami lub problemami. Wysoki WIP zwykle zwiększa liczbę takich przełączeń.
Sposób, w jaki praca, decyzje, informacje i wartość przechodzą przez system od potrzeby do efektu. Obejmuje zarówno czas aktywnej pracy, jak i oczekiwanie.
Liczba porównywalnych elementów zakończonych w jednostce czasu. Może wspierać prognozowanie, ale nie powinna być celem produktywności samym w sobie.
Przenoszenie działań związanych z jakością, bezpieczeństwem i informacją zwrotną na wcześniejsze etapy wytwarzania, aby problemy były wykrywane wtedy, gdy są tańsze do naprawienia.
Kanoniczny dokument opisujący zasady, role, wydarzenia i artefakty Scruma. Służy do odróżniania formalnego Scruma od praktyk dodawanych przez organizacje.
Zestaw wykresów i wskaźników pokazujących stan systemu, produktu lub pracy. Powinien wspierać konkretne pytania i decyzje, a nie być tylko dekoracją.
Względna jednostka używana przez część zespołów do szacowania wielkości, złożoności lub niepewności pracy. Nie jest jednostką czasu i nie powinna służyć do porównywania produktywności zespołów.
Konkretny adres lub operacja udostępniana przez API, pod którą system przyjmuje określone żądania.
Wynik, praktyka lub system używany jako punkt odniesienia do porównania. Benchmark nie musi być normą do bezpośredniego kopiowania.
Sprawdź: Zapewnienie jakości
Sprawdź: Inżynieria jakości
Ustrukturyzowany zestaw zasad, ról lub praktyk dający ramy działania bez konieczności definiowania każdego szczegółu procesu.
Zmiana wewnętrznej struktury kodu bez zamierzonej zmiany jego zewnętrznego zachowania, wykonywana np. dla poprawy czytelności, utrzymywalności lub możliwości dalszego rozwoju.
B2B
Model produktów, usług lub relacji kierowanych do innych organizacji, a nie bezpośrednio do konsumenta.
Branżowa etykieta etapu Rozpoznania. Obejmuje sprawdzenie problemu, hipotez, wykonalności i najważniejszych niewiadomych przed większą inwestycją.
Praca służąca lepszemu zrozumieniu problemu, użytkownika, rozwiązania, ryzyk i niewiadomych przed podjęciem dalszych decyzji. W książce preferowane jest polskie określenie „Rozpoznanie”.
Wzorzec bezpiecznej zmiany danych lub schematu: najpierw dodajemy nową strukturę zgodną ze starą, następnie przenosimy użycie lub dane, a dopiero na końcu usuwamy elementy starego modelu.
Niepewne przyszłe zdarzenie lub warunek, który może wpłynąć na wynik, termin, koszt, bezpieczeństwo lub jakość. Powinno mieć opisany możliwy skutek i sposób reakcji.
Platforma Microsoft do współdzielenia dokumentów, stron i informacji w organizacji.
Sprawdź: Umowa o poziomie świadczenia usługi
Sprawdź: Wskaźnik poziomu usługi
Sprawdź: Cel poziomu usługi
Sprawdź: Inżynieria niezawodności usług
Podejście polegające na zwiększaniu ekspozycji nowej wersji lub funkcji etapami, w oparciu o obserwowane sygnały.
AI
Ogólne określenie systemów wykonujących zadania kojarzone z ludzkim rozumowaniem, generowaniem treści, analizą lub podejmowaniem decyzji. W książce pojawia się także w kontekście narzędzi wspierających redakcję.
Uproszczony sposób przejścia przez drogę Zmiany dla małych, dobrze rozumianych i niskiego ryzyka prac. Skraca formalności, ale nie usuwa potrzebnego myślenia.
Zapis przebiegu pojedynczego żądania lub operacji przez wiele usług i komponentów. Ułatwia zrozumienie, gdzie w rozproszonym systemie powstaje opóźnienie lub błąd.
Suma wartości podzielona przez ich liczbę. Może być silnie zniekształcona przez skrajne przypadki, dlatego dla czasów przepływu często warto patrzeć także na medianę i percentyle.
Rzeczywiste środowisko, w którym z systemu korzystają użytkownicy lub procesy biznesowe i gdzie pojawiają się realne dane, ruch oraz konsekwencje błędów.
Prosty język używany m.in. w BDD do opisywania scenariuszy zachowania w formie czytelnej dla ludzi i możliwej do automatyzacji, często z użyciem Given / When / Then.
Dane emitowane przez system i zbierane do obserwacji jego działania, np. metryki, logi, ślady i zdarzenia.
Zespołowa miara ilości pracy zakończonej w kolejnych Sprintach, zwykle wyrażona story points. Może wspierać planowanie w obrębie jednego zespołu, ale nie jest miarą produktywności ani podstawą do porównywania zespołów.
Data, po której występuje realna konsekwencja prawna, kontraktowa, rynkowa lub operacyjna. Nie jest tym samym co data oczekiwana.
Cecha rozwiązania określająca, jak łatwo i wiarygodnie można sprawdzić jego zachowanie. Dobra testowalność skraca czas uzyskania informacji zwrotnej.
Test wykonywany przez narzędzie bez ręcznego przechodzenia scenariusza przez człowieka. Pozwala uzyskiwać szybką i powtarzalną informację zwrotną.
Test sprawdzający odporność rozwiązania na zagrożenia, nadużycia, błędne uprawnienia lub inne problemy bezpieczeństwa.
Test sprawdzający współdziałanie co najmniej dwóch komponentów lub systemów.
Test niewielkiej jednostki kodu wykonywany w izolacji od większości zewnętrznych zależności.
Test weryfikujący zgodność producenta i konsumenta interfejsu z uzgodnionym kontraktem, np. API.
Test wykonywany ręcznie przez człowieka. Może być wartościowy tam, gdzie potrzebna jest eksploracja, ocena doświadczenia lub jednorazowa weryfikacja.
Test sprawdzający zachowanie systemu w warunkach awarii, przeciążenia, utraty zależności lub innych sytuacji wpływających na ciągłość usługi.
Test sprawdzający pełny przepływ przez kilka warstw lub systemów z perspektywy użytkownika albo procesu biznesowego.
Test mierzący zachowanie systemu pod określonym obciążeniem, np. czas odpowiedzi, przepustowość lub wykorzystanie zasobów.
Moment, w którym funkcja lub produkt staje się dostępny dla docelowej grupy użytkowników. Może nastąpić później niż techniczne wdrożenie.
SLA
Formalne uzgodnienie między stronami określające oczekiwany poziom usługi i często konsekwencje jego niespełnienia. Należy odróżniać od wewnętrznego SLO.
Lista tematów, funkcji, błędów lub innych prac, które mogą zostać podjęte. Backlog nie powinien być archiwum wszystkich pomysłów ani magazynem tematów bez decyzji.
Wyodrębniona zdolność systemu świadcząca określoną funkcję użytkownikowi lub innemu systemowi. W kontekście SRE i operacji może mieć własne cele niezawodności i odpowiedzialny zespół.
Praca zapewniająca poprawne działanie systemu po wdrożeniu: obsługa incydentów, monitoring, diagnostyka, aktualizacje, działania operacyjne i poprawa niezawodności.
Sprawdź: Doświadczenie użytkownika
Miejsce systemu ograniczające przepływ całości, np. kolejka do jednej osoby, środowiska lub przeglądu kodu.
Strategia utrzymywania równolegle starej i nowej wersji środowiska i przełączania ruchu między nimi. Ułatwia szybki powrót, ale wymaga dodatkowych zasobów i uwagi przy zmianach danych.
Stopniowe wdrożenie nowej wersji do niewielkiej części ruchu lub użytkowników. Pozwala obserwować rzeczywiste zachowanie przed zwiększeniem ekspozycji.
Proces przekazania nowej osobie dostępu, wiedzy, kontekstu i zasad potrzebnych do skutecznego rozpoczęcia pracy.
Umieszczenie nowego artefaktu lub konfiguracji w środowisku, zwykle produkcyjnym. Nie musi oznaczać, że funkcja została już udostępniona użytkownikom.
Zdolność szybkiego zobaczenia rzeczywistego stanu pracy, ryzyk, zależności, prognozy i potrzebnych decyzji przez osoby, które muszą działać.
Czas, jaki aktywna praca spędziła w systemie od rozpoczęcia do chwili obecnej. Rosnący wiek może wcześniej niż termin pokazać, że element utknął.
Sprawdź: Praca w toku
SLI
Mierzalny wskaźnik jakości usługi, np. dostępność, czas odpowiedzi lub odsetek poprawnie zakończonych operacji.
Najmniejszy wspólny zestaw zasad lub warunków, które warto utrzymać niezależnie od szczegółowego sposobu pracy zespołu.
Model, w którym aktualna i kolejna wersja systemu lub kontraktu mogą przez pewien czas działać równolegle. Zmniejsza potrzebę idealnej synchronizacji wdrożeń.
Lekka ocena nowej potrzeby lub problemu służąca decyzji, co zrobić z tematem dalej: rozpoznać, odłożyć, odrzucić albo skierować szybką ścieżką.
Decyzja lub moment, w którym wdrożona wersja zostaje uznana za gotową do użycia w zaplanowanym zakresie. W książce release jest odróżniany od samego deploy i od launch.
Wymagania opisujące cechy rozwiązania inne niż sama funkcjonalność, np. wydajność, bezpieczeństwo, dostępność, obserwowalność, zgodność lub kompatybilność.
Sytuacja, w której wynik jednej pracy zależy od decyzji, danych, systemu, dostawcy lub rezultatu dostarczanego przez kogoś innego.
Zależność, której niespełnienie utrudnia lub obniża wartość rozwiązania, ale nie uniemożliwia dalszej pracy lub dostarczenia minimalnego zakresu.
Zależność, bez której nie można rozpocząć lub zakończyć określonej części pracy albo osiągnąć wymaganego rezultatu.
Informacja przyjęta roboczo bez pełnego potwierdzenia. Założenia o dużym wpływie powinny być widoczne i w razie potrzeby zweryfikowane.
Okresowe ograniczenie lub zakaz wdrażania zmian, zwykle w czasie zwiększonego ryzyka biznesowego lub operacyjnego. Samo zamrożenie nie naprawia słabego procesu wdrożeniowego.
QA
Tradycyjnie działania mające zapewnić odpowiedni poziom jakości. W praktyce skrót bywa też używany jako nazwa roli lub zespołu testowego, choć jakość jest odpowiedzialnością szerszą niż samo QA.
ADR
Krótki dokument opisujący istotną decyzję architektoniczną, jej kontekst, rozważane możliwości i konsekwencje.
Ogólne określenie impulsu do rozpoczęcia pracy: potrzeby biznesowej, problemu użytkownika, ryzyka, wymogu prawnego, długu technicznego lub innego źródła zmiany.
Sposób oceny, planowania i kontrolowania zmian w środowisku usługowym. W tym znaczeniu nie chodzi o zarządzanie transformacją organizacyjną, lecz o bezpieczne wprowadzanie zmian technicznych i operacyjnych.
Spełnienie obowiązujących wymagań prawnych, regulacyjnych, umownych, norm lub wewnętrznych polityk.
Główny „bohater” książki: każda zamierzona modyfikacja istniejącego stanu, np. nowa funkcja, poprawka błędu, zmiana zachowania, migracja, zmiana konfiguracji, zabezpieczeń albo usunięcie niepotrzebnego elementu.
Świadoma deklaracja odpowiedzialności za określony wynik przy uzgodnionych warunkach. Powinno być odróżniane od estymaty, prognozy i oczekiwanej daty.
Zbiór zasad i sposobów pracy opartych na krótkich pętlach informacji zwrotnej, współpracy i adaptacji do nowej wiedzy. Nie oznacza jednego konkretnego procesu ani frameworku.
Miejsce uznane za aktualne i wiarygodne źródło danej informacji, tak aby zespół nie musiał rekonstruować stanu z wielu sprzecznych dokumentów.
Prośba o połączenie zmian z jednej gałęzi kodu z inną, zwykle poprzedzona przeglądem i automatycznymi kontrolami.
Sprawdź: Żądanie scalenia zmian
P50
Wartość, poniżej której mieści się 50% obserwacji. Dla czasu realizacji odpowiada medianie.
P85
Wartość, poniżej której mieści się 85% obserwacji. Może być używana do bardziej ostrożnych prognoz niż mediana.
P90
Wartość, poniżej której mieści się 90% obserwacji.
P95
Wartość, poniżej której mieści się 95% obserwacji. Pomaga analizować dłuższy ogon rozkładu.
P99
Wartość, poniżej której mieści się 99% obserwacji. Pokazuje skrajne przypadki, które mogą wymagać osobnej analizy.
Spróbuj innego hasła albo wyczyść wybrane filtry.
Engineering Excellence
Praktyczne przewodniki przekładające idee z książki na konkretne działania, decyzje i rytuały zespołu.