Programowanie to pasja! - Project Complete



Programowanie to pasja!

Marek Rafałowicz · 04/04/2006 · Link

Dlaczego programiści lubią swoją pracę? Co powoduje, że potrafią spędzić długie godziny przed komputerami? Jakie z tego wnioski płyną dla menadżerów? Druga część artykułu na temat motywowania programistów.

Start Dla programistów praca jest pasją. Dla wielu z nich do tego stopnia, że życie osobiste, sprawy rodzinne, a nawet zarabianie pieniędzy stają się sprawami drugorzędnymi. Widocznym objawem tego są wszelkie inicjatywy opensource, w których uczestniczą tysiące ludzi. W niewielu dziedzinach życia jest podobnie (czy zastanawialiście się, dlaczego nie ma opensource'owego ruchu prawniczego czy ekonomicznego i to mimo ogromnej popularności tych dziedzin sądząc po oblężeniu kierunku studiów?). Warto zrozumieć, dlaczego tak wielu ludzi pasjonuje tworzenie oprogramowania, by również w organizacjach komercyjnych stworzyć warunki pracy pozwalające tę pasję realizować.

Radość tworzenia

Programowanie jest pracą twórczą. Mając w rękach podstawowe elementy i narzędzia możliwe jest stworzenie czegoś zupełnie nowego, ograniczeniem jest tylko wyobraźnia. Satysfakcja z tworzenia jest dla większości ludzi ogromna. Jest to uczucie podobne do tego, które sprawiała zabawa klockami w dzieciństwie, z tą różnicą, że gotowym produktem informatycznym można pochwalić się przed znacznie większą grupą ludzi niż zabawkowym samochodzikiem. Radość jest jeszcze większa, jeżeli Menadżer ma w tym obszarze swoją rolę, bo to on decyduje o charakterze pracy w projekcie. To on, decyduje o ostatecznej formie produktu, o jego jakości, o użytych technologiach. On decyduje, jak wyglądają konkretne zadania i jaki jest ich podział pomiędzy osoby. To są narzędzia, które muszą zostać świadomie użyte, by podtrzymać naturalną satysfakcję z programowania.

Typowym niebezpieczeństwem w tym obszarze jest (świadoma lub nie) zgoda na obniżenie jakości produktu pod wpływem nacisków na jego szybkie zakończenie. Jeżeli nie uda się zapewnić dostatecznego czasu na dopracowanie produktu i w efekcie produkt przestaje być powodem do dumy, to większość programistów szybko straci dla niego serce.

Cele i wartość produktu dla innych

Uczestnictwo w projekcie jest jak podróż. Często ta podróż jest długa i wiedzie na tyle krętą drogą, że jej uczestnicy mogą stracić z oczu cel. Niezbędne jest zapewnienie, by tak się nie stało, by wszyscy członkowie zespołu wiedzieli, dokąd zmierzają i jaki jest ich wkład w ostateczny rezultat. Dopiero wtedy mają szansę poczuć się współautorami tworzonego dzieła.

Przy długich i skomplikowanych projektach wymaga to dodatkowego wysiłku. Podstawą powinien być dobrze napisany dokument opisujący wizję projektu, ale dokumenty ludzie rzadko czytają nieprzymuszeni. Wesprzeć się można spotkaniami i rozmowami, mailami, różnymi formami wizualizacji. Można wywiesić w dostępnym miejscu listę głównych celów lub schemat architektury pokazujący umiejscowienie poszczególnych modułów w kontekście całości. Dla zadań o mniej postrzegalnych rezultatach (testowaniu itp.) można skorzystać z wizualnej reprezentacji harmonogramu, pokazującej zależności pomiędzy zadaniami i ich rolę w całości przedsięwzięcia.

Podobnie ważne jak wyobrażenie kształtu docelowego rozwiązania, jest zrozumienie, jaką wartość dodaną wniesie zrealizowany projekt dla końcowych użytkowników. Jest to niezbędny czynnik stworzenia dobrego rozwiązania, ale dodatkowo jest to czynnik motywujący. Któż bowiem chciałby pracować, nie mając poczucia, że wynik jego pracy jest naprawdę potrzebny? Jeżeli projekt jest już częściowo wdrożony u klienta należy zapewnić, by programiści mieli sygnał zwrotny o jego losie - czy został zaakceptowany formalnie, jakie były wyniki testów, jakie są opinie użytkowników, jak produkt sprawdza się w organizacji klienta? Im lepsze wiadomości, tym większe zadowolenie wykonawców. Jeśli wieści są gorsze, to bez zapewnienia komunikacji zwrotnej nie będzie możliwe usprawnienie w przyszłości.

Działanie w zespole

Programiści są (zasadniczo) indywidualistami. Ale mimo to czasem udaje się przekształcić grupę ludzi w zespół, który ogniskuje się wokół wspólnego celu. Taki zespół to skarb. Jego zdolność działania jest znacznie większa, niż suma zdolności jego poszczególnych członków. Nie tylko mogą oni korzystać ze wzajemnego wsparcia ale również wzajemnie się moblizować do osiągania celów.

Reguł na stworzenie zespołu nie ma. Można tylko zadbać o stworzenie odpowiedniej atmosfery i wierzyć, że iskra pomiędzy ludźmi w pewnym momencie przeskoczy. Jest natomiast wiele metod na rozbicie zespołu:

Jeżeli w ramach projektu uda się stworzyć zgrany zespół, to warto zawalczyć, by po zakończeniu projektu nie został rozbity. Stanowi on zbyt dużą wartość, by ją stracić, nawet wtedy, gdy oznaczałoby to nieoptymalny przydział pracowników do dalszych prac.

Pozwolić rosnąć

Schody Programiści to ludzie, którzy lubią się uczyć. W przeciwnym razie nie byliby zapewne programistami. Rozwój intelektualny, podejmowanie nowych wyzwać, tworzenie coraz bardziej złożonych programów, nauka nowych języków i technik programowania to jest to, co może dać wiele satysfakcji. Zastój będzie powodował frustrację, szczególnie w dzisiejszej sytuacji gwałtownego rozwoju technologii, bo może powodować zmniejszanie wartości na rynku pracy. Dlatego zapewnienie rozwoju jest warunkiem koniecznym, by długoterminowo utrzymać zespół bez dużej rotacji pracowników.

Zapewnienie rozwoju swoim pracownikom, powinno być jednym z głównych celów dobrego menadżera. Narzędziami do jego osiągnięcia jest odpowiedni dobór zadań (takich, które będą poszerzały ich umiejętności, ale nie będą ich przerastały), wskazanie kierunków rozwoju, stworzenie w zespole atmosfery sprzyjającej kształceniu, organizowanie szkoleń i treningów.

Poczucie sukcesu

Smak sukcesu dodaje sił. Dlatego aby utrzymać dobre tempo w trakcie długodystansowego wysiłku, trzeba podtrzymywać wiarę w końcowy sukces. Trzeba mieć zdefiniowany cel, do którego się dąży, cel ten musi być osiągalny ale nie trywialny, bo tylko taki daje poczucie satysfakcji. Żeby zarazić zespół wiarą w sukces, lider musi przede wszystkim sam w niego wierzyć. Jeżeli jej nie ma, to jego ludzie też ją stracą.

Przy długich projektach potrzebne są mniejsze sukcesy "po drodze". Zakończenie w terminie poszczególnych etapów czy oddanie kolejnych wersji, które pozytywnie przechodzą testy mogą dobrze spełnić taką rolę (o ile spełniają wspomniane warunki: stanowią pewne wyzwanie, ale są osiągane). Takie zdarzenia w projekcie warto celebrować.

Dla części programistów podobną rolę mogą też pełnić wykonywane codziennie zestawy testów automatycznych. Wtedy bezpośredniu po zakończeniu każdego elementarnego zadania, co kilka dni, programista dostaje potwierdzenie, że wykonana została dobra robota.

Odpowiedzialność

Im większa odpowiedzialność danej osoby, tym większe jej zaangażowanie (rozważcie na przykład różnicę między osobami prowadzącymi własne firmy a pracownikami urzędów) . Z odpowiedzialnością wiążą się same pozytywne skojarzenia: zaufanie, niezależność, dojrzałość, docenienie. Zdecydowana większość osób przywiązuje się do obszaru, za który są odpowiedzialni i angażują się mocno, by w tym obszar jak najlepiej się wykazać - bo jest to poniekąd ich własna wizytówka. Odpowiedzialność jest fundamentalnym i zwykle najtrwalszym czynnikiem motywującym.

Cel

Na koniec zostawiam jedną wąpliwość - po co dbać o morale pracowników? Czy to zwiększa ich produktywność i przywiązanie do firmy? Znam wielu zdolnych ludzi, którzy przez wiele lat dzielnie działali w firmach, w których panowała bardzo niefajna atmosfera. Ludzie pracują w danym miejscu dla bardzo różnych powodów, niekoniecznie związanych z klimatem pracy - dla pieniędzy, z braku innych możliwości, obawy przed zmianą itp.

Mój postulat brzmi: jeśli my, kierownicy, chcemy mieć frajdę z pracy, to naszym celem powinno być tworzenie pozytywnej zmiany. Nie tylko przez dostarczanie satysfakcji klientom, ale również stworzenie wysokiej jakości miejsca pracy dla uczestników projektów. By spędzana przez nich w pracy co najmniej połowa życia była dobrze oceniana nie tylko przez pryzmat zarabianych pieniędzy.

Więcej na temat motywowania

The Human Factor - Gerard M Blair - zarządzanie zespołem dla inżynierów



Dodaj komentarz


Twoje imię:
Wymagane
Twój adres email:
Nie będzie wyświetlany; ochrona prywatności)
Strona internetowa:
Opcjonalnie
Wpisz odczytany tekst:
Aby utrudnić automatyczne wpisywanie spamu, proszę Cię o przepisanie słowa wyświetlanego na obrazku.
verification image