niedziela, 7 sierpnia 2011

Marsz ku klęsce, Edward Yourdon

"Co więcej, taki codziennie budowany system trzeba zautomatyzować i zostawić, aby pracował nienadzorowany w środku nocy, kiedy już wszyscy programiści poszli do domu (albo wskoczyli do śpiworów i śpią pod biurkami)".

Książka, mimo niewielkich rozmiarów i swobodnego, nasyconego humorem tonu, jest dość ciężkostrawna. Autor obiecywał zwięzłość, a większość spostrzeżeń powtarzana jest wielokrotnie. Przechodząc przez kolejne zagadnienia, miałam wrażenie, że właściwie niczego się nie dowiaduję. Opisane sytuacje i problemy rzeczywiście występują w przyrodzie. Przeczytałam jak sklasyfikować projekty; graczy politycznych związanych z projektami; członków zespołu pod względem ról psychologicznych. W tym miejscu, podążając za radą samego autora, pozostaje spytać: "Co z tego?". Jak mogę wykorzystać tę wiedzę? Na te pytania jednak nie dostaję już odpowiedzi.

Z drugiej strony książka przedstawia zagadnienia, którym warto poświęcić kilka chwil podczas czytania. Porównać z własnymi doświadczeniami i wnioskami. Uśmiechnąć się od czasu do czasu.

1. Dlaczego projekty wkraczają na drogę ku klęsce?
- Aby zdobyć kontrakt przyjmowany jest nierealny budżet i nierealny harmonogram. Obiecuje się nierealną ilość funkcjonalności.
- Kierownictwo wierzy, że projekt można wykonać o 10% szybciej/taniej, jeżeli tylko dość mocno się tego chce.
- Niedoszacowanie pracochłonności, z uwagi na naiwny optymizm młodości ("Zrobimy to w weekend!") i mentalność komandosów ("Prawdziwi programiści nie muszą spać!")
- Próby wykorzystania najnowszej, niesprawdzonej i nieobeznanej technologii jako "magicznej różdżki", która pozwoli zrealizować projekt znacznie szybciej i taniej.
- Wiara w liniową zależność zasobów od czasu. (Problem jest szerzej opisany w książce "Mityczny osobomiesiąc" i streszczony przez prawo Brooksa: "Dodawanie ludzi do opóźnionego projektu opóźnia go jeszcze bardziej".)
- Nadmierna formalizacja procesu. Programista, który pisze wielostronicowy raport, nie programuje.
- Polityka.

Lub też, cytując jedną z pierwszych stron: "Projekty bywają marszami ku klęsce, ponieważ kierownictwo to obłudne sukinsyny, a użytkownicy są naiwni i nie myślą realnie". ;)

2. Należy zidentyfikować głównych graczy politycznych. Najlepiej, by cały zespół wiedział, kim są. Właściciel, mistrzowie, użytkownicy, pośrednicy, interesariusze. Kto ma być szczęśliwy podczas trwania projektu. Kto będzie próbował go sabotować. Do kogo się zwrócić w razie problemów.

3. Projekty dzielimy na cztery rodzaje:
- "Mission impossible" - wysokie szanse na sukces, wysokie zadowolenie zespołu. "Kierownik projektu to przystojny hollywoodzki bohater, hakerzy są genialni i Bóg jest po stronie zespołu. Członkowie zespołu są fanatycznie lojalni wobec siebie."
- "Brzydkie projekty" - wysokie szanse, niskie zadowolenie. "To projekty, w których członkowie zespołu są barankami ofiarnymi, które kierownik projektu zarżnie z zimną krwią, żeby doprowadzić projekt do udanego zakończenia."
- "Projekty samobójcze" - niskie szanse, niskie zadowolenie. "Wszyscy są skazani na zgubę i wszystko jest żałosne".
- "Kamikadze" - niskie szanse, wysokie zadowolenie.

