Rozdział 1Oszacowanie nakładu pracy związanego z funkcją logowania

Jak oszacować zakres funkcji logowania: ukryte aspekty (resetowanie hasła, uwierzytelnianie dwuskładnikowe, federacja, ograniczanie częstotliwości, sesje) oraz pytania, na które należy odpowiedzieć przed rozpoczęciem głosowania.

Rozdział 2Oszacowanie kosztów integracji z systemem SSO

Jak oszacować nakład pracy związany z integracją SSO: praca ta wykracza poza Państwa kod źródłowy i wiąże się ze specyfiką dostawcy tożsamości. Pytania, na które należy odpowiedzieć przed ustaleniem szacunkowej liczby.

Rozdział 3Oszacowanie kosztów integracji systemu płatności

Jak oszacować koszty integracji systemu płatności: środowisko testowe a środowisko produkcyjne, zwroty kosztów, webhooki, idempotencja, zakres zgodności z PCI. Rozmowa, którą należy przeprowadzić, zanim ustalona zostanie jakakolwiek kwota.

Rozdział 4Ocena funkcji wyszukiwania

Jak oszacować funkcjonalność wyszukiwania: trafność, ranking, filtrowanie według kryteriów oraz to, kto jest właścicielem indeksu. Pytania, dzięki którym „dodanie paska wyszukiwania” staje się prawdziwym oszacowaniem.

Rozdział 5Ocena systemu powiadomień

Jak oszacować wymagania systemu powiadomień: kanały, preferencje, eliminacja duplikatów i gwarancje dostarczenia. Dlaczego „wysłanie wiadomości e-mail” niepostrzeżenie przeradza się w sześciotygodniowy projekt.

Rozdział 6Szacowanie czasu przesyłania pliku

Jak oszacować proces przesyłania pliku: ograniczenia rozmiaru, skanowanie antywirusowe, możliwość wznowienia przesyłania, przechowywanie i okres przechowywania. Funkcja „przeciągnij i upuść” to najłatwiejsza część; prawdziwe wyzwanie kryje się pod powierzchnią.

Rozdział 7Ocena pulpitu nawigacyjnego

Jak oszacować wymagania dotyczące pulpitu nawigacyjnego: źródła danych, częstotliwość odświeżania, strefy czasowe, drążenie danych, uprawnienia. Sam wykres jest prosty; prawdziwą pracę stanowi potok danych, który za nim stoi.

Rozdział 8Ocena testu, który daje niestabilne wyniki

Jak oszacować test podatny na błędy: dlaczego potrzebne są dwa oszacowania, a nie jedno, oraz dlaczego wyznaczenie ram czasowych jest lepszym rozwiązaniem niż spory o punkty, gdy odpowiedź zależy od tego, co się odkryje.

Rozdział 9Ocena błędu, którego nie da się odtworzyć

Jak oszacować błąd, którego nie da się odtworzyć: nie można oszacować nakładu pracy związanego z naprawą, a jedynie nakładu pracy związanego z poszukiwaniem przyczyny. Jak wyznaczyć ramy czasowe dla dochodzenia zamiast głosować nad zadaniem, którego nikt nie może zobaczyć.

Rozdział 10Ocena spadku wydajności

Jak oszacować spadek wydajności: praca ta polega głównie na diagnozie, a nie na samym usunięciu usterki. Jak oszacować skalę problemu, gdy przyczyna jest nieznana, a zagrożony jest wskaźnik SLO.

Rozdział 11Ocena błędu zgłoszonego przez klienta

Jak oszacować błąd zgłoszony przez klienta: o wielkości zadania decyduje opis zawarty w zgłoszeniu. Jak odróżnić poprawkę składającą się z jednej linii kodu od działania, które pochłonie cały sprint.

Rozdział 12Oszacowanie zakresu migracji bazy danych

Jak oszacować czas migracji bazy danych: uzupełnianie danych, czas trwania blokady, wdrażanie i przywracanie stanu poprzedniego. Polecenie „Dodaj kolumnę” to jedna linijka kodu SQL; szacunkowy czas to mniej więcej jedna sekunda.

Rozdział 13Oszacowanie zakresu migracji danych

Jak oszacować czas trwania migracji danych: przenoszenie danych między systemami, uzgadnianie danych i przełączenie na nowy system. Przetwarzanie trwa godzinę, a czyszczenie danych – kwartał.

Rozdział 14Oszacowanie kosztów modernizacji platformy

Jak oszacować nakład pracy związany z aktualizacją frameworka: dlaczego zmiana wersji głównej to projekt, a nie zgłoszenie, oraz jak podzielić go na zadania, których nakład pracy można faktycznie oszacować.

Rozdział 15Oszacowanie kosztów aktualizacji zależności

Jak oszacować nakład pracy związany z aktualizacją zależności: długotrwały wzrost, za którym kryje się N skoków w jednym zgłoszeniu. Najpierw zapoznaj się z dziennikami zmian, a następnie oszacuj znalezione elementy.

Rozdział 16Ocena zakresu przebudowy procesu CI/CD

Jak oszacować nakład pracy związany z przebudową CI/CD: prace nad potokiem nie mają wersji demonstracyjnej, więc należy podzielić je na elementy, które można usunąć. Zadanie trwające cały kwartał, które kryje się w backlogu jako refaktoryzacja.

Rozdział 17Oszacowanie kosztów wymiany API dostawcy zewnętrznego

Jak oszacować koszty wymiany API dostawcy zewnętrznego: luki semantyczne, równoległe działanie systemów oraz założenia wynikające ze specyfiki dotychczasowego dostawcy. Nowe API wydaje się jedynie identyczne.

Rozdział 18Oszacowanie harmonogramu wdrażania ograniczeń przepustowości

Jak oszacować wdrożenie ograniczeń przepustowości: progi, okresy testowe, komunikacja z klientami. Napisanie kodu zajmuje pół dnia; prawdziwym wyzwaniem jest ustalenie limitów, na które nikt nie będzie narzekał.

Rozdział 19Ocena zmian w systemie projektowym

Jak oszacować zmianę w systemie projektowym: wdrażanie tokenów, ścieżki wycofywania, zasięg narzędzia Codemod oraz 200 miejsc wywołania, w których wykorzystywany jest stary komponent. Proszę oszacować skalę zmian w dalszych etapach procesu.

Rozdział 20Oszacowanie kosztów wprowadzenia poprawek dotyczących dostępności

Jak oszacować nakład pracy związany z poprawką dotyczącą dostępności: problemy z dostępnością to funkcje, których nie wprowadzono przy pierwszym wydaniu. Dlaczego należy oszacować skalę problemu, a nie pojedynczy przypadek.

Rozdział 21Oszacowanie harmonogramu wdrażania flagi funkcji

Jak oszacować wdrażanie flagi funkcji: procentowe etapy, mechanizmy awaryjne, wskaźniki kontrolne oraz porządkowanie, którego nikt nie planuje. Flaga to niewielki produkt, a nie wdrożenie.

Rozdział 22Szacowanie wzrostu aktywności badawczej

Jak oszacować „spike” badawczy: „spike” to przedział czasowy z konkretnym rezultatem, a nie zadanie. Jak zapobiec sytuacji, w której „spike” po cichu przekształci się w pracę, której zakres pierwotnie miał określić.

Rozdział 23Ocena prototypu

Jak oszacować prototyp: jest to produkt stworzony w celu zdobycia wiedzy, a nie do użytku. Jak zapobiec sytuacji, w której prototyp, który miał być jednorazowy, stanie się kodem produkcyjnym, którego nikt nie planował.

Rozdział 24Oszacowanie eksperymentu z zakresu uczenia maszynowego

Jak oszacować eksperyment z zakresu uczenia maszynowego: to badania połączone z inżynierią. Model jest prosty, a prawdziwą pracą jest obróbka danych. Jak określić wielkość budżetu, a nie prognozę.