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.
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.
Widoczny zbiór kandydatów do zmian sposobu pracy. Powinien być priorytetyzowany i ograniczany tak jak inna praca, zamiast rosnąć jako lista wszystkich pomysłów z retrospektyw.
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.
Warunek współpracy, w którym ludzie mogą ujawniać problemy, zadawać pytania, przyznawać się do niewiedzy i zgłaszać ryzyko bez obawy przed karą za sam fakt zabrania głosu.
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.
Świadomie pozostawiona przestrzeń na zmienność, pracę nieplanowaną lub niepewność. Nie jest wolnym czasem, lecz ochroną planu przed założeniem, że rzeczywistość zawsze przebiegnie zgodnie z kalkulacją.
Sprawdź: Relacje firma–firma
Sprawdź: Komitet doradczy ds. zmian
Sprawdź: Ciągłe dostarczanie
Pożądany wynik lub data, do której chcielibyśmy dojść. Target wyznacza kierunek, ale sam nie jest prognozą prawdopodobieństwa ani zobowiązaniem.
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
Praktyka częstego integrowania niewielkich zmian z automatyczną weryfikacją, która szybko ujawnia problemy.
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.
Stała zdolność zespołu do obserwowania systemu pracy, formułowania hipotez, eksperymentowania i sprawdzania efektu. Nie jest synonimem samej retrospektywy ani ciągłego dokładania nowych praktyk.
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.
Model pracy, w którym kolejne rzeczy są podejmowane i kończone w miarę dostępnej capacity, bez konieczności grupowania ich w sprinty. Może nadal korzystać z regularnego rytmu planowania i przeglądów.
Krótka synchronizacja służąca adaptacji planu i przepływu na dziś. Nie jest odprawą statusową dla managera; jej celem jest pomoc w kończeniu rozpoczętej pracy i usuwaniu blokad.
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.
Całość etapów związanych z powstawaniem, rozwijaniem, wdrażaniem i utrzymaniem oprogramowania.
Czas od chwili, gdy decyzja staje się potrzebna, do momentu jej podjęcia. Długi czas decyzji może tworzyć kolejkę równie kosztowną jak oczekiwanie na review, testy czy środowisko.
Chroniony fragment dnia przeznaczony na pracę wymagającą koncentracji i dłuższego utrzymania kontekstu. Jego wartość maleje, gdy dzień jest rozcinany wieloma krótkimi spotkaniami i przerwaniami.
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.
Model porządkowania większych decyzji: Driver prowadzi temat, Approver ma finalne prawo decyzji, Contributors dostarczają wkład, a Informed otrzymują informację. Powinien usuwać niejasność, a nie być obowiązkową macierzą dla każdej decyzji.
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.
Jawny opis sposobu, w jaki praca przechodzi przez system: gdzie zaczyna się i kończy, jakie ma stany oraz jakie polityki sterują wyborem, WIP, blokadami i obsługą pracy.
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.
Narastający koszt odkładania znanych usprawnień systemu pracy. Powstaje, gdy problemy są wielokrotnie rozpoznawane, ale organizacja nie przeznacza capacity na ich rozwiązanie.
Narastający koszt spotkań, które pozostały w kalendarzu mimo utraty celu, dublowania innych kanałów lub zmiany sposobu pracy. Wymaga okresowego przeglądu i świadomego usuwania zbędnych rytuałów.
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
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.
Całość doświadczeń użytkownika podczas korzystania z produktu lub usługi, w tym zrozumiałość, wygoda, skuteczność i odczuwana jakość.
Minimalny eksperyment sprawdzający, czy krytyczna koncepcja jest wykonalna. Kod z PoC nie jest automatycznie kodem produkcyjnym.
Informacja, obserwacja lub wynik, który wzmacnia albo osłabia hipotezę i może zmienić decyzję. W książce evidence jest przeciwieństwem opierania się wyłącznie na przekonaniu lub rytuale.
Sprawdź: Osoba bezpośrednio odpowiedzialna
Konkretny następny krok wynikający ze spotkania, retrospektywy, analizy lub eksperymentu. Powinien mieć właściciela oraz termin lub sposób sprawdzenia efektu.
Zapis zdarzeń i informacji emitowanych przez aplikację lub infrastrukturę. Logi pomagają odtwarzać przebieg działania i diagnozować problemy.
Zmiana w zachowaniu użytkownika, wyniku biznesowym, ryzyku lub działaniu systemu, którą chcemy osiągnąć. Outcome odpowiada na pytanie „co ma się zmienić?”, a nie tylko „co zbudujemy?”.
Podejście oparte na przejrzystości, inspekcji i adaptacji: podejmujemy decyzje na podstawie tego, co obserwujemy, i zmieniamy sposób działania, gdy pojawiają się nowe informacje.
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.
Ocena rozmiaru pracy przez porównanie z innymi znanymi elementami zamiast bezpośredniego przypisywania godzin. Pomaga ujawniać różnice w rozumieniu, ale nadal pozostaje przybliżeniem.
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.
Uzgodniony sposób komunikacji między systemami lub komponentami. Określa dostępne operacje, dane wejściowe i wynikowe oraz zasady ich użycia.
Dyscyplina budowania jakości w całym cyklu życia oprogramowania zamiast sprawdzania jej dopiero na końcu.
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.
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.
Ograniczona liczba rzeczy przygotowanych do podjęcia w najbliższym czasie. Zbyt duża Ready Queue zamienia przygotowanie w magazyn starzejących się specyfikacji.
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.
Komunikacja niewymagająca jednoczesnej obecności wszystkich uczestników. Dobrze sprawdza się przy statusie, kontekście, komentarzach i dokumentowaniu decyzji, jeśli informacja ma wiarygodne źródło prawdy.
Jakościowe i ilościowe sygnały pokazujące, czy sposób pracy jest możliwy do utrzymania i czy zespół ma warunki do współpracy, skupienia i ujawniania problemów. Nie jest oceną ludzi ani rankingiem zespołów.
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.
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ą.
Manifest Zwinnego Wytwarzania Oprogramowania i stojące za nim zasady. W książce jest punktem odniesienia dla współpracy, prostoty, szybkiej informacji zwrotnej, adaptacji i tempa możliwego do utrzymania, a nie gotową instrukcją procesu.
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 pilnująca, aby poprawa jednego wyniku nie odbywała się kosztem innego ważnego wymiaru, np. jakości, stabilności lub kondycji zespołu.
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ść.
Zestaw miar opisujących zachowanie przepływu pracy, w szczególności WIP, Throughput, Work Item Age i Cycle Time. Mają wspierać decyzje o systemie, a nie ranking osób.
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.
Uzgodniony system codziennego działania zespołu: cele, wejście pracy, priorytety, przygotowanie, przepływ, capacity, decyzje, komunikacja, spotkania, zależności i uczenie się. Ma odpowiadać na realne decyzje, a nie opisywać tylko ceremonie.
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.
Ilość i rozmieszczenie spotkań zajmujących dzień pracy. Znaczenie ma nie tylko łączny czas, lecz także fragmentacja dnia i wpływ na możliwość pracy wymagającej skupienia.
Możliwość zrozumienia wewnętrznego stanu systemu na podstawie generowanych przez niego sygnałów, takich jak logi, metryki i ślady.
Ustrukturyzowane spojrzenie na to, jak zespół rzeczywiście pracuje. Nie jest egzaminem ze zgodności z frameworkiem, lecz analizą realnej pracy, kolejek, decyzji, spotkań, WIP i wyjątków.
Data, w której chcielibyśmy uzyskać wynik. Sama w sobie nie jest terminem granicznym ani zobowiązaniem.
Oczekiwanie dotyczące czasu zakończenia pracy oparte na historycznym zachowaniu systemu. Nie jest gwarancją ani SLA; pomaga identyfikować starzejącą się pracę i wcześniej reagować na ryzyko.
Odpowiedzialność za doprowadzenie sprawy do wyniku, decyzji lub następnego kroku, a nie tylko za wykonanie przypisanego fragmentu. Wspólna odpowiedzialność zespołu nie usuwa potrzeby jasnych właścicieli konkretnych decyzji i inicjatyw.
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.
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.
Z góry ograniczony czas przeznaczony na aktywność, eksperyment albo decyzję. Timebox ogranicza koszt i wymusza moment oceny; nie oznacza, że wszystkie problemy da się rozwiązać w identycznym czasie.
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ą.
Jedna wskazana osoba pilnująca doprowadzenia sprawy do wyniku lub decyzji. Nie oznacza, że wykonuje całą pracę ani że posiada wszystkie prawa decyzyjne.
Porcja pracy przenoszona przez system jako jedna całość. Mniejsze partie zwykle skracają czas do informacji zwrotnej, ograniczają zakres błędu i ułatwiają zmianę kierunku.
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.
Grupowa technika estymacji względnej, w której uczestnicy niezależnie wybierają wartości, a różnice stają się punktem wyjścia do rozmowy o rozumieniu pracy i ryzyku. Technika jest narzędziem, nie celem procesu estymacji.
Podejście ograniczające lub rezygnujące z estymowania pojedynczych elementów tam, gdzie wystarczają dane historyczne, małe podobne porcje pracy i metryki przepływu. Nie oznacza rezygnacji z prognozowania ani odpowiedzialności za plan.
Etap drogi Zmiany, w którym ustalamy kolejność, dostępność, ograniczenia i prognozę terminu lub zakresu przy określonym poziomie pewności.
Zasada, w której kolejna praca jest podejmowana wtedy, gdy pojawia się realna capacity w odpowiednim miejscu przepływu. Ogranicza przydzielanie zadań niezależnie od aktualnego obciążenia.
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.
Praca rozpoczęta w jednym okresie i niedokończona przed rozpoczęciem następnego. Nadal zużywa uwagę i dostępność zespołu, nawet jeśli kalendarzowo rozpoczął się nowy sprint lub miesiąc.
Liczba lub ilość pracy rozpoczętej, ale jeszcze niezakończonej. Zbyt wysoki WIP sprzyja kolejkom, przełączaniu kontekstu i dłuższemu czasowi realizacji.
Klasa pracy, dla której przekroczenie konkretnej daty powoduje realną konsekwencję, np. prawną, kontraktową, operacyjną lub rynkową. Wymaga jawnej daty, właściciela i wcześniejszego śledzenia ryzyka.
Podejście łączące wytwarzanie, automatyzację, wdrażanie i utrzymanie w jeden przepływ odpowiedzialności i informacji zwrotnej.
Jawne określenie, kto może podjąć określony typ decyzji i gdzie kończą się granice autonomii. Współpraca nie wymaga konsensusu wszystkich, jeśli finalne prawo decyzji jest czytelne.
Relacja pomiędzy średnim WIP, przepustowością i średnim czasem przepływu w stabilnym systemie. Pomaga rozumieć, dlaczego nadmiar pracy w toku wydłuża czas realizacji; nie powinno być używane jako sztuczny cel KPI bez sprawdzenia warunków stosowalności.
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.
Przegląd osiągniętego rezultatu i okazja do uzyskania informacji zwrotnej oraz adaptacji dalszego kierunku. Nie powinien być wyłącznie pokazem ani formalnym odbiorem pracy.
Okresowy przegląd zachowania całego systemu pracy z użyciem danych o WIP, czasie realizacji, wieku pracy, przepustowości, blokadach i kolejkach. Służy zmianie polityk i ograniczeń systemu.
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.
Nieplanowane zdarzenie odrywające osobę lub zespół od aktualnej pracy, np. incydent, pilna prośba, konsultacja lub zmiana priorytetu. Warto zarządzać jego źródłem i kosztem, a nie zakładać, że każde przerwanie jest nieuniknione.
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 Kanban, w tym Definition of Workflow, jawne polityki, kontrolę WIP, pull, aktywne zarządzanie pracą oraz podstawowe metryki przepływu.
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.
Lekki zapis istotnych decyzji: co ustalono, dlaczego, kto zdecydował i jaki był kontekst. Pomaga uniknąć odtwarzania tych samych dyskusji i utraty wiedzy po czasie.
Model produktów, usług lub relacji kierowanych do innych organizacji, a nie bezpośrednio do konsumenta.
Jedna z pętli uczenia się zespołu, służąca przeglądowi sposobu pracy i wyborowi usprawnień. Sama rozmowa nie jest sukcesem; liczy się decyzja, działanie i późniejsza weryfikacja efektu.
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.
Uzgodniony rytm powtarzalnych pętli planowania, synchronizacji, informacji zwrotnej i uczenia się. Powinien wynikać z potrzeb systemu, a nie z przyzwyczajenia do kalendarza ceremonii.
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.
Możliwość wykonania potrzebnej czynności bez czekania na centralnego specjalistę, zespół lub ręczną akceptację. Dobre platformy, narzędzia i kontrakty zwiększają niezależność przez bezpieczny self-service.
Pomocnicza nazwa modelu łączącego wybrane mechanizmy Scruma i Kanbana, np. cel i rytm iteracyjny z pull, WIP i ageing. Ma sens wtedy, gdy połączenie rozwiązuje konkretne problemy, a nie gdy zachowuje wszystkie rytuały obu podejść.
Platforma Microsoft do współdzielenia dokumentów, stron i informacji w organizacji.
Granica organizacyjna lub kompetencyjna powodująca, że praca czeka na kolejny dział, a odpowiedzialność kończy się przy przekazaniu. Specjalizacja jest potrzebna; silos zaczyna się wtedy, gdy utrudnia wspólne zakończenie wyniku.
Wykres pokazujący liczbę rzeczy znajdujących się w kolejnych stanach pracy w czasie. Pomaga obserwować narastający WIP, kolejki i zmiany przepustowości systemu.
Sprawdź: Umowa o poziomie świadczenia usługi
Sprawdź: Wskaźnik poziomu usługi
Sprawdź: Cel poziomu usługi
Wielowymiarowy model patrzenia na produktywność programistów przez satysfakcję i dobrostan, wyniki, aktywność, komunikację i współpracę oraz efektywność i przepływ. Przypomina, że jedna metryka aktywności nie opisuje jakości systemu pracy.
Sprawdź: Inżynieria niezawodności usług
Obraz stanu przed wprowadzeniem zmiany, z którym porównujemy późniejszy efekt. Może obejmować dane, rozkłady, obserwacje i sygnały jakościowe.
Podejście polegające na zwiększaniu ekspozycji nowej wersji lub funkcji etapami, w oparciu o obserwowane sygnały.
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.
Decyzja, w której poprawa jednego wymiaru wymaga zaakceptowania kosztu w innym, np. zakresie, czasie, ryzyku, jakości lub elastyczności. Dojrzałe planowanie pokazuje ten koszt zamiast obiecywać wszystko jednocześnie.
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.
Sposób pracy, który zespół może powtarzać długoterminowo bez chronicznych nadgodzin, ciągłego przeciążenia i regularnego ratowania planu trybem bohatera. Nie oznacza pracy wolniej, lecz stabilną zdolność działania.
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.
Wyjątkowy sposób działania oparty na dużym dodatkowym wysiłku, nadgodzinach i indywidualnym ratowaniu sytuacji. Może być potrzebny w kryzysie, ale jego regularne występowanie jest sygnałem problemu systemowego.
Wyjątkowa klasa obsługi pracy wymagającej natychmiastowej reakcji ze względu na poważny wpływ lub ryzyko. Powinna być rzadka, jawna i mieć wyraźne kryteria, ponieważ jej użycie przerywa normalny przepływ.
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.
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
Lekki zestaw uzgodnionych zasad współpracy, np. kanałów komunikacji, oczekiwań wobec review, obsługi przerwań, czasu skupienia czy sposobu eskalacji. Powinny opisywać rzeczywiste zachowania i ewoluować z zespołem.
Moment lub mechanizm wyboru kolejnej pracy do systemu w modelu przepływowym. Pełni podobną funkcję decyzyjną do krótkoterminowego planowania bez konieczności pakowania pracy w sprint.
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
Odpowiedzialność w Scrumie związana z maksymalizacją wartości produktu i skutecznym zarządzaniem Product Backlogiem. W tej książce tytuł roli nie zwalnia zespołu z udziału w rozumieniu problemu i projektowaniu rozwiązania.
Ustrukturyzowane zebranie wiedzy po ważnym zdarzeniu, projekcie, eksperymencie lub sukcesie. Wartość powstaje wtedy, gdy wnioski wpływają na przyszłe decyzje albo sposób pracy.
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.
Skupienie kilku osób na doprowadzeniu rozpoczętej pracy do końca zamiast automatycznego rozpoczynania kolejnych tematów. Pomaga przełamywać lokalne kolejki i realizować zasadę finish before starting.
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ń.
Sposób współpracy, w którym potrzebne kompetencje uczestniczą w osiąganiu wspólnego rezultatu zamiast działać jako kolejne silosy przekazujące sobie pracę. Nie oznacza, że każdy musi umieć wszystko.
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ść.
Sposób uruchamiania lub przydzielania kolejnej pracy niezależnie od tego, czy dalsza część systemu ma capacity, aby ją obsłużyć. Sprzyja narastaniu WIP i kolejek.
Stan, w którym wiemy wystarczająco dużo, aby odpowiedzialnie rozpocząć pracę, a pozostała niepewność jest świadoma i akceptowalna. Nie oznacza kompletnej specyfikacji ani braku dalszego uczenia się.
To, co zostało wykonane lub dostarczone, np. funkcja, raport, API albo migracja. Output może być poprawnie dostarczony i jednocześnie nie przynieść oczekiwanego outcome.
Zestaw rzeczy planowanych do wykonania w ramach celu, inicjatywy lub okresu. Zakres jest środkiem do osiągnięcia efektu i może być zmieniany, gdy pojawiają się nowe informacje lub stałe ograniczenie czasu.
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.
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.
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.
Materiał publikowany przez organizację opisującą własne zasady, praktyki, narzędzia lub sposób działania. W książce takie źródła służą jako benchmark praktyczny, a nie norma do kopiowania 1:1.
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
Wartość, poniżej której mieści się 50% obserwacji. Dla czasu realizacji odpowiada medianie.
Wartość, poniżej której mieści się 85% obserwacji. Może być używana do bardziej ostrożnych prognoz niż mediana.
Wartość, poniżej której mieści się 90% obserwacji.
Wartość, poniżej której mieści się 95% obserwacji. Pomaga analizować dłuższy ogon rozkładu.
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.