Początkowo ten wpis miał brzmieć inaczej, miał mieć inną formę.. I przyznaje, że jest najdłużej pisanym postem na blogu 😀 Pisałam, kasowałam, poprawiałam, ale nie publikowałam, ciągle było “nie tak”;) Oby tym razem się udało!
Zwykle w projekcie jest ktoś, kto jest odpowiedzialny za pozyskiwanie, analizowanie, dokumentowanie oraz walidację potrzeb interesariuszy projektu. Osoba taka odgrywa centralną rolę w gromadzeniu oraz przekazywaniu informacji o produkcie. Rolę tą może pełnić specjalnie wyznaczona do tych zadań osoba, lub funkcje te mogą być przydzielone członkom zespołu, wykonującym już inne zadania w danym projekcie. Niezależnie od przyjętego procesu tworzenia oprogramowania (model tradycyjny lub agile), zadania związane z tą rolą nadal muszą być realizowane.
Działaniami tymi, zajmuje się osoba pełniąca rolę analityka biznesowego.
Analityk biznesowy
“Analityk biznesowy umożliwia wprowadzenie zmian w kontekście organizacji, definiując potrzeby oraz proponując rozwiązania, które przedstawiają wartość dla interesariuszy. Analityk pozyskuje i analizuje punkty widzenia innych osób, przekształca zebrane informacje w specyfikację wymagań oraz przekazuje je pozostałym interesariuszom. Analityk biznesowy pomaga interesariuszom w dostrzeżeniu różnic między tym, co mówią a tym czego rzeczywiście oczekują. Analityk kształci, pyta, słucha, organizuje i uszy się. Jego praca jest wymagająca. ” (Wiegers, Beatty, Helion 2014)
Podkreślam: analityk biznesowy to funkcja pełniona w projekcie. Nie jest to nazwa stanowiska. Uważajcie na różne wariacje na temat nazwy tej roli!
“Do synonimów określenia analityk biznesowy można zaliczyć takie nazwy, jak analityk wymagań, analityk systemowy, inżynier wymagań, menedżer wymagań, analityk aplikacji, analityk systemów biznesowych, analityk biznesowy IT, analityk. ” (Wiegers, Beatty, Helion 2014)
Aktualnie na rynku pracy bardzo często można spotkać się z określeniami: analityk biznesowy, analityk systemowy, analityk biznesowo – systemowy, analityk IT, analityk systemów, analityk, ( … ). Nazwy stanowisk nie są wiążące, jednak przeglądając zakresy wymagań takich ofert pracy, można łatwo znaleźć wspólny mianownik – czyli zadania przeznaczone dla funkcji analityka biznesowego.
Zadania analityka biznesowego
Do zadań analityka biznesowego, wymienianych w literaturze (tu: Wiegers, Beatty, Helion 2014), należy przede wszystkim:
> definiowanie wymagań biznesowych – pomoc sponsorom w definiowaniu wymagań biznesowych, opisaniu wizji;
> planowanie podejścia do wymagań – pomoc przy opracowaniu zadań związanych z pozyskaniem wymagań;
> identyfikowanie interesariuszy projektu oraz klas użytkowników – pozyskanie współpracy właściwych przedstawicieli każdej z klas użytkowników w celu ustalenia zasad współpracy nad projektem;
> pozyskiwanie wymagań – zebranie od użytkowników cech systemu, które są niezbędne do osiągnięcia celów biznesowych. Jedno z kluczowych zadań analityka, czyli ustalenie”co system ma robić” 🙂
> analizowanie wymagań – analiza zebranych wymagań w celu opracowania modeli, zidentyfikowanie luk w wymaganiach, określenie czy mieszczą się one w zakresie (granicach) projektu, czy spełniają założone cele biznesowe, są spójne i logicznie powiązane. Czyli inaczej – modelowanie 🙂
> dokumentowanie wymagań – gromadzenie i dokumentowanie uzyskanych informacji w ustrukturyzowanej, czytelnej formie, umożliwiającej łatwe rozeznanie się w posiadanych danych.
> komunikowanie wymagań – skuteczne i sprawne przekazywanie interesariuszom informacji o wymaganiach. Wybór sposobów komunikacji (tekst, modele, poziom szczegółowości itd) musi być dostosowany do odbiorców.
> prowadzenie walidacji wymagań – ciągłe sprawdzanie spójności i zgodności zgromadzonych wymagań.
> pomoc w priorytetyzacji wymagań – pomoc w podjęciu decyzji co do priorytetów poszczególnych wymagań tak, by najskuteczniej osiągnąć cele biznesowe.
> zarządzanie wymaganiami – kontrola aktualności zgromadzonej dokumentacji, bieżące śledzenie statusów wymagań, pomoc przy tworzeniu, weryfikowaniu i realizowaniu planu zarządzania wymaganiami projektu.
Umiejętności dobrego analityka
Dobry analityk ma nie tylko wiedzę i doświadczenie, ale szereg umiejętności, które pozwalają mu w sposób trafny przeprowadzać analizę. Pamiętajcie, że wielu tych umiejętności można się nauczyć, nie trzeba się z nimi urodzić 🙂 Efekt, jaki uzyskamy, jest tylko kwestią wysiłku, który jesteśmy w stanie włożyć w swój rozwój zawodowy 🙂
> słuchaj! Aktywne słuchanie jest jednym z krytycznych umiejętności skutecznego analityka. Eliminuj ryzyko niezrozumienia i dwuznaczności. Uważaj na ukryte założenia (zarówno niewypowiedziane “oczywistości” jak i to, czego obawiają się wyrazić), bądź czujny i nie pozwól sobie na zakładanie “z góry”, że wiesz, co rozmówca ma na myśli. Przyjmuj właściwą, otwartą i zachęcającą do rozmowy postawę ciała, nawiąż kontakt wzrokowy, wysłuchaj rozmówcy(rozmówców) wykazując zaangażowanie, parafrazuj by potwierdzić – i upewnić się! – że dobrze zrozumiałeś.
> rozmawiaj, zadawaj pytania! Umiejętność rozmowy z różnymi grupami na temat ich potrzeb jest kolejną krytyczną umiejętnością analityka. Podczas zbierania wymagań należy przeprowadzić wiele rozmów zarówno z osobami zajmującymi wysokie stanowiska jak i pracownikami niższego szczebla. Osobami zaangażowanymi w produkt oraz tymi niechętnie, a czasem wręcz agresywnie nastawionymi do zmian. Zadawaj właściwe pytania, takie, które zachęcą przyszłych użytkowników do mówienia o ich potrzebach, dadzą istotne informacje. Umiejętność zadawania pytań, które ujawniają niejasności, rozwiewają wątpliwości, wyjaśniają nieporozumienia, precyzują założenia i ujawniają niewypowiedziane oczekiwania (Gause i Weinberg, 1989r.)
> szybko podejmuj decyzje, głównie w zakresie sposobu gromadzenia wymagań 🙂 Czasem będzie to dopytywaniem, czasem skorzystaniem z jednego z narzędzi, podsumowaniem rozmów lub zobrazowanie na przykładzie aktualnego stanu wiedzy. Pamiętaj, bądź zorientowany w aktualnych informacjach i na bieżąco weryfikuj z nimi nowo pozyskane dane!
> myśl analitycznie; umiejętność myślenia na różnych poziomach abstrakcji i przełączania się między poziomami w zależności od potrzeb. Weryfikowanie wymagań wysokiego poziomu tymi szczegółowymi i odwrotnie, przyjęcie właściwego, dostosowanego do rozmówcy poziomu percepcji.
> myśl systemowo; miej cały czas przed oczami obraz całego procesu i całości systemu(produktu). Konfrontuj nowe wymagania z posiadaną wiedzą o zakresie projektu, wykrywaj niespójności, brak konsekwencji. Myśl o szczegółach patrząc na cały obraz.
> nieustannie się ucz i pogłębiaj wiedzę; Nie tylko w zakresie pełnionej przez siebie funkcji 🙂 Dobry analityk nie tylko ciągle udoskonala swój warsztat, uczy się nowych technik i udoskonala te, które stosuje ale także musi posiadać umiejętność błyskawicznego przyswojenia materiałów dotyczących nowego projektu, dziedziny w której wykonuje analizę. Nie musi zdobywać wiedzy eksperckiej ale musi sprawnie poruszać się po zagadnieniach, być spostrzegawczym i krytycznym tak, by szybko dotrzeć do sedna problemu.
> facylitacja – cudownie trudne słowo, które fascynuje mnie swoim znaczeniem. Facylitacja to prowadzenie grupy osób do sukcesu bez wpływu na wynik. W pracy analityka ma istotne znaczenie podczas wszelkich zebrać, warsztatów, definiowania wymagań. Wiąże się z umiejętnością zadawania właściwych pytań, obserwowania, wyciągania wniosków. Pomaga w budowaniu zaufania, rozwiązywaniu konfliktów i łagodzenia napięć między różnymi grupami zaangażowanymi w nowo tworzony produkt.
> nie bój się przejmować dowodzenie – jak mawia klasyk, kto ma pisak, ten ma władze;) Analityk nie może się bać przejąć dowodzenie (np podczas prowadzenia warsztatów) tak, by pomóc grupie dojść do wspólnego celu. Zawiera się w tym także łagodzenie konfliktów, podejmowanie decyzji, budowanie atmosfery współpracy, pielęgnowanie zaufania, pomoc w zrozumieniu wzajemnych potrzeb i ograniczeń.
> bądź spostrzegawczy – wyłapuj uwagi czynione mimochodem, na marginesie. Bądź wyczulony na tzw “oczywiste oczywistości”. Zdolny obserwator może wyłapać nieścisłości lub działania, o których nie powiedział użytkownik -> wykrywanie nieujawnionych potrzeb klientów.
> komunikuj (się:) ) – jedna z głównych umiejętności analityka? Skuteczna komunikacja, zarówno ustna jak i pisemna. Umiejętność wyrażenia prostymi słowami bardzo złożonych idei. Tworzenie jasnych, czytelnych dokumentów. Dobra znajomość języka, budowania wartościowych zdań. Dostosowanie poziomu komunikacji do aktualnego rozmówcy. Dostosowanie poziomu szczegółowości odpowiadającemu potrzebom danego odbiorcy.
> organizuj – Wbrew pozorom, bardzo istotna umiejętność, dotycząca głównie .. materiałów, zgromadzonych podczas wykonywania analizy. Wiele różnych informacji, danych, dokumentów, notatek itd pozyskanych w trakcie prac może wprowadzić niesamowity chaos, jeśli nie będzie właściwie zorganizowana i uporządkowana. Zbieranie fragmentów we wspólną całość, wyłanianie sensu z niejednoznaczności i nieporządku oto wyzwania stojące przed analitykiem.
> twórz modele – rysuj. Nie ważne, czy to będzie schemat blokowy, uml, bpmn, czy kwiatki i serduszka.. po prostu rysuj. Jednym rysunkiem jesteś w stanie pokazać to, co w opisie zajmie kilka stron, wyłapiesz nieścisłości, braki, “niepełne ścieżki”. Dobry analityk korzysta zarówno z BPMN jak i UML, więc wybieraj właściwie narzędzia:)
> współpracuj – bardzo istotne są umiejętności pracy w grupie i wspomniane wcześniej umiejętności komunikacji. Niezbędne jest stworzenie właściwej atmosfery podczas spotkań tak, by skłonić do współpracy osoby reprezentujące różne środowiska.
> bądź kreatywny – analityk jest artystą, który przekłada opowieści użytkownika na modele jasne dla programistów. Nie bój się wymyślać, proponować, podpowiadać rozwiązania.
Podsumowanie
Analityk biznesowy najprościej mówiąc, jest osobą, która bezpośrednio komunikuje się ze strefą biznesu (czyli z klientem, który o sprawach “systemowych” zwykle nie ma pojęcia, przyszłymi użytkownikami danego systemu itd). Klient przekazuje wymagania analitykowi biznesowemu (albo inaczej mówiąc: analityk biznesowy pozyskuje wymagania od klienta, który opowiada mu o swoich potrzebach). Analityk musi zrozumić cele biznesowe, zrozumieć występujące procesy biznesowe, czyli próbuje rozpoznać jak najdokładniej analizowany obszar działań biznesowych. By przełożyć “opowieści klienta” na wizualny model, generalnie* używa notacji BPMN jako najlepiej dostosowanej do modelowania procesów biznesowych. Uwaga: trzeba pamiętać, że nie każda analiza wiąże się z optymalizacją procesów! Przede wszystkim analizujemy stan bieżący (“as is”) , dopiero w trakcie prac może pojawić się potrzeba optymalizacji zbyt skomplikowanych procesów (“to be”). Efektem pracy analityka biznesowego jest dokumentacja, w skład której mogą wchodzić analiza organizacji, przedstawienie otoczenia biznesowego, występujących procesów i celów biznesowych, interesariuszy, wymagań. Analityk biznesowy nie musi znać technologii, nie musi umieć kodować, nie musi posiadać znajomości baz danych itd. On ma umieć pozyskać od klienta wymagania i przełożyć je na zrozumiały dla klienta, siebie i pozostałych członków Zespołu – język (model). Analityk biznesowy przekłada także pozyskane wymagania na perspektywę programisty, projektuje elementy systemu informatycznego, planuje przepływy danych w systemie itd. W tym celu najczęściej korzysta z notacji UML (nie tylko diagramy przypadków użycia czy aktywności, ale przede wszystkim klasy, sekwencje, pakiety, danych itd). Może tworzyć mockupy, projektować prototypy interfejsu.
“Skuteczny analityk biznesowy dysponuje bogatym zestawem narzędzi i wie, kiedy z nich korzystać, a kiedy nie” (Wiegers, Beatty, Helion 2014)
Analityk biznesowy analizuje problem, który aktualnie występuje. Określa potrzeby doceloweago klienta/użytkownika/ systemu, przekazując je zespołowi deweloperskiemu. Pracuje na takim poziomie szczegółowości, jaki jest w danym momencie wymagany. Umie wyważyć tworzone zestawy dokumentów , nie przesadzając z “papierologią”:) . Potrafi uchwycić cel biznesowy projektu, wydobyć od klienta najważniejsze informacje, przygotować opisy funkcjonalności, a dodatkowo na przykład stworzyć uproszczone modele klas i opisy struktur dla developerów. Ale uwaga, co ważne – nie jest Product Ownerem ani manegerem. Nie decyduje o systemie, nie jest odpowiedzialny za kierunek działań Zespołu (oczywiście może wspomagać pracę PO, ale to temat na inny artykuł).
Bywają pewnie firmy, w których całe działy analityków biznesowych tworzą modele biznesowe w BPMN, które potem analizują całe działy analityków specjalizujących się w perspektywie technicznej i tworzą modele UML, którzy potem przekazują gotowe specyfikacje testerom i koderom i oprogramowanie “się wytwarza”.. Ale bywają też firmy, w których ktoś idzie na spotkanie, potem najważniejsze elementy spisuje na kartce (czasem), potem omawia problem z programistami i realizowane są prace.. Projekt żyje, programiści kodują, testerzy – testują, analityk analizuje i dokumentuje .. a system działa i często klient jest z niego bardziej niż zadowolony 🙂
PS: Przy pisaniu niniejszego artykułu korzystałam głównie z jednego z “must have” analityków 😉 czyli książki “Specyfikacja oprogramowania – inżynieria wymagań” K. Wiegers, J. Beatty, Helion 2014.
PS2: W RUP oraz IIBA BaBOK pojawiają się nazwy stanowisk “analityk systemowy”, jednak w niniejszym opracowaniu chciałam się skupić wyłącznie na podstawowym podziale ról w zespole i funkcjach analityka biznesowego.