DevCezz

Programistyczny blog dla Ciebie

scrum-team
Praca Projekt

Role w Scrum team

Nawiązując do wcześniejszego artykułu o Scrum chciałbym rozszerzyć go o opis zespołu. Z jakich ról składa się Scrum Team? Jakie jest działanie takiego zespołu? Zapraszam do artykułu.

Zakłada się, że w Scrumie zespoły powinny być niezależne od siebie oraz wielofunkcyjne. Na ich pracę nie powinna wpływać żadna osoba spoza zespołu. Sami muszą decydować o tym w jaki sposób wykonywać swoją pracę. Na wielofunkcyjność składa się fakt, że to członkowie zespołu powinni posiadać wszelkie kompetencje niezbędne do wytwarzania nowych funkcjonalności produktu. Nie mogą uzależnić się od innych osób, które nie znajdują się w zespole. Zespół w Scrum został zamodelowany właśnie w taki sposób, aby zoptymalizować takie cechy jak kreatywność, produktywność oraz elastyczność. Osobiście spotkałem się dokładnie z 5 rolami, które chciałbym teraz w skrócie przedstawić:

Product Owner

Product Owner jest przedstawicielem klienta. Powinien mieć poukładaną w głowie całą wizję projektu. To on zgłasza wszystkie historyjki, które mają zostać wykonane przez zespół. Ustala kolejność wykonywania zadań zgodnie z priorytetem ich ważności dla projektu (w tym także zgłoszone błędy). Jest to pierwsza osoba do kontaktu w sytuacji, gdy mamy jakiekolwiek pytania o daną funkcjonalność produktu. Product Owner wiele propozycji i spraw konsultuje z zespołem, ale to do niego powinno należeć ostatnie słowo (w końcu to klient 😬).

Scrum Master

Scrum Master odpowiada za prowadzenie ceremonii zachodzących w zespole. Moderuje daily, aby niepotrzebnie się nie przedłużało i pilnuje, aby omówić na nim tylko istotne sprawy. W przypadku sytuacji, gdy w dyskusję wdarły się tylko dwie zainteresowane strony, a reszta zespołu biernie się przygląda to przerywa on taką rozmowę i prosi, aby dokończyć ją później na osobności. Przeprowadza on retrospektywę, analizuje zgłaszane na niej problemy oraz rozwiązania i przekazuje je “do góry”, czyli do szefa albo zarządu. Chroni też zespół przed czynnikami zewnętrznymi, aby nikt ich nie rozpraszał w trakcie pracy. Udoskonala istniejące procesy oraz motywuje zespół do działania.

Deweloper

Deweloper, czyli osoba odpowiedzialna za wytwarzanie oprogramowania. Pracuje z kodem źródłowym programu. W Scrumie dąży się do tego, aby każdy z deweloperów był w stanie przejąć zadania nieobecnego kolegi w dowolnym momencie trwania sprintu. Musi posiadać on swoją specjalizację, ale w razie czego powinien też mieć podstawową wiedzę z innych dziedzin jak chociażby z baz danych, webserwisów czy frontendu. W razie zgłoszeń błędów oprogramowania, będącego na produkcji, zajmuje się ich diagnozą i naprawą.

Analityk

W moim zespole analityk jest osobą odpowiedzialną za pracę z Product Backlogiem. Najczęściej wraz z Product Ownerem weryfikuje historyjki pod kątem wymagań. Jest też łącznikiem między programistami a klientem. To z nim ustala się dokładnie co jest w zakresie danego user story. Współpracuje również z testerami, z którymi omawia scenariusze testowe. Dodatkowo konsultuje się z deweloperami w sprawie technicznych rozwiązań danego problemu.

Tester

Tester oprogramowania jest głównie odpowiedzialny za sprawdzanie czy wytworzony system działa zgodnie z założeniami. Tworzy on odpowiednie przypadki testowe na podstawie wymagań, a następnie przeprowadza testy. Wykonuje również retesty, czyli tzw. regresję, aby sprawdzić czy przyrost nie zmienił działania wcześniejszych funkcjonalności. Dodatkowo jego obowiązkiem jest składanie raportu w postaci wykonanych testów.

Podsumowanie

Weryfikując Internet trafiłem też na różne ciekawe role zespołowe, ale niestety nie znam ich z własnego doświadczenia, dlatego o nich nie wspominam w niniejszym artykule. Jednak może Ty chciałbyś się podzielić stanowiskami pełnionymi przez Ciebie bądź Twoich kolegów. Koniecznie podziel się tym w komentarzu albo napisz do mnie za pośrednictwem maila.

Podziel się tym z innymi!