Zarządzać życiem aplikacji

Warto również pamiętać o tym, że tworzona aplikacja ma odpowiadać potrzebom klientów - tym jasno określonym w projekcie, ale często także tym nienazwanym, wynikającym ze specyfiki biznesu. Odpowiednio zdefiniowane wymagania są podstawą prac na wszystkich kolejnych etapach, w tym również fazy testów. "Testowanie musi opierać się na wymaganiach. Tylko wtedy możemy uzyskać odpowiedź na pytanie czy i w jaki sposób przetestowaliśmy oprogramowanie pod kątem spełnienia każdego z wymagań" - uważa Maciej Mroczek. Jego zdaniem istotne jest również zdefiniowanie i przetestowanie pozafunkcjonalnych wymagań - m.in. wydajności i skalowalności oprogramowania. "Tego typu wymagania są rzadko formułowane wprost, ale brak ich spełnienia nie będzie mile widziany" - dodaje. W przypadku rozbudowanych systemów istotne jest też wprowadzenie metodyk oraz narzędzi zarządzania wydaniami i dokumentacją zmian. To jednak często wymaga zmiany mentalności zespołu programistycznego. Często próby narzucania bardziej restrykcyjnych zasad pracy spotykają się ze sprzeciwem ze strony programistów. W tym miejscu szczególnie przydatne są menedżerskie umiejętności kierownika zespołu.

Odpowiedni ludzie na odpowiednich miejscach

Sprawne zarządzanie projektem rozwoju oprogramowania i całym cyklem życia aplikacji wymaga zarówno wiedzy technicznej, jak i kompetencji menedżerskich. W praktyce umiejętności organizacyjno-ludzkie są istotniejsze od zaawansowanej wiedzy technicznej. Tymczasem w wielu firmach w zasadzie za normalną uznaje się praktykę "awansowania" na szefów projektów IT najlepszych i najbardziej doświadczonych programistów (więcej w artykule "Bez trzymanki" przedstawiającego antywzorce zarządzania działem i personelem informatycznym w Computerworld 16-17/2009). Taka nominacja zwykle nie pociąga za sobą żadnej wartości dodanej dla organizacji. Często stanowi również obciążenie dla pracownika - specjalisty z jednej dziedziny, od którego z dnia na dzień oczekuje się umiejętności z innej popartych zmianą nastawienia do dotychczasowych współpracowników.

"Ten błąd popełnia się bardzo często. Mogę to śmiało potwierdzić, gdyż sam dokładnie taką drogę przeszedłem. Z perspektywy czasu z przerażeniem myślę jak mało wiedziałem o biznesowej stronie prowadzenia projektów" - podkreśla Marek Kucharski. Według niego, w takich przypadkach predyspozycje personalne są ignorowane. Brakuje również możliwości rozwoju umiejętności zarządczych. Poza tym z normalnych prac programistycznych wykluczony jest jeden z ważniejszych członków zespołu. Z drugiej jednak strony kierownik projektu programistycznego musi rozumieć jego specyfikę i dysponować wspólnym językiem zarówno z klientem, jak i zespołem programistów. "Dobry manager projektu programistycznego musi posiadać wiedzę techniczną. Nie może być jednak dobrym szefem bez doświadczenia w zarządzaniu" - mówi Marek Kucharski.

Do typowych błędów organizacyjnych należy zaliczyć również słabą dyscyplinę pracy, niechluje testowanie i nadmiar zadań komunikacyjno-administracyjnych, zwłaszcza we wstępnych fazach projektu. "Największym grzechem jest arogancja pojawiająca się na różnych poziomach całego procesu" - twierdzi prezes Parasoft.


TOP 200