240 likes | 528 Views
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
E N D
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 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 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)