Jestem programistą od wielu lat i często zdarza się, że w projektach, przy których pracowałem, analiza biznesowa pozostawiała wiele do życzenia. W trzech na cztery firmy, w których byłem zatrudniony, analiza tego, co należy zrobić w konkretnym tasku przypisanym do mnie, była na beznadziejnym poziomie.
To dla mnie duży problem, ponieważ zrozumienie celu i wymagań jest fundamentalne, aby móc ruszyć dalej z pracą.
Powiedzcie mi, dlaczego programista musi pisać kod najwyższej jakości, przechodzić code review, dbać o clean code, odpowiednie nazewnictwo zmiennych i wysokie pokrycie testami, podczas gdy ludzie na nietechnicznych stanowiskach, product ownerzy, analitycy nie są w ogóle rozliczani z żadnych standardów, a ich poziom pracy rzutuje na efektywność programistów?
W moim projekcie jest analityczka osoba bez zaplecza technicznego, która weszła do branży w czasach boomu, po studiach zupełnie niezwiązanych z IT. Obecnie jest senior biznes analitykiem.
Z założenia to stanowisko powinno być pośrednikiem między klientem a programistami taka osoba zbiera wymagania i tłumaczy je na język techniczny. Niestety, w praktyce tak nie jest. W firmach, w których pracowałem, większość product ownerów lub osób kontaktujących się z klientem nie miała pojęcia o oprogramowaniu.
Irytuje mnie poziom, jaki reprezentują ci ludzie, oraz ich ignorancja w kwestii komunikacji i przekazywania wymagań programistom. Spoko, potrafią ładnie mówić po angielsku, potrafią uśmiechać się do klienta, ale według mnie nie potrafią rozmawiać z programistami i częściowo tłumaczyć te wymagania na język techniczny.
Przykład: Analityczka przygotowuje opis taska, załącza screenshot, zaznacza czerwoną ramką miejsce, gdzie klient chce zmianę, i krótko opisuje, na czym ma polegać. Czy to ma być analiza na odpowiednim poziomie?
Właśnie na tym często się kończy "analiza" tych osób. Ci ludzie nie potrafią czasem wysłać requesta do API, nie wiedzą jak zidentyfikować błąd w konsoli w przeglądarce...
Dochodzi do tego, że jestem zirytowany, bo sam muszę ustalać, co właściwie mam robić. Próbuję delikatnie sugerować, że stoję w miejscu, bo analiza jest niewystarczająca brakuje przypadków brzegowych, wymagania są niejasne. Sorry, ale wklejenia screena z opisem tu trzeba zmienić to nie jest analiza. Ta analityczka w moim zespole, nie opisuje nawet workflow jak działa system po kolei, żeby ułatwić programistom zrozumienie.
Zaczynam task i pojawiają się u mnie wątpliwości, co w przypadku X? Co w sytuacji Y? – bo te edge case’y nie zostały przeanalizowane.
Gdyby analitykiem była osoba z zapleczem technicznym i doświadczeniem w rozwoju oprogramowania, współpraca byłaby chyba łatwiejsza. Taka osoba rozumiałaby, jak wyciągnąć dane z bazy, jak sformułować zapytanie, aby uzyskać więcej informacji i przygotować kompletną analizę.
Niestety, techniczni analitycy to margines, do tej pory pracowałam z jednym technicznym analitykiem i był w miarę spoko. Rozumiem, że umiejętności miękkie i komunikacja są ważne na tym stanowisku, ale... uśmiechanie się na spotkaniach, umiejętność paplania trzy po trzy to nie są umiejętności miękkie. Prawdziwa komunikacja to umiejętność precyzyjnego przekazywania informacji i wyłuskiwania najważniejszych kwestii.
Mam wrażenie, że w korporacjach komunikacja miękka jest postrzegana jako gadatliwość, miłe usposobienie i rozwlekłe gadanie. Tacy ludzie są najgorsi we współpracy z programistą nie potrafią wydobyć kluczowych informacji, a ich "analiza" sprowadza się do wrzucenia screena z czerwoną ramką i napisania tu trzeba zmienić.
Nie wiem, kto decyduje o zatrudnianiu nietechnicznych osób na stanowiska analityków. Programiści? Widzę, że tak się dzieje osoba po studiach humanistycznych zostaje analitykiem i tworzy opisy tasków, których nie da się nawet nazwać analizą. To wprowadza chaos i nakłada dodatkową pracę na programistów.
Dlaczego zatrudnia się analityków bez podstawowej wiedzy technicznej? Jeśli ktoś nie rozumie architektury aplikacji, mikroserwisów ani podstaw działania systemów jak można z nim efektywnie współpracować?
Próbowałem poruszać ten temat w zespole, ale inni programiści nie widzą problemu. Przymilają się do tej analityczki, bo jest sympatyczną koleżanką i wychodzi na to że ja się czepiam, jestem rozczeniowy, a oni robią pracę za nią i im to nie przeszkadza.