WSJF (Weighted Shortest Job First)
Definition (short):
WSJF (Weighted Shortest Job First) to technika priorytetyzacji zadań w portfolio lub backlog, w której zadania są szeregowane wg ilorazu Cost of Delay (CoD) do rozmiaru zadania (Job Size). Im wyższy wynik, tym wcześniej dana praca powinna zostać podjęta. Stworzona w ramach SAFe (Scaled Agile Framework), używana jest też niezależnie w portfolio managementu i przy decyzjach produktowych. Cost of Delay = User-Business Value + Time Criticality + Risk Reduction / Opportunity Enablement. Każdy z 4 składników szacowany jest na skali Fibonacciego (1, 2, 3, 5, 8, 13, 20). WSJF wymusza odpowiedź na pytanie "co stracimy, jeśli zrobimy to za miesiąc, a nie teraz" - to często ostrzejsza dyscyplina niż MoSCoW, który dzieli wymagania tylko na 4 kubełki bez liczbowej kalibracji. WSJF stosuje się głównie przy priorytetyzacji epików, features i większych inicjatyw - nie pojedynczych user stories (dla nich zwykle Fibonacci estymacja + biznesowa decyzja PO wystarcza).
Body (extended definition):
Formuła WSJF
WSJF = Cost of Delay / Job Size
gdzie:
Cost of Delay = User-Business Value + Time Criticality + Risk Reduction or Opportunity Enablement
Każdy z 4 czynników (User-Business Value, Time Criticality, Risk Reduction/Opportunity, Job Size) szacujesz na skali Fibonacciego: 1, 2, 3, 5, 8, 13, 20. Skala względna - nie absolutna. Najmniejszą wartość dostaje najmniejsze zadanie / najmniejsza wartość w sesji, reszta jest porównywana do niego.
Jak liczyć Cost of Delay
- User-Business Value - ile pieniędzy / satysfakcji / przewagi konkurencyjnej daje to zadanie? Pytanie pomocnicze: "Gdyby to zostało zrobione już dziś, jaką wartość zobaczyłby klient lub biznes?"
- Time Criticality - czy wartość spada z czasem? Pytanie pomocnicze: "Czy zrobione za 3 miesiące jest równie wartościowe? Czy klient pójdzie do konkurencji?" Wysoka Time Criticality dla zmian regulacyjnych (deadline KSeF), promocji sezonowych, integracji z deadlinem partnera.
- Risk Reduction / Opportunity Enablement - czy to zmniejsza ryzyko lub otwiera drogę do innych zadań? Pytanie pomocnicze: "Czy bez tego nie zrobimy 3 innych ważnych rzeczy?" Wysoka wartość dla refactoringu blokującego, security fixes, fundamentów architektury.
Job Size
Estymata wielkości zadania (osobo-dni, story pointy, T-shirt size przeliczone na liczbę). Skala Fibonacciego ta sama, co dla Cost of Delay. Nie myl Job Size z złożonością techniczną - to nakład pracy potrzebny do zrealizowania (dev + QA + analiza + deployment).
Przykład kalkulacji
3 features w backlogu:
| Feature | UBV | TC | RR/OE | Sum CoD | Job Size | WSJF |
|---|---|---|---|---|---|---|
| Płatność BLIK | 13 | 13 | 5 | 31 | 8 | 3.9 |
| Eksport raportów do XLS | 5 | 2 | 1 | 8 | 3 | 2.7 |
| Refactor modułu logowania | 3 | 1 | 13 | 17 | 13 | 1.3 |
Kolejność realizacji: BLIK (3.9) → Eksport (2.7) → Refactor (1.3).
Kiedy stosować WSJF
- Portfolio prioritization (decyzje na poziomie wielu epików/features).
- Decyzje o release scope (co wejdzie do nadchodzącego release'u).
- Sesje PI Planning w SAFe (Program Increment).
- Wybór między 5-10 średnimi inicjatywami.
Kiedy NIE stosować WSJF
- Pojedyncze user stories w sprincie (over-engineering).
- Mikro-decyzje (kosmetyczne zmiany, drobne bugfixes).
- Projekty < 6 osób bez SAFe / portfolio level.
- Gdy zespół jeszcze nie dojrzał do estymacji względnych - używaj prostszej MoSCoW.
WSJF vs MoSCoW - różnice
MoSCoW (Must / Should / Could / Won't) jest jakościowy, kategoryczny. Dobry do szybkich decyzji w małych projektach. WSJF jest ilościowy, generuje uporządkowaną kolejność.
W MoSCoW masz "10 Must Have" i nie wiesz, co robić jako pierwsze. W WSJF widzisz: "Płatność BLIK 3.9, MFA 3.5, Eksport 2.7" - kolejność jest jednoznaczna.
MoSCoW lepiej działa dla zespołu, który ma wspólne intuicje biznesowe. WSJF lepiej działa dla portfolio z konkurującymi grupami stakeholderów, gdzie potrzeba liczb do uzasadnienia decyzji.
Common pitfalls
- Estymacja w izolacji - jeden BA wpisuje cyfry bez konsultacji z biznesem. Wartości oderwane od rzeczywistości. Fix: WSJF szacujesz na warsztacie z PO + sponsorem + tech leadem.
- Brak kalibracji - pierwsza sesja często daje wartości "13, 13, 13, 13" (wszystko jest ważne). Fix: wymuś na zespole nadanie najmniejszej i największej wartości jako kotwic.
- Job Size mylony z trudnością techniczną - refactor jest "trudny" (Job Size 13), ale szybki (3 dni). Fix: Job Size = osobo-dni nakładu, nie poziom skomplikowania.
Powiązane pojęcia
MoSCoW, Cost of Delay, SAFe, Program Increment, priorytetyzacja, Fibonacci estimation, ROI, story points
Nazwa rozłożona na cztery słowa
Ta nazwa nie jest ozdobna. Każde z czterech słów niesie kawałek instrukcji, a spora część nieporozumień wokół WSJF bierze się z przeczytania tylko jednego z nich.
Job to porcja pracy wstawiana do kolejki: epik, feature, inicjatywa portfelowa. Ani stanowisko, ani pojedynczy task z tablicy. Angielskie "job" myli tu najczęściej.
Shortest wskazuje, że w tym wzorze jest mianownik i że stoi w nim nakład. Ten mianownik nie mierzy ani trudności, ani ważności, ani ryzyka - rzecz może być technicznie karkołomna i mieć mały rozmiar, jeśli po prostu robi się szybko.
Weighted to licznik, czyli koszt opóźnienia. Bez niego zostałaby reguła "najpierw małe", która nagradza drobiazgi tylko za to, że są drobne.
First mówi, co robisz z wynikiem. Ustawiasz kolejkę, a nie wystawiasz ocenę.
Po polsku skrót czyta się literami. Przyjętego tłumaczenia nazwy nie ma, więc nasze własne materiały - i wpis o priorytetyzacji, i skrypt lekcji kursowej - używają albo skrótu, albo angielskiego rozwinięcia.
Czego ten wzór nie umie powiedzieć o zakresie
WSJF jest regułą kolejkowania i to ma jedną konsekwencję, o którą ludzie się potykają: nie ma jak powiedzieć "tego nie róbcie wcale". Każda pozycja wrzucona do tabeli dostaje swój wynik i zostaje w kolejce, wyżej albo niżej. Ułamek nie zna słowa "odrzucone".
Odsiew to osobna decyzja i osobne narzędzia - MoSCoW oraz konfrontacja pozycji z celem produktowym. Która technika za co odpowiada, rozłożone jest we wpisie MoSCoW i WSJF w priorytetyzacji wymagań. Tutaj wystarczy zapamiętać kolejność działań: najpierw zakres, potem kolejność. Odwrotnie wychodzi precyzyjnie policzona lista rzeczy, których nie trzeba było robić.
Trzy skróty, które brzmią podobnie i znaczą co innego
| Skrót | Co to jest | Czym się różni od WSJF |
|---|---|---|
| SJF (Shortest Job First) | reguła szeregowania zadań znana z systemów operacyjnych: pierwsze idzie najkrótsze | nie ma ułamka wcale, sortuje po samym czasie zadania i nic nie waży |
| CD3 (Cost of Delay Divided by Duration) | ten sam pomysł na licznik, czyli koszt opóźnienia, ale liczony zwykle w pieniądzu na jednostkę czasu | w mianowniku stawia czas trwania zamiast nakładu, a wynik wychodzi liczbą ekonomiczną, nie punktową |
| RICE (Reach, Impact, Confidence, Effort) | punktacja produktowa: zasięg razy wpływ razy pewność, podzielone przez nakład | licznik jest iloczynem, nie sumą, i mierzy zasięg z pewnością zamiast kosztu opóźnienia |
WSJF, CD3 i RICE odpowiadają na to samo pytanie - w jakiej kolejności - i wszystkie trzy mają ułamek. Rozjeżdżają się w trzech miejscach: co trafia do licznika, jak ten licznik jest złożony i co stoi w mianowniku. WSJF sumuje trzy składniki kosztu opóźnienia i dzieli je przez rozmiar pracy. CD3 zostawia w liczniku ten sam koszt opóźnienia, tylko wyrażony w pieniądzu, a podmienia mianownik na czas trwania. RICE mnoży trzy czynniki, przy czym pewność działa jak mnożnik tłumiący, i dzieli przez nakład. SJF stoi obok tej trójki, bo nie ma ułamka wcale i porządkuje po samej długości zadania.
Jeżeli ktoś na rozmowie pyta, czym WSJF różni się od RICE, to jest cała odpowiedź: inny licznik i inne działanie w tym liczniku, suma zamiast iloczynu. Oba skróty stoją w naszym teście wiedzy z estymacji i priorytetyzacji - 15 pytań, bez zakładania konta.
Dlaczego skala kończy się na 20, a nie na 21
W tabelach WSJF widuje się ciąg 1, 2, 3, 5, 8, 13, 20 i prędzej czy później ktoś zauważy, że to nie jest czysty ciąg Fibonacciego. Po 13 powinna stać suma 8 i 13, czyli 21. To nie literówka: SAFe używa zmodyfikowanego ciągu, w którym górne wartości są zaokrąglone.
Powód jest praktyczny. Te liczby nie są wynikiem pomiaru, tylko kubełkami do porównywania. Kiedy zespół spiera się, czy coś jest trzynastką czy dwudziestką jeden, spiera się o dokładność, której w takim szacunku nie ma. Okrągła dwudziestka mówi wyraźniej: to jest duże, przestań mierzyć.
Ta sama logika stoi za story pointami i za planning pokerem. Dlaczego w ogóle szacujemy względnie, zamiast wpisywać złotówki, rozłożone jest we wpisie o priorytetyzacji wymagań.
Czego nie ma w tym wyniku
Ludzie szukają w tej liczbie rzeczy, których w niej nie ma.
Zależności. WSJF nie wie, że pozycja B nie ruszy, dopóki nie powstanie A. Ustawi obie wedle wyniku i będzie zadowolony, więc kolejność wymuszoną technicznie nakłada się na kolejkę osobno, już po policzeniu.
Terminu też w niej nie ma. Krytyczność czasowa siedzi w liczniku jako jeden ze składników, ale wynik nie mówi, na kiedy coś ma być gotowe. WSJF ustawia porządek, harmonogram powstaje gdzie indziej.
Najpoważniejsza luka jest jednak inna: ułamek wygląda obiektywnie, a dzielenie nadaje szacunkom pozór pomiaru. Kto wypełnia tabelę, ten ustawia wynik. Sekcja o pułapkach wyżej na tej stronie mówi, jak temu zapobiec po stronie procesu; jako właściwość samej miary brzmi to prościej - WSJF nie sprawdza wsadu, przelicza go.
Najcenniejsze bywa pytanie, nie wynik
Praktyczna obserwacja, która nie mieści się w żadnym wzorze.
Kiedy pytasz interesariusza wprost, co się stanie, jeśli jego funkcja poczeka kwartał, i słyszysz po dłuższej chwili "w sumie nic" - właśnie spadła pozycja, o którą walczył od miesiąca. Bez kłótni i bez polityki. Samo policzenie kosztu opóźnienia wymusza tę rozmowę, nawet jeśli potem nikt nie spojrzy na wynik.
Dlatego pierwsza sesja WSJF - tam, gdzie w ogóle warto po niego sięgać - prawie zawsze zwraca włożony czas, choćby liczby wyszły z niej niepewne. Ranking jest wtedy produktem ubocznym. Wartość siedzi w tym, że ktoś musiał powiedzieć na głos, ile kosztuje czekanie, a to jest pytanie, przed którym łatwo się chować, dopóki nikt go nie zada.
Skąd wziął się ten wzór i czy trzeba mieć SAFe
Logika kolejkowania pracy po koszcie opóźnienia wyrosła z ekonomii przepływu i teorii kolejek, a przypisujemy ją Donaldowi Reinertsenowi - tak samo jak we wpisie o priorytetyzacji. SAFe dał jej dziś najbardziej rozpowszechnioną postać operacyjną: trójskładnikowy koszt opóźnienia, zaokrągloną skalę i miejsce w kalendarzu planowania. Sformułowanie "stworzona w ramach SAFe" z definicji na górze tej strony odnosi się właśnie do tej postaci, nie do samego pomysłu dzielenia wartości przez rozmiar.
Rozróżnienie ma konsekwencję praktyczną: żeby użyć tej logiki, nie musisz wdrażać frameworka. Potrzebujesz listy pozycji porównywalnego kalibru, zgody na szacowanie względne i kogoś, kto podejmie decyzję na podstawie wyniku. To wszystko da się mieć na zwykłym backlogu produktu i refinemencie.
Warunek skali zostaje jednak osobno. Sekcja "Kiedy NIE stosować WSJF" wyżej na tej stronie wyklucza projekty poniżej sześciu osób "bez SAFe / portfolio level" i ten drugi człon jest tu ważniejszy od pierwszego: chodzi o to, żeby w ogóle było co porównywać, a nie o to, czy macie framework. Odpuszczenie SAFe zdejmuje wymóg artefaktów. Wymóg porównywalnego zbioru pozycji zostaje.
Gdzie ten skrót spotkasz
Sprawdziłem, jak często termin przewija się w ofertach pracy dla analityków, które zbieramy na naszym job boardzie. Na 319 aktywnych ogłoszeń (odczyt 20.08.2026) słowo "WSJF" nie pada ani razu. "SAFe" - również ani razu. Ten sam zbiór ogłoszeń zasila Barometr rynku pracy BA, gdzie te ogłoszenia widać w agregacie: jakie umiejętności wykrywamy w nich najczęściej.
Zastrzeżenie do metody, bo bez niego ta liczba znaczy więcej, niż powinna: z każdego ogłoszenia trzymamy zajawkę i listę wykrytych technologii, a nie pełną treść opisu stanowiska. Odczyt mówi więc o tym, co trafia do streszczenia oferty, a nie o tym, czego na pewno nie ma w pełnym ogłoszeniu. O tym, czy rekruterzy pytają o techniki priorytetyzacji na rozmowach, te dane nie mówią nic i nie będę tego z nich wyciągał.
Pod tą nazwą skrót spotkasz najczęściej w organizacjach, które wdrożyły SAFe, oraz na testach i egzaminach, gdzie pyta się o rozwinięcie i o to, co stoi w mianowniku. Sama logika - koszt opóźnienia dzielony przez rozmiar - chodzi też po zarządzaniu portfelem i po decyzjach produktowych poza frameworkiem, o czym mówi definicja na górze tej strony, tylko rzadziej nazywa się tam czterema literami.
Trzy krótkie odpowiedzi o samą nazwę
Czy WSJF to to samo co Cost of Delay? Nie. Koszt opóźnienia to licznik, czyli jeden z dwóch składników wzoru. WSJF to cały ułamek: koszt opóźnienia podzielony przez rozmiar pracy. Można policzyć sam koszt opóźnienia i na nim poprzestać, tylko wychodzi wtedy ranking głuchy na nakład, który systematycznie wypycha na górę rzeczy duże i efektowne.
Czy wyniki WSJF da się porównywać między zespołami? Nie. Skala jest względna w obrębie jednej sesji szacowania: w każdej kolumnie najmniejsza wartość dostaje jedynkę, a reszta ustawia się wobec niej. Dwa zespoły mogą wpisać identyczne cyfry, mając na myśli zupełnie inne wielkości, więc wynik 3,9 u jednego i 3,9 u drugiego nie znaczy tego samego. Wynik jest porządkiem wewnątrz jednej kolejki, nie wspólną walutą.
Czy WSJF wyznacza kolejność sprintów? Nie bezpośrednio. Daje kolejność kandydatów do wzięcia, a co faktycznie wejdzie do sprintu, rozstrzyga jeszcze pojemność zespołu, zależności techniczne i definicja gotowości.
Gdzie iść dalej
- MoSCoW i WSJF w priorytetyzacji wymagań - pełna procedura obu technik, tabela porównawcza i przykład przeprowadzony na dziewięciu wymaganiach. To jest tekst nadrzędny wobec tego hasła.
- Prowadzenie backlogu - trzy filary pracy z kolejką: porządek, refinement i priorytetyzacja, plus odpowiedź na pytanie, kto o priorytetach decyduje.
- Estymacja w analizie biznesowej - jak powstają szacunki nakładu i jak się starzeją: planning poker, estymacja trójpunktowa, stożek niepewności, velocity.
- Business case i uzasadnienie projektu - jak policzyć wartość projektu na twardo, wskaźnikami w rodzaju zwrotu z inwestycji, okresu zwrotu i NPV, zanim zamienisz ją na szacunek względny w tabeli.
- MVP - jak ciąć zakres bez utraty wartości - decyzja zakresowa, która poprzedza kolejkowanie; pojęcie w słowniku: MVP.
Priorytetyzacja wymagań wraca dwa razy w kursie Wprowadzenie do analizy biznesowej: raz w module o zarządzaniu cyklem życia wymagań, drugi raz w module o analizie w podejściu zwinnym. Darmowe konto otwiera pierwszą lekcję każdego kursu i trzy podejścia do testów miesięcznie. Żadna z tych dwóch lekcji nie jest pierwszą lekcją kursu, więc w darmowej próbce ich nie zobaczysz.