3 sierpnia 2010

Podział na tych co robią i tych co wymagają

Bardzo dobrze jest, gdy osoba która określa w jaki sposób wykonać pewną pracę i osoba która tę pracę wykonuje, to są różne osoby. Bardzo dobrze dla jakości ostatecznego produktu, niezależnie od tego co tym produktem jest.

Człowiek ma tendencję do chodzenia na skróty. Nawet najambitniejsi z czasem zaczną zniżać swe loty, jeśli to oni sami będą decydowali o tym jak zrobić to co robią i jeśli nikt nie będzie kontrolował jakości ich pracy. Najłatwiejsza do pokonania ścieżka nigdy nie prowadzi na najwyższy szczyt.

Przekładając powyższe na język projektów IT - Analityk, który określi jak to co powstaje ma działać, Architekt, który zadecyduje jak to coś należy zaimplementować i Programista, który to implementować będzie to powinny być różne osoby. Tester, który przetestuje finalne rozwiązanie to w żadnym razie nie może być Programista, który to rozwiązanie implementował. Ważną rolą w procesie projektowym jest także Kierownik Projektu i także ta rola nie powinna być łączona z pozostałymi.

Idealnie jest, gdy każda z ról obsadzona jest przez inną osobę, ale jeśli to nie jest możliwe, to powinniśmy starać się co najmniej o to, aby nikt nie robił w dalszej fazie projektowej tego, co sobie sam w poprzedniej fazie zdefiniował. Najważniejsze jest więc, żeby nie byli tą samą osobą Analityk i Architekt, Architekt i Programista, Programista i Tester. Kierownik projektu nie powinien być w żadnym razie Architektem. Kierownikowi zależy przecież głównie na tym, żeby było szybko. Zadaniem architekta jest zadbać o to, żeby było dobrze. Te dwa cele często niestety kłócą się ze sobą. Patrząc długofalowo jest może nawet wprost przeciwnie, ale w rzeczywistości rzadko się tak niestety patrzy, a już na pewno nie patrzą tak kierownicy projektów, których głównym celem jest przecież wykonać dany projekt.