Kilogram oprogramowania proszę

Sam proces budowy oprogramowania jest zwykle realizowany w reżimie projektowym. Takie podejście gwarantuje m.in. przejrzystość podejmowanych działań i umożliwia skuteczne egzekwowanie wcześniejszych, obustronnych ustaleń.

Kto tu rządzi?

Co trzeba ustalić na początku:

- wymagania funkcjonalne,

- biznesowe aspekty współpracy i zasady komunikacji,

- warunki przekazania praw własności intelektualnej,

- kryteria odbioru i akceptacji aplikacji oraz zakres finalnej dokumentacji;

- zasady zarządzania zmianą;

Źródło - Ericpol Telecom

Skomunikowanie ze sobą przedstawicieli biznesu strony zamawiającej oraz architektów, projektantów i deweloperów po stronie firmy zajmującej się produkcją oprogramowania to nie lada wyzwanie. Najlepsza praktyka to powołanie kilkuosobowej grupy sterującej, złożonej z przedstawicieli obu zaangażowanych stron. Zbyt duży zespół uniemożliwi osiągnięcie jakiegokolwiek kompromisu. Najlepiej, aby w skład takiego zespołu weszli szefowie projektów - po stronie klienta i dostawcy - oraz przedstawiciele biznesu obu stron, którzy odpowiadają m.in. za uzgodnienia finansowe.

Regularne spotkania kilkuosobowego zespołu projektowego mają na celu m.in. nadzór nad postępami prac oraz zarządzanie zmianą i ryzykiem projektu. Wszystkie decyzje muszą być podejmowane i konsultowane przez grupę sterującą. Sytuacja, w której klient kontaktuje się bezpośrednio z poszczególnymi programistami nie może mieć miejsca. Wskazuje też, że najczęściej klienci jedynie deklarują swoje oczekiwania względem funkcji oprogramowania. Dwustronna współpraca może jednak sięgać dużo dalej.

Klient nasz pan

W zależności od oczekiwań i stopnia zaangażowania w projekt klient ma wpływ na każdy etap procesu tworzenia oprogramowania - od definicji funkcji, przez wybór technologii, po możliwość zaangażowania własnych deweloperów. W prace projektowo-programistyczne i tak często angażowani są pracownicy firmy zlecającej stworzenie oprogramowania. Takie podejście daje dostawcy m.in. dostęp do nieudokumentowanej i trudnej do zdobycia w inny sposób wiedzy na temat oczekiwań klienta odnośnie sposobu funkcjonowania aplikacji. Może również przekładać się na zmniejszenie kosztów i czasu prowadzenia szkoleń. Im bliższa współpraca, tym lepiej. Jednak to dostawca odpowiada za realizację projektu, więc pracownik klienta musi podporządkować się jego zasadom pracy.

Prace programistyczne to zazwyczaj najdłuższa, ale stosunkowo najprostsza część procesu. Najbardziej pracochłonne są zwykle testy oprogramowania, najczęściej prowadzone równolegle z pracami programistycznymi. Jednak sztywny podział na elementy procesu produkcji zamówionego systemu jest trudny do zdefiniowania, ponieważ wszystkie etapy projektu wzajemnie się zazębiają i uzupełniają. Organizacja prac deweloperskich to odrębna sprawa. Inżynierowie mają tendencję do implementacji tego co jest dla nich wygodne lub atrakcyjne technicznie, choć niekoniecznie uzasadnione wymaganiami klienta, a to wiąże się z dodatkowymi kosztami. Pojawia się więc kwestia stworzenia procesu, który pozwala kontrolować stopień powiązania budowanych funkcjonalności ze zdefiniowanymi wcześniej wymaganiami.


TOP 200