Historia pytania:
Złożone wymagania często są formułowane na wysokim poziomie abstrakcji lub zawierają wiele ukrytych warunków i wyjątków. Jeśli takie wymagania nie zostaną zdekomponowane i doprecyzowane, mogą wystąpić nieporozumienia między klientem, programistami a testerami.
Problem:
Niejednoznaczne lub niewystarczająco zdekomponowane wymagania prowadzą do tego, że zespół "domyśla się" szczegółów samodzielnie. W rezultacie wartość biznesowa może być niewłaściwie zrealizowana lub zniekształcona, a naprawienie tego staje się dużo trudniejsze i droższe.
Rozwiązanie:
Analityk systemowy przeprowadza szczegółową analizę wymagań za pomocą technik dekompozycji (diagram przypadków użycia, diagram działalności, historie użytkowników zgodne z INVEST, burza pomysłów, drzewo dekompozycji). Ważne jest, aby formułować scenariusze (podstawowe/alternatywne/wyjątkowe), tworzyć tabele decyzji i macierze przejść, a na końcu weryfikować każdy "węzeł" poprzez przykłady przypadków brzegowych wspólnie z klientem. Po dekompozycji analityk zbiera wszystkie części, analizując punkty integracji i zapewniając spójność.
Kluczowe cechy:
Czy wystarczy jedno tekstowe opisanie scenariusza User Story?
Nie, same historie użytkowników są niewystarczające: potrzebne są diagramy sekwencji, przykłady przypadków brzegowych, mockupy UI i tabele decyzji dla złożonej logiki biznesowej.
Czy dekompozycja automatycznie zapewnia brak sprzeczności między wymaganiami?
Nie, dekompozycja powinna być wspierana konsolidacją konfliktujących wymagań, regularnymi sesjami przeglądowymi i analizą zależności.
Czy można powierzyć dekompozycję wyłącznie programistom lub testerom?
Nie, analityk odpowiada za kompletność szczegółowego opisu. Jeśli zleci to innym rolom, pojawiają się różnorodności interpretacji i niezgodności.
Negatywny przypadek:
Klient biznesowy napisał "System musi obliczać zniżkę dla każdego klienta indywidualnie". W realizacji pojawiła się sztywna schematyzacja zniżek. W testach okazało się, że ukrytych parametrów jest ponad dziesięć, co nie zostało ujawnione na etapie formalizacji.
Zalety:
Wady:
Pozytywny przypadek:
Analityk przeprowadził warsztat dotyczący burzy pomysłów, ujawnił wszystkie parametry i warunki obliczeń. Zbudował tabelę decyzji i diagramy sekwencji, uzgodnił z biznesem przykłady przypadków brzegowych. Wymaganie stało się zrozumiałe i weryfikowalne, błędy zostały wykryte przed rozpoczęciem realizacji.
Zalety:
Wady: