Role w zespole programistycznym Autorzy Robert Truszkiewicz Marek
Role w zespole programistycznym Autorzy: Robert Truszkiewicz Marek Nowicki
Plan prezentacji § Po co przypisywane są role w zespole? § Jakie są role w zespole? § Podział funkcji w zespole § Organizacja ról w zespole. § Struktura zespołu
Po co przypisywane są role? • • Usprawnienie pracy zespołu Nie każdy musi zajmować się wszystkim Przyspieszenie pracy. I inne
Jakie są role w zespole? § § § § Sponsor Użytkownik Kierownik programu, przedsięwzięcia Analityk Projektant Programista Tester Konserwator
Sponsor jest osobą odpowiadająca przed firmą za inwestycję reprezentowaną przez dane przedsięwzięcie oraz za osiągnięcie celów biznesowych tego przedsięwzięcia. Najważniejsze zadania: -Inicjacja przedsiewziecia oraz wyznaczenie kierownika -Nadzór prac z biznesowego p-ktu widzenia -definiowanie celów przedsięwzięcia i jego priorytetów w kategoriach "trzech ograniczeń": czasu, kosztu i jakości/wydajności -Odpowiada za powodzenie przedsięwzięcia
Użytkownik Jest to osoba która będzie korzystała z systemu w codziennej pracy Zadania użytkownika: -Definiowanie twórcom wymagań dotyczących systemu -Współpraca przy pwrowadzaniu systemu -Prowadzenie lub uczestnictwo w testach dopuszczających systemu
Kierownik przedsięwzięcia jest wyznaczany przez sponsora i jest odpodzielany za codzienne zarządzanie przedsięwzięciem oraz za osiągnięcie cełow przedsięwzięcia. Zadania kierownika: - informowanie sponsora i zarządu o postępach oraz zgłaszanie im problemów - działanie jako główny punkt kontaktowy pomiędzy sponsorem, zarządem i uczestnikami przedsięwzięcia
Kierownik – cd. - opracowuje propozycję dotyczącą sposobu prowadzenia przedsięwzięcia - wykonuje kosztorys przedsięwzięcia - planuje i określa harmonogram przedsięwzięcia - kontroluje i czuwa nad właściwą realizacją projektu - dobiera pracowników i przydziela im role w zespole zgodnie z predyspozycjami personalnymi - opracowuje i prezentuje sprawozdania z przebiegu prac nad projektem
Główny Analityk § Jest to starszy i doświadczony analityk biznesowy lub systemowy, który będzie pod kierunkiem kierownika przedsięwzięcia, prowadził prace analityczne. § doradza kierownikowi przedsięwzięcia oraz zespołowi analizującemu w zakresie metod i technik analitycznych
Główny projektant § główny projektant pracuje pod kierunkiem kierownika przedsięwzięcia i ma za zadanie sterować pracą zespołu projektowego, a często także programistami § Doradza członkom zespołu realizującego dane przedsięwzięcie. § Powinien mieć duże doświadczenie w zakresie stosowanej technologii.
Zarządzający ryzykiem § zarządzajacy ryzykiem będzie sterował procesem identyfikacji, klasyfikacji i pomiaru tego ryzyka oraz poszkiwał ludzi realizujących działania zmniejszające ryzyko.
Zarządzający jakością § Działa pod kierunkiem kierownika § Przygotowywuje plan jakości § Opracowywuje prcedury sprawdzania jakości § Służy radą dla w zakresie problemów związanych z jakością
Administrator Bazy Danych § Jest to główny opiekun bazy danych § tworzy i egzekwuje standardy w wykorzystaniu produktów bazy danych, nazywaniu i umieszczaniu danych
Bibliotekarz konfiguracji § Jest to osoba która zachowuje wszystkie źródła, konfiguracje, zestawienia. § Ktoś kto musi odpowiedać za działanie procedur kontroli konfiguracji, a w dużych przedsięwzięciach jest to praca w pełnym wymiarze godzin
Szef zespołu § Osoba kontrolująca i kierująca pracą małej grupy np. programistów § Planuje i kieruje pracami tych grup § Sprawdzają pracę poszczególnych członków zespołu.
Biuro przedsięwzięcia § Biruo przedsięwzięcia zapewnia pomoc administracyjną kierownikowi przedsięwzięcia. Obejmuje to takie działania, jak zbieranie i rejestrowanie kart pracy, organizacja spotkań i przekazywanie informacji. Często spotyka się biura obsługujące kilka różnych przedsięwzięć.
Inne role w zespole § Programista – osoba implementująca oprogramowanie § Tester – człowiek, lub grupa ludzi zajmująca się testowaniem oprogramowania, przed wdrążeniem go. § Konserwator – osoba konserwująca system.
Podział funkcji w zespole § W dużych zespołach programistycznych jedna osoba pełni jedną z wymienionych wyżej funkcji § W małych zespołach możliwy jest inny podział funkcji: analityk / projektant i programista – układ ten pozwala na niższy poziom zaawansowania programisty analityk i projektant / programista – układ wymaga znacznego zaawansowania osób pełniących rolę projektanta / programisty
Organizacja ról. § Może zależeć od kilku czynników, takich jak typ przedsięwzięcia, od tego czy praca jest wykonywana u użytkownika, czy na zlecenie, oraz od kultury samej instytucji § W najprostszym przypoadku sponsor wyznacza kierownika przedsięwzięcia i te dwie osoby, plus użytkownik, podejmują ważne decyzje dotyczące przedsięwzięcia. Zwykle jednak sytuacja jest bardziej złożona, podziały mniej wyraźne, można więc spotkać inne organy, takie jak komitet sterujący i grupy użytkowników
Komitet Sterujący § organ powołany do kontroli realizacji określonego przedsięwzięcia § Komitet sterujący jest dobrym pomysłem, zakładającym, że albo cały komitet, albo jeden z jego członków ma uprawnienia do podejmowania decyzji dotyczących danego przedsięwzięcia. § Niestey nie zawsze tak jest i czasem spotyka się komitety sterujące, w których brakuje jednego podstawowego członka: sponsora przedsięwzięcia.
Grupa użytkowników § Spotykają się, dyskutują i uzgadniają rozbieżne wymagania § decyzje mniej ważne - na przykład dotyczące wyglądu proponowanego raportu - mogą być podejmowane przez grupę użytkowników
Struktura zespołu programistycznego Istnieją dwa typy struktury zespołu programistycznego: § Sieciowa – każdy z członków zespołu komunikuje się i współpracuje z pozostałymi § Gwiaździsta – szef zespołu jest jedyną osobą ściśle współpracującą z pozostałymi osobami
Struktura sieciowa § Wzajemna kontrola postępów pracy – szybko § § § wykrywane są odstępstwa od przyjętych standardów jakości Realizacja idei wspólnego programowania Każdy zna zakres obowiązków swoich współpracowników, co umożliwia łatwe przejęcie obowiązków osoby odchodzącej z zespołu Struktura sieciowa sprawdza się najlepiej w niewielkich zespołach ( do 8 osób), w których każdy z współpracowników prezentuje podobny poziom zaawansowania i doświadczenia w pracy programistycznej
Struktura gwiaździsta § Szef zespołu przydziela obowiązki poszczególnym § § osobom i kontroluje efekty ich pracy Wymiana informacji między poszczególnymi osobami odbywa się za pośrednictwem kierownika zespołu Struktura umożliwia współpracę osób o różnym stopniu zaawansowania (doświadczeni i początkujący programiści) Wielkość zespołu jest większa niż w przypadku struktury sieciowej Słabością struktury są poważne problemy w przypadku odejście szefa z zespołu (tylko szef zna całość pracy zespołu)
- Slides: 24