Historycznie, podejścia do zbierania wymagań uważano za liniowe: analityk rozmawiał z różnymi interesariuszami, tworzył listy pragnień i dokumentował je w specyfikacji. W rzeczywistości, im większy projekt, tym trudniej zidentyfikować i śledzić przecięcia, duplikacje i całkowicie sprzeczne zadania między wymaganiami różnych grup interesariuszy.
W systemach o dużej skali często pojawiają się:
Błąd na etapie analizy może prowadzić do konfliktów podczas realizacji, wydłużenia terminów, niewydolnych mechanizmów lub niemożności integracji modułów.
Profesjonalny analityk systemowy zmuszony jest stosować techniki:
Kluczowe cechy:
Czy priorytetyzacja wymagań jest sposobem na rozwiązanie sprzeczności?
Nie, priorytetyzacja to ustalanie porządku realizacji. Sprzeczności muszą zostać rozwiązane przed umieszczeniem ich w backlogu, poprzez uzgodnienie, kompromis lub przegląd wymagań.
Czy można zidentyfikować wszystkie powiązania tylko za pomocą narzędzi automatycznych?
Nie, automatyzacja (na przykład, narzędzia do śledzenia) pomoga, ale ukryte znaczenia biznesowe, niuanse procesów i ukryte konflikty są dokumentowane tylko poprzez dyskusje z rzeczywistymi interesariuszami.
Czy przekroczenie wymagań oznacza, że jedno z nich jest obowiązkowo zbędne?
Nie, wymagania mogą się pokrywać w sformułowaniach, ale mieć różne cele końcowe. Należy sprawdzać sens i poszukiwać możliwości ich agregacji lub ujawnienia.
Negatywny przypadek: W bankowej CRM dwa działy niezależnie poprosiły o wprowadzenie "szybkiego wyszukiwania klientów". Wymagania zrealizowano osobno, nie wykryto duplikacji — doprowadziło to do powstania dwóch różnych wyszukiwań, zaskakujących scenariuszy.
Zalety:
Wady:
Pozytywny przypadek: Analityk zorganizował warsztaty z kluczowymi fragmentami wymagań, matrycę zależności, iteracyjnie uzgadniał scenariusze z klientami i wykonawcami.
Zalety:
Wady: