Role w zespole projektowym Michał Czernicki Andrzej Paczewski Gr. 522
Praca zespołowa Wielkość grupy – w zależności od prowadzonego projektu (rodzaju oprogramowania) Skład grupy – równowaga umiejętności (doświadczeń i osobowości) Spójność grupy – czy grupa traktowana jest jako zespół Komunikacja w grupie - ?? Organizacja grupy – samopoczucie zadowolenie i rola w grupie
Wybieranie personelu Doświadczenie w dziedzinie zastosowania Doświadczenie w pracy z platformą Doświadczenie w pracy z językiem programowania Zdobyte wykształcenie Zdolności komunikacyjne Zdolność do przystosowania się Nastawienie Osobowość
Struktury zespołu programistycznego Struktura sieciowa – każdy z jego członków komunikuje się i współpracuje z pozostałymi Struktura gwiaździsta – szef zespołu jest jedyną osobą ściśle współpracującą z pozostałymi osobami
Zalety i wady struktury sieciowej Dzięki ścisłej współpracy członkowie zespołu wzajemnie kontrolują swoją współpracę. Realizowana jest idea wspólnego programowania Praca poszczególnych osób jest dobrze znana innym członkom zespołu, stąd przejęcie obowiązków przez inną osobę nie nastręcza dużych kłopotów Struktura sieciowa nie może liczyć więcej niż 8 osób Osoby w zespole powinny posiadać podobne doświadczenie
Zalety i wady struktury gwiazdzistej Wymiana informacji pomiędzy osobami w zespole odbywa się za pośrednictwem koordynatora Szczególnie przydatna, jeżeli w skład zespołu wchodzi wielu niedoświadczonych pracowników Wielkość zespołu największe znaczenie ma czynnik ludzki. Największy problem pojawia się w chwili odejścia koordynatora zespołu
Czynniki psychologiczne Osobowość ludzka ma charakter dynamiczny Różne zadania wymagają innych cech osobowości Cechy dobrego inżyniera oprogramowania: Umiejętność pracy w stresie Zdolności adaptacyjne
Role w grupie projektowej I Kierownik programu przedsięwzięcia Analityk – osoba bezpośrednio kontaktująca się z klientem w celu określenia wymagań i budowy modelu systemu Projektant – osoba odpowiedzialna za realizację oprogramowania, w zależności od zakresu prac można wyróżnić dwie funkcje: Projektant interfejsu użytkownika – osoba odpowiedzialna za zaprojektowanie zgodnego ze standardami interfejsu użytkownika Projektant baz danych – osoba odpowiedzialna za zaprojektowanie i dostrojenie baz danych. Programista – osoba implementująca oprogramowanie
Role w grupie projektowej II Osoba wykonująca testy Osoba odpowiedzialna za konserwację oprogramowania Ekspert metodyczny – osoba o szczególnie dobrej znajomości stosowanej metodyki Ekspert techniczny – osoba dobrze znająca obsługę narzędzi
Opis Ról
Extreme Programming (XP) Programowanie ekstremalne opracowanie zostało z myślą o ułatwieniu właściwej organizacji pracy niewielkich zespołów zajmujących się projektami informatycznymi. Podstawowe elementy XP: Oddzielenie decyzji związanych z potrzebami odbiorcy od decyzji podejmowanych podczas programowania. Przygotowanie przed programowaniem testów dla poszczególnych modułów programu i stałe ich uruchamianie. Integracja modułów i testowanie kilka razy dziennie. Praca parami - dwóch programistów przy komputerze. Rozpoczynanie od prostego projektu i rozwijanie go przez nadawanie mu większej elastyczności i eliminowanie jego złożoności. Możliwie szybka implementacja podstawowego systemu i rozwijanie go w pożądanych kierunkach.
MSF – Microsoft Solution Framework Team Model Role Clusters www.microsoft.com/msf
Literatura Ian Sommerville „ Inżynieria oprogramowania” WNT Andrzej Jaszkiewicz „ Inżynieria oprogramowania” Helion Internet: www.microsoft.com/MSF