4. Należy określić stopień zaangażowania członków zespołu. Może się zdarzyć, że niektórzy będą mieli rodziny, albo nawet hobby.

"Zaangażowanie zależy także w znacznej mierze od tego, czy kierownik projektu potrafi wzbudzić w pracownikach uczucie lojalności i zaangażowania. Jest to w pewnym stopniu sprawą jego charyzmy. Bywają kierownicy, którzy umieją stworzyć taką atmosferę, że reszta zespołu, nie bacząc na związane z projektem ryzyko, pójdzie za nimi na koniec świata. Inni kierownicy nie skłonią zespołu do żadnego dodatkowego wysiłku, nawet gdyby chodziło o uratowanie ludzkości przed inwazją kosmitów".

"Niezależnie jednak od typu osobowości, nikomu nie zaszkodzi praca po 10 godzin dziennie. Kiedy już projekt wystartuje, można spodziewać się po wszystkich 60 godzin pracy tygodniowo. Jeżeli tego nie robią, sprawdź, czy coś w organizacji projektu nie powoduje frustracji."

"Kierownik projektu powinien poświęcić projektowi maksimum swego czasu. Po pierwsze, musi służyć przykładem. Nie może oczekiwać, by członkowie zespołu pracowali w dodatkowych godzinach, jeśli sam tego nie robi. Po drugie, musi być na miejscu, żeby odpowiadać na pytania, stawić czoła biurokracji, pokonywać trudności, które pojawią się w tych oddatkowych godzinach."

Wszystko jednak z umiarem. Kogoś, kto pracuje więcej niż 80-90 godzin tygodniowo, kierownik powinien stanowczo odesłać do domu na odpoczynek.

5. Motywacja. "Pieniądze, korzyści, wygoda i tak dalej, to czynniki 'higieny'. Ich brak wywołuje niezadowolenie. Nie są one jednak źródłem zadowolenia z pracy ani też źródłem potrzebnego ludziom wewnętrznego napędu. O napędzie decydują takie sprawy, jak poczucie osiągnięcia czegoś, duma z wykonania dobrej roboty, zwiększona odpowiedzialność, awans i rozwój osobisty. Tajemnica polega na wzbogacaniu pracy".

Ładna premia na zakończenie projektu ("Za 10 000 dolarów nagrody można kupić nowy samochód lub spędzić urlop na Bali".) jest zawsze mile widziana. Choć trzeba pamiętać, że perspektywa dużych sum różnie wpływa na ludzi ("George miał czelność zwolnić się w Wigilię po to tylko, żeby być z tąswoją beznadziejną rodzinką. A to przecież najgorętszy okres prób. Przez niego premia przejdzie nam koło nosa").

Nie ma liniowej zależności między wielkością premii a wydajnością. Dyrekcje niektórych firm oferowały pracownikom podwójną premię wierząc, że skłoni to ich do podwojenia liczy godzin pracy. Jeśli jednak ktoś pracuje po 18 godzin na dobę, to już z arytmetyki wynika, że nawet przy największym poświęceniu nie będzie mógł pracować dwa razy dłużej.

Premia musi być wiarygodna. Zespół musi w nią wierzyć. Ludzie muszą być przekonani, że dyrekcja nie wymiga się od jej wypłacenia w jakiś pokrętny sposób.

6. "Wpierw rób, a potem przepraszaj". Prośby o zwolnienie z różnych biurokratycznych przepisów, które utrudniają pracę przy projekcie, mogą być stratą czasu. Warto spróbować, jak nie wyjdzie - nie trać więcej czasu, po prostu to zrób. Gdy doczekasz się telefonu z awanturą, przygotuj sobie odpowiedź w rodzaju: "Tak, Wielki Szefie, postanowiliśmy zrezygnować z oficjalnej metody firmy, gdyż gwarantowała klęskę. Jeśli ma pan do nas pretensje, to mogę wraz z zespołem odejść już dzisiaj. Jeśli nie, proszę dać nam spokój i powiedzieć zespołowi kontrolnemu, żeby też dał nam spokój. Mamy robotę".

7. "Członkowie zespołu natomiast są jak rodzina. Kierownik powinien nie tylko traktować ich w sposób uczciwy i profesjonalny, lecz także czuć się za nich odpowiedzialny."

"W każdym razie walka z firmową biurokracją należu do kierownika. Nie chcielibyśmy, by fachowcy tracili czas i energię na utarczki z księgowością. By wdawali się w dyskusje, czy dopuszczalne było zamówienie pizzy z dodatkami dla ludzi pracujących do późnego wieczora, czy też wystarczyłaby zwykła pizza".

8. Kierownik powinien mieć wolną rękę przy doborze zespołu.

"Można izolować członka zespołu, którego narzucono wbrew woli kierownika. Daje się temu człowiekowi jakiś nieszkodliwy podprojekt do wykonania lub wysyła, by, do czasu zakończenia projektu, badał obyczaje godowe afrykańskich muszek tse-tse".

"Często przy końcu projektów będących na drodze do klęski sytuacja staje się rozpaczliwa. Dyrekcja szafuje forsą. 'Chcesz jeszcze 20 osób?'. Zawsze chcę. Posyłam ich do obsługi ekspresu do kawy, wymiany bezpieczników i różnych innych tegotypu rzeczy. W tym czasie zajmuję się ważniejszymi sprawawmi".

9. Tworzenie zespołu. Grupa ludzi to jeszcze nie zespół. A już na pewno nie zgrany, dobrze współpracujący zespół. Nie wystarczy "wziąć sześciopaku programistów i wrzucić ich do projektu".

Oprócz ról technicznych, należy uwzględnić role psychologiczne: przewodniczący, kształtujący, agent, kontroler, wyrobnik, pracujący w zespole, badacz zasobów, kompletujący.

10. Warunki pracy. "Wyłączcie telefony. Jeżeli możecie, opanujcie całe piętro lub nawet budynek. Wywieście piracką flagę na szczycie budynku. Ustawcie strażnika, który będzie strzelał do niepożądanych gości".

11. Triage. Czyli priorytety. Podziel zadania na "zrobić koniecznie", "powinno się zrobić" i "ewentualnie zrobić". Podziel porządnie, realizuj w tej kolejności. Kluczowe dla sukcesu.

12. Projekt na drodze do śmierci to nie poligon doświadczalnych dla nowych, narzuconych z góry procesów i narzędzi.

"Okazało się, że praca przy projekcie idzie znacznie wolniej. Wszyscy czytali instrukcje, uczyli się programów narzędziowych oraz zastanawiali, co zrobić dalej (i robili ponownie to, co już wcześniej zrobili w "złej" kolejności)".

13. Zarządzaj ryzykiem. Wywołaj wszystkie wilki, ustaw je w rządku i codziennie się im przyglądaj. Ryzyko może być też pozytywne. Wykorzystaj szanse, które się pojawiają.

14. Zbieraj i dokumentuj doświadczenia i najlepsze praktyki na bieżąco. Przyda się na przyszłość.

"Co gorsza, w projektach zmierzających do klęski panuje duża śmiertelność. Ludzie, którzy mogliby najwięcej doradzić przy następnym projekcie, odeszli, zostali wyrzuceni, popełnili samobójstwo, mieli załamanie nerwowe lub otoczyli się skorupą cynizmu".

15. "Wiedz, że coś się dzieje", czyli sygnały, na które warto zwrócić uwagę:
- "Im więcej rysunków z Dilbertem pojawia się na drzwiach i tablicach ogłoszeń, tym gorzej z projektem".
- "Nadmiar wisielczego humoru. Jeśli członkowie zespołu zaczynają przychodzić do pracy w czarnych koszulach lub nadawać muzykę pogrzebową przez głośniki, to mamy kłopoty".

Brak komentarzy:

Prześlij komentarz