komunikacja-w-zespole-projektowym

Front-end Developer kontra reszta świata, czyli komunikacja w zespole projektowym

Chociaż wciąż obecny jest mit programisty introwertyka kodującego po nocach w piwnicy (sic!), to jednak praca ta wymaga komunikacji z zespołem. Jeżeli do tej pory wydawało Ci się, że jako programistka zaszyjesz się ze słuchawkami za ekranem dwóch czy trzech monitorów i będziesz mieć święty spokój, to byłaś w błędzie. Praca programisty stanowi element większego procesu i oparta jest na współpracy z różnymi specjalistami. I właśnie dzisiaj przybliżę Wam z kim i jak o tę współpracę zadbać. 🙂

Z kim pracuje Front-end Developer?

Grafik

Jeżeli nie jesteś odpowiedzialna za proces projektowania wyglądu strony/aplikacji, to prawdopodobnie zanim rozpoczniesz pracę, otrzymasz komplet materiałów od zespołu graficznego. Zazwyczaj są to kolejne ekrany przygotowane w programie graficznym takim jak Adobe Photoshop, zestaw  niestandardowych fontów czy paczka z niezbędnymi ikonami. Mogłoby się wydawać, że nie ma tutaj pola do konfliktów. Jednak najczęstsze źródło problemów, które powstaje na linii programista-grafik to niezrozumienie wzajemnej pracy. Graficy to zwykle dusze artystyczne, które wyżywają się kreatywnie w projektach. Natomiast programiści nie lubią udziwnień i preferują proste rozwiązania. Niedopasowanie strony do grida (layoutu z podziałem na kolumny), nieuwzględnienie RWD (dostosowania wyglądu do urządzeń mobilnych) czy niezaprojektowanie interaktywnych elementów (np. efektu hover – najechania na przycisk) to tylko nieliczne przyczyny frustracji front-endowca, gdy pracuje z grafikiem.

 

Back-end Developer

Zwykle praca nad projektem to połączenie sił front-end’owca i back-end’owca. Front-end Developer dba o wygląd strony czy aplikacji, natomiast Back-end Developer spina wszystko po stronie serwerów i baz danych. Pracując jako Front-endowiec, nie unikniesz tego modelu współpracy (chyba że jesteś Full-stackiem ;)). Dla back-end’owca ważne jest przede wszystkim sprawne poruszanie się po kodzie, który mu dostarczysz – jasne, logiczne nazywanie klas, przejrzyste komentarze czy dokładne rejestrowanie zmian w repozytorium.

Project Manager

Project Manager (PM), czyli Kierownik Projektu to osoba, która jest w pełni odpowiedzialna za sukces lub porażkę projektu. Do jego głównych obowiązków należy przydzielenie zadań osobom w zespole, ustalenie harmonogramu prac, podejmowanie kluczowych decyzji dotyczących rozwoju danego produktu czy rozwiązywanie sporów. Jest to rola niedoceniana i często wyśmiewana przez programistów. Dlaczego? Głównym tego powodem jest zwykle nieracjonalne podejście PM’ów do projektów. Bardzo często zakładają nierealne terminy „na wczoraj”, obiecują gruszki na wierzbie klientom, a ich wsparcie sprowadza się do sforwardowania maila (nie bez przyczyny PM = Prześlę Maila :D). Większa liczba konfliktów powstaje w przypadku PM’ów nietechnicznych, których największym problemem jest niezrozumienie podstawowych pojęć programistycznych.

Tester

Kiedy zakończysz pracę nad projektem albo jego częścią, trafia on w ręce testera. Jego zadaniem jest weryfikacja poprawnego działania strony czy aplikacji zgodnie z dostarczoną dokumentacją. Jak mogą powstawać konflikty w tym modelu współpracy? Głównie z powodów komunikacyjnych. Chociażby wtedy, kiedy tester twierdzi, że na przykład jakiś przycisk nie działa, a nie został powiadomiony o zmianach w projekcie, które Ty otrzymałaś od PM’a.

Jak osiągnąć porozumienie w zespole projektowym?

Jak łatwo wywnioskować z powyższych charakterystyk kluczowych ról w zespole projektowym, głównym problemem nieporozumień jest słaba komunikacja lub wręcz jej brak. To właśnie o nią powinniśmy dbać od początku do końca projektu oraz niezależenie od osób, z którymi dane jest nam współpracować. Oto 3 wskazówki, które warto wdrożyć w swoim zespole jeszcze dziś.

1. Zaufaj drugiej stronie

Każdy członek zespołu chce wykonać swoją pracę jak najlepiej, na bazie swojej wiedzy i doświadczenia. Chociaż nie powinniśmy podważać cudzych umiejętności, jeżeli sami nie jesteśmy ekspertami w danej dziedzinie, to warto porozmawiać o tym, co nas niepokoi. Przykładowo programista powinien otrzymać dużo wcześniej materiały od grafika do zaopiniowania i odesłać z uwagami – co możemy zaimplementować, a co na pewno będzie nieużyteczne. Każde niestandardowe rozwiązanie, które PM chce zaoferować klientowi, również powinno być konsultowane na bieżąco z programistą. Pamiętajmy, że ostatecznie wszyscy gramy do tej samej bramki, a naszym celem jest pełne zadowolenie klienta z jakości naszego produktu.

2. Zadbaj o odpowiednią komunikację

To zasada, która powinna być przestrzegana nie tylko na polu zawodowym, ale także w życiu prywatnym. Zawsze powtarzam, że w szkołach powinien być wprowadzony odrębny przedmiot z komunikacji, ponieważ tak wiele konfliktów, kłótni i nieporozumień powstaje z braku podstawowych umiejętności komunikacyjnych. I tak, krytykując dane rozwiązanie czy funkcjonalność, korzystajmy z form bezosobowych i oddzielajmy osoby od problemów. Starajmy się dopasować do naszego rozmówcy i tłumaczyć niezrozumiałe pojęcia i skróty, a najlepiej ustalmy jednolite określenia, z których korzystamy.

3. Nie tłum frustracji, a konflikty rozwiązuj na bieżąco

Nie czekajmy z wylaniem swoich frustracji na koniec projektu. Im więcej negatywnych emocji będziemy gromadzić na etapie tworzenia strony czy aplikacji, tym więcej czasu zabierze nam sama praca. Jeżeli nie będziemy rozwiązywać nieporozumień na bieżąco, skończymy z długą listą skarg i zażaleń na mailu. Pamiętajmy, że tak jak wszyscy członkowie zespołu, jesteśmy odpowiedzialni za powodzenie projektu, tak samo wszyscy przyczyniamy się do jego porażki. Dlatego nie traćmy czasu na wewnętrzne potyczki i przepychanki słowne, a konflikty rozwiązujmy na bieżąco.

Podsumowując, jako Front-end Developer będziesz współpracować z wieloma osobami o różnym poziomie umiejętności komunikacyjnych. Pamiętaj zatem, żeby już na samym początku pracy zadbać o jasną i otwartą komunikację. Nie skupiaj się wyłącznie na swoich zadaniach, jeżeli widzisz pole do zasugerowania racjonalnych zmian, które przyspieszą cały proces wytwarzania produktu czy aplikacji. W przypadku nieporozumień, wyjaśniaj od razu kluczowe pojęcia i pomagaj innym zrozumieć Twój sposób pracy. Dzięki takiemu nastawieniu praca w zespole projektowym nie powinna być Ci już straszna! 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.