Oszacowanie 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.
Opowieści dotyczące logowania prawie nigdy nie otrzymują oceny 3, ale zawsze znajdzie się ktoś, kto przyznaje im właśnie tę ocenę.
Napis „Dodaj logowanie” wydaje się nieistotny, ponieważ wszyscy obecni w pomieszczeniu wdrożyli już wcześniej funkcję logowania – w innym produkcie, przy innym zestawie podjętych wcześniej decyzji. Zakres, który Państwo pamiętają, to zakres z poprzedniego razu, a nie ten, za który mają Państwo się teraz podjąć. Sprawa wydaje się jasna, dopóki ktoś nie zada jednego z poniższych pytań – a wtedy już tak nie jest.
Problem nie polega na tym, że logowanie jest trudne. Problem polega na tym, że dyskusja kończy się, zanim widoczne stają się kompromisy. Inżynierowie backendowi opierają się na stwierdzeniu: „mamy do tego bibliotekę”. Kierownicy projektów opierają się na zrzucie ekranu przedstawiającym idealny przebieg procesu. Osoba, która faktycznie niedawno zrealizowała dane rozwiązanie, jest tą, która przełamuje ten fałszywy konsensus, zazwyczaj zadając pytanie, którego nie było w zgłoszeniu.
O czym się mówi w tym pomieszczeniu
Backend: „To tylko JWT, dysponujemy odpowiednią biblioteką”.
Bezpieczeństwo: „Resetowanie hasła to nie tylko JWT”.
Premier: „Czy uwierzytelnianie dwuskładnikowe jest nam potrzebne już od pierwszego dnia, czy też jest to kwestia do rozstrzygnięcia w późniejszym terminie?”
Interfejs użytkownika: „Czy zamierzamy nawiązać współpracę z Google i Apple, czy też stworzyć własne rozwiązanie?”
SRE: „Jakie jest ograniczenie częstotliwości dla punktu końcowego logowania?”
Pytania, które warto zadać przed oddaniem głosu
- Czy istnieje procedura resetowania hasła i kto jest odpowiedzialny za szablon wiadomości e-mail?
- Tożsamość federacyjna (Google, Apple, SSO) czy wyłącznie nazwa użytkownika i hasło?
- Przechowywanie sesji: JWT, sesja serwerowa, obie opcje, tokeny odświeżające?
- Ograniczanie przepustowości i blokowanie konta w punkcie końcowym logowania?
- Czy uwzględniono już uwierzytelnianie dwuskładnikowe (2FA), czy też jest to celowe odłożenie tej kwestii na „później”?
- Rejestrowanie w dzienniku audytowym nieudanych prób?
Większość tych odpowiedzi jest albo „trywialna”, albo „to temat na osobny wątek”. Proszę policzyć odpowiedzi z tej drugiej kategorii. Jeśli są dwie lub więcej, to nie ma Pan/Pani jeszcze historii: ma Pan/Pani kandydata do podziału, a ocena „3”, na którą miał Pan/Pani zamiar zagłosować, odnosi się do niewłaściwego kryterium.
Jeśli Państwa zespół zagłosuje na „3” podczas logowania, oznacza to, że rozmowa jeszcze się nie odbyła. Proszę odesłać wiadomość.
W artykule „Typowe błędy związane z planowaniem pokerowym” omówiono problemy występujące podczas sesji; w artykule „Jak poprowadzić sesję” przedstawiono cykl składający się z czterech faz. Zapoznaj się z innymi przykładami oszacowań z objaśnieniami lub otwórz bezpłatną sesję planowania pokerowego i prześledź tę historię w jej ramach.