Ostatnie 3 miesiące spędziłem w wyczerpującej - i wyczerpującej - fazie zbierania wymagań dużego projektu i nauczyłem się przede wszystkim, że nie ma jednego uniwersalnego rozwiązania . Nie ma żadnego procesu, żadnego sekretu, który działałby w każdym przypadku. Analiza wymagań to prawdziwa umiejętność i właśnie wtedy, gdy wydaje ci się, że w końcu wszystko to rozgryzłeś, zostajesz narażony na zupełnie inną grupę ludzi i musisz wyrzucić wszystko, co znasz.
Różni interesariusze myślą na różnych poziomach abstrakcji.
Łatwo jest powiedzieć „Dyskusja na poziomie biznesowym, nie techniczny”, ale nie jest to koniecznie, że łatwo zrobić . System, który projektujesz, jest słoniem, a twoimi interesariuszami są ślepi badający go . Niektórzy ludzie są tak głęboko zanurzony w procesie i rutyny, że nie zdają sobie nawet sprawy, że nie jest biznes. Inni mogą pracować na poziomie abstrakcji, który chcesz, ale mogą być skłonni do przesadzania, a nawet fałszywych twierdzeń lub angażowania się w pobożne życzenia.
Niestety, musisz po prostu poznać wszystkie osoby jako jednostki i zrozumieć ich zdanie, nauczyć się interpretować to, co mówią, a nawet zdecydować, co zignorować.
Dziel i rządź
Jeśli nie chcesz, aby coś zostało zrobione, wyślij je do komitetu.
Nie spotykaj się z komisjami. Utrzymuj te spotkania tak małe, jak to możliwe. YMMV, ale z mojego doświadczenia wynika, że idealny rozmiar to 3-4 osoby (włączając ciebie) na sesje otwarte i 2-3 osoby na sesje zamknięte (tj. Kiedy potrzebujesz odpowiedzi na konkretne pytanie).
Staram się spotykać z ludźmi, którzy mają podobne funkcje w biznesie. Naprawdę niewiele można zyskać i bardzo wiele do stracenia po rzuceniu marketingowców w pokoju z licznikami fasoli. Poszukaj ludzi, którzy są ekspertami w jednym temacie i poproś ich o rozmowę na ten temat.
Spotkanie bez przygotowania jest spotkaniem bez celu.
Kilka innych odpowiedzi / komentarzy odnosiło się do techniki słomianego człowieka, która jest doskonała dla tych kłopotliwych ludzi, z których po prostu nie można uzyskać żadnych odpowiedzi. Ale nie polegaj zbytnio na ludziach ze słomy , bo inaczej ludzie zaczną czuć się, jakbyś ich szynował. Musisz delikatnie popychać ludzi we właściwym kierunku i pozwolić im sami wymyślić szczegóły, aby czuli, że są ich właścicielami (i, w pewnym sensie, są ich właścicielami).
To, co musisz mieć, to jakiś mentalny model tego, jak myślisz, jak działa biznes i jak powinien działać system . Musisz zostać ekspertem w dziedzinie , nawet jeśli nie jesteś ekspertem w danej firmie. Wykonaj jak najwięcej badań dotyczących swojej firmy, jej konkurentów, istniejących systemów na rynku i wszystkiego, co może być nawet zdalnie powiązane.
Kiedyś w tym momencie uznałem, że najbardziej efektywna jest praca z konstrukcjami wysokiego poziomu, takimi jak przypadki użycia, które wydają się być zgodne dla wszystkich, ale nadal bardzo ważne jest zadawanie konkretnych pytań. Jeśli zaczniesz od „Jak wystawiać rachunki swoim klientom?” jesteś na bardzo długim spotkaniu. Zadawaj pytania, które sugerują proces, zamiast eliminować go od samego początku: Jakie są elementy zamówienia? Jak są obliczane? Jak często się zmieniają? Ile jest różnych rodzajów sprzedaży lub umów? Gdzie są drukowane? Masz pomysł.
Jeśli przegapisz krok, ktoś zwykle ci to powie. Jeśli nikt nie narzeka, klepnij się po plecach, ponieważ właśnie niejawnie potwierdziłeś ten proces.
Odkładaj dyskusje poza tematem .
Jako analityk wymagań odgrywasz również rolę facylitatora i chyba, że naprawdę lubisz spędzać cały czas na spotkaniach, musisz znaleźć sposób, aby utrzymać porządek. Jak na ironię, to problem staje się najbardziej złośliwa, kiedy wreszcie nie dostać ludzie rozmawiają. Jeśli nie będziesz ostrożny, może wykoleić pociąg, na który tyle czasu spędziłeś układając tory.
Jednak - i nauczyłem się tego na własnej skórze dawno temu - nie możesz po prostu powiedzieć ludziom, że problem jest nieistotny . Jest to oczywiście dla nich istotne , inaczej nie rozmawialiby o tym. Twoim zadaniem jest zmusić ludzi, by mówili „tak” tak często, jak to możliwe, a postawienie takiej bariery po prostu powali cię na terytorium „nie”.
Jest to delikatna równowaga, którą wiele osób jest w stanie utrzymać dzięki „przedmiotom akcji” - w zasadzie ogólna kolejka dyskusji, do której obiecałeś kiedyś wrócić , zwykle oznaczona nazwiskami interesariuszy, którzy uważali to za bardzo ważne. Nie tylko ze względu na dyplomację - jest to również cenne narzędzie, które pomoże ci zapamiętać, co się działo podczas spotkań i z kim porozmawiać, jeśli będziesz potrzebować wyjaśnień w późniejszym terminie.
Różni analitycy traktują to na różne sposoby; niektóre jak bardzo publiczna tablica lub tablica flip-chart, inni po cichu podłączają ją do swoich laptopów i delikatnie segregują inne tematy. Z czymkolwiek czujesz się komfortowo.
Potrzebujesz agendy
Jest to prawdopodobnie prawdą w przypadku prawie każdego rodzaju spotkania, ale podwójnie dotyczy to spełnienia wymagań. Gdy dyskusje ciągną się, ludzkie umysły zaczynają błądzić i zaczynają się zastanawiać, kiedy dojdziesz do rzeczy, na których im naprawdę zależy. Posiadanie planu zapewnia pewną strukturę, a także pomaga określić, jak wspomniano powyżej, kiedy trzeba odroczyć dyskusję, która wychodzi poza temat.
Nie wchodź tam bez jasnego pojęcia, co dokładnie chcesz i kiedy chcesz . Bez tego nie możesz ocenić własnego postępu, a użytkownicy będą cię nienawidzić za to, że zawsze biegasz długo (zakładając, że nie nienawidzą cię z innych powodów).
Mock It
Jeśli użyjesz programu PowerPoint lub Visio jako narzędzia do makiety, będziesz cierpieć z powodu problemu, że będzie wyglądał na zbyt dopracowany . To prawie niesamowita dolina interfejsów użytkownika; ludzie będą czuć się komfortowo dzięki rysunkom na serwetkach (lub rysunkom generowanym komputerowo, które wyglądają jak rysunki na serwetkach, za pomocą narzędzia takiego jak Balsamiq lub Sketchflow ), ponieważ wiedzą, że to nie jest prawdziwe - z tego samego powodu ludzie mogą oglądać postacie z kreskówek. Ale im bardziej zacznie wyglądać jak prawdziwy interfejs użytkownika, tym więcej osób będzie chciało go wybrać i łapać, i tym więcej czasu spędzą na kłótni o szczegóły, które ostatecznie są nieistotne.
Zdecydowanie więc wykonuj makiety, aby sprawdzić swoje zrozumienie wymagań ( po wstępnych etapach analizy) - to świetny sposób na uzyskanie bardzo szybkiej i szczegółowej informacji zwrotnej - ale zachowaj je w trybie lo-fi i nie spiesz się z wyśmiewaniem, dopóki nie „ jesteś całkiem pewien, że widzisz oko w oko ze swoimi użytkownikami.
Pamiętaj, że makieta nie jest rezultatem , jest narzędziem ułatwiającym zrozumienie. Tak jak nie spodziewałbyś się, że będziesz trzymany w niewoli podczas próby projektowania interfejsu użytkownika, nie możesz zakładać, że projekt jest w porządku, po prostu dlatego, że dali twoją makietę kciuki do góry. Widziałem drwiny używane jako kula lub, co gorsza, pretekst do całkowitego ominięcia wymagań; upewnij się, że tego nie robisz. Wróć i zamień tę próbkę w prawdziwy zestaw wymagań.
Bądź cierpliwy.
Wielu programistom trudno w to uwierzyć, ale w przypadku większości nietrywialnych projektów nie można po prostu usiąść raz i opracować pełną funkcjonalną specyfikację. Nie mówię tylko o cierpliwości podczas jednego spotkania; analiza wymagań jest iteracyjna w taki sam sposób jak kod. Grupa A mówi coś, a następnie grupa B mówi coś, co całkowicie zaprzecza temu, co usłyszałeś od grupy A. Następnie grupa A wyjaśnia niekonsekwencję i okazuje się, że grupa C zapomniała o tym wspomnieć. Powtórz 500 razy, a masz coś mniej więcej przypominającego prawdę .
Jeśli nie tworzysz małej aplikacji CRUD (w takim razie po co w ogóle męczyć się z wymaganiami?), Nie spodziewaj się, że dostaniesz wszystko, czego potrzebujesz na jednym spotkaniu, dwóch lub pięciu. Będziesz dużo słuchał, dużo mówił i dużo powtarzał. Co nie jest okropne, pamiętajcie; jest to szansa na nawiązanie kontaktu z ludźmi, którzy nieuchronnie będą podpisywać się na twoim produkcie.
Nie bój się zmieniać techniki lub improwizować.
Różne aspekty projektu mogą wymagać różnych technik analizy. W niektórych przypadkach klasyczny UML (użycie przypadku / diagram aktywności) działa świetnie. W innych przypadkach możesz zacząć od biznesowych KSI, burzy mózgów z mapą myśli lub zanurkować w makiety pomimo mojego wcześniejszego ostrzeżenia.
Najważniejsze jest to, że musisz sam zrozumieć domenę i odrobić pracę domową, zanim zmarnujesz czas kogoś innego. Jeśli wiesz, że określony dział lub komponent ma tylko jeden przypadek użycia, ale jest to niezwykle skomplikowany przypadek, pomiń analizę przypadku użycia i zacznij mówić o przepływach pracy lub przepływach danych. Jeśli nie używałbyś tego samego narzędzia do każdej części implementacji aplikacji, to dlaczego miałbyś używać tego samego narzędzia do każdej części wymagań?
Trzymaj ucho na ziemi.
Ze wszystkich wskazówek i porad, które przeczytałem na temat analizy wymagań, jest to prawdopodobnie jedna z najczęściej pomijanych. Szczerze mówiąc, nauczyłem się więcej podsłuchiwania i od czasu do czasu zawieszania rozmów z fajniejszą wodą niż z zaplanowanych spotkań.
Jeśli jesteś przyzwyczajony do pracy w izolacji, postaraj się znaleźć miejsce, gdzie jest akcja, aby usłyszeć paplaninę. Jeśli nie możesz, po prostu rób częste obchody, do kuchni, łazienki lub gdziekolwiek. Dowiesz się różnego rodzaju interesujących rzeczy na temat tego, jak naprawdę działa firma, od słuchania tego, co ludzie chwalą się lub narzekają podczas przerw na kawę i dym.
Na koniec przeczytaj między wierszami .
Jednym z moich największych błędów w przeszłości było tak skoncentrowanie się na efekcie końcowym, że nie poświęciłem czasu, by usłyszeć, co mówią ludzie . Czasami - przez większość czasu - może się wydawać, że ludzie nie zwracają uwagi na nic lub wymyślają jakieś procedury, które brzmią dla ciebie zupełnie bezcelowo, ale jeśli naprawdę skoncentrujesz się na tym, co mówią, zrozumiesz, że tak naprawdę jest zakopany tam wymóg - lub kilka.
Choć brzmi banalnie i mdle, Five Whys jest tutaj bardzo przydatną techniką. Ilekroć pojawia się ta „głupia” reakcja na kolana (nie żebyś kiedykolwiek powiedział to głośno), zatrzymaj się i zmień to w pytanie: dlaczego? Dlaczego ta informacja jest czterokrotnie przepisywana, a następnie drukowana, kopiowana, skanowana, drukowana ponownie, przypinana do płyty wiórowej, fotografowana cyfrowym aparatem i wreszcie wysyłana pocztą elektroniczną do kierownika sprzedaży? Nie jest to powód , a oni nie mogą wiedzieć, co to jest, ale jest to zadanie, aby dowiedzieć się. Powodzenia z tym. ;)