W tej części dowiesz się co to jest Scrum, co ma Scrum do Jira i dlaczego w ogóle chcę Ci tym zawracać głowę. Opowiem Ci także czym jest Agile. W następnych kilku artykułach będę kontynuował wątek Scruma.
Początkowo chciałem zawrzeć wszystko w jednym artykule, ale zrobił się mega długi, dlatego postanowiłem podzielić go na parę części, żeby się łatwiej czytało.
Na początku jedna ważna rzecz. Z góry przepraszam wszystkich, którzy zajmują się Agile i Scrumem za zastosowane uproszczenia. Moim celem jest przedstawienie absolutnych podstaw, niezbędnych do zrozumienia tego jak w niektórych miejscach funkcjonuje Jira a nie szczegółowe omówienie tematu. Dlatego też nie wnikam w detale przedstawionych zagadnień. Niewykluczone, że na blogu powstanie kiedyś seria artykułów dla Was – Scrum Masterów, o tym jak korzystać z Jira.
A zatem zaczynamy…
Zawsze kiedy próbuję nauczyć się jakiejś nowej umiejętności, jedną z pierwszych rzeczy jakie staram się przyswoić jest słownictwo dotyczące tego tematu. Wiem, że nie zrozumiem o co chodzi jeśli nie będę rozumiał znaczenia słów.
Podobne mam z Jira i Tobie też zalecam takie podejście. Jeśli chcesz ją dobrze poznać musisz wiedzieć co do Ciebie mówią i piszą inni bardziej zaawansowani użytkownicy czy administratorzy. Ba, nawet jeśli chcesz coś wygooglać to musisz wiedzieć jakie hasła wpisać do wyszukiwarki.
Przy okazji… Atlassian ma wspaniałą społeczność, która chętnie dzieli się wiedzą. To naprawdę nieocenione źródło informacji. Znajdziesz je tutaj: https://community.atlassian.com/ ale znów… Musisz wiedzieć czego szukasz i o co chcesz zapytać.
W poprzednim artykule napisałem, że Jira ma różne „rodzaje”. Dla przypomnienia: Jira Core, Jira Software i Jira Service Management (dawniej Jira Service Desk). Atlassian tworząc swoje aplikacje nie wymyślił wszystkiego sam. Zaczniemy od Jira Software i uważam, że żeby dobrze ją zrozumieć trzeba znać podstawy Scrum i Kanban.
Zacznijmy jednak od Agile.
Agile
Agile to w dzisiejszych czasach tak popularna koncepcja, że istnieje spore prawdopodobieństwo, że coś o niej wiesz. Może nawet Twoja organizacja w taki właśnie sposób pracuje, albo chociaż stara się pracować.
Najczęściej dotyczy branży wytwarzania oprogramowania. Jednak moim zdaniem sprawdzi się także w wielu innych środowiskach.
Agile (ang. zwinny) powstało jako odpowiedź na zmieniające się czasy. W erze „pre-agile” w wytwarzaniu oprogramowania królowało tak zwane podejście waterfall (ang. wodospad, kaskada). W skrócie polegało na tym, że żeby coś wytworzyć to trzeba to coś zaplanować, przeanalizować, zaprojektować, zaimplementować (zbudować), przetestować i wdrożyć. W tej właśnie kolejności. Przejście przez cały łańcuch od początku do końca mogło zająć miesiące a może nawet i lata.
W dzisiejszym, szybko zmieniającym się świecie tak długi czas pomiędzy zaplanowaniem a otrzymaniem gotowego rozwiązania jest niedopuszczalny jeśli organizacja chce odpowiadać na potrzeby rynku i skutecznie rywalizować z konkurencją.
Mądre głowy stworzyły zatem Agile. Tutaj ważna uwaga. Sądzę, że nie jest to coś co można tak po prostu wdrożyć w organizacji, na zasadzie zatrudniamy konsultantów, szkolimy ludzi i od poniedziałku jesteśmy agile. Nie, to coś więcej. To metodyki, to sposób w jaki jest zorganizowana nasza firma a nade wszystko to sposób myślenia.
Poznajmy zatem niektóre charakterystyczne cechy bycia Agile?
Iteracje
Iteracje czyli powtarzanie. Oznacza to ni mniej ni więcej, że wspomniane wyżej etapy znane z waterfall, następują po sobie szybko w odstępach 2-4 tygodni. Co to realnie oznacza? Że co 2-4 tygodnie dostajemy jakiś działający fragment naszego produktu. Co nam to daje? Drugą charakterystyczną rzecz dla Agile czyli…
Adaptacje do zmian
Wyobraź sobie przez chwilę, że pracujesz nad produktem w metodyce watefall. Razem z zespołem coś zaplanowaliście i ruszacie z robotą. Trwa ona wiele miesięcy. Co w tym czasie może się zmienić? Wszystko. Może się zmienić sytuacja na rynku i klienci już nie potrzebują Waszego produktu. Możecie zorientować się, że od początku się myliliście i budujecie niewłaściwy produkt. I tak dalej.
Częste dostarczanie
Jednak dzięki temu, że podzieliliście sobie pracę na mniejsze fragmenty możecie częściej sprawdzać czy wszystko idzie tak jak powinno. Wyobraź to sobie tak. Ustalasz cel, pochylasz głowę i zaczynasz pracować. Nic Cię nie rozprasza. Po 2 tygodniach przerywasz, podnosisz głowę i się rozglądasz.
Oddajesz kawałek produktu, cofasz się o parę kroków, przyglądasz się temu co zrobione, patrzysz na otoczenie. Zastanawiasz się czy to ma sens. Potem zapada decyzja co zrobić przez następne 2 tygodnie i wracasz do pracy. Czyli mamy kolejną charakterystyczną cechę – częste dostarczanie.
Na tym poprzestańmy i przejdźmy do Scruma.
Scrum
O Agile napisano wiele artykułów, szkoleń i książek. Powstało także wiele „edżajlowych” metodologii pracy. Scrum to właśnie jedna z takich metodologii.
Poniżej opisując Scruma będę się starał posługiwać angielską terminologią. Po pierwsze dlatego, że nie cierpię tłumaczenia takiego słownictwa na polski i nie widzę w tym sensu, po drugie dlatego, że posługując się oryginalnym nazewnictwem łatwiej wyszukasz coś w internecie.
Kiedy ktoś pyta mnie czym jest Scrum to zawsze przychodzi mi do głowy jedna z definicji jaką przytoczył kiedyś Mariusz Chrapko. Z jakiegoś powodu najbardziej do mnie przemówiła.
Piłka nożna a kwestia Scrum
Mariusz porównał Scruma do zasad gry w piłkę nożną. Żeby móc powiedzieć, że gra się w piłkę nożną trzeba się stosować do zasad ustalonych przez IFAB (to taka organizacja zajmująca się tworzeniem oraz nowelizacją przepisów gry w piłkę nożną). Czyli powinny być dwie drużyny po 11 zawodników, zawodnicy mają różne role (napastnik, pomocnik, obrońca, bramkarz itd), 2 bramki o takich a takich wymiarach, rozmiar boiska jest ustalony, linie, spalone i tak dalej.
Wszystko jasne. Jednak nikt nigdzie nie napisał i nie ustalił odgórnie jak powinno się grać, żeby wygrać. I tak mamy takie kluby jak Barcelona czy Bayern i mamy też takie, które są nieznane szerszej publiczności. Co ich różni? Umiejętności poszczególnych zawodników, wiedza, osobowość i charyzma trenerów, sposoby trenowania i szkolenia zawodników, zasoby itd. Masa rzeczy, o których nie ma słowa w przepisach dotyczących gry w piłkę nożną.
Jak to się ma do Scrum?
Ano ma. Żeby móc powiedzieć, że się stosuje Scrum także trzeba spełniać pewne ustalone kryteria – sprinty, backlogi, daily scrumy, retrospekcje itd. opowiem o tym za chwilę. To wszystko jest jednak opisane dosyć ogólnie, nie ma zbyt wielu szczegółów.
Od czego zatem zależy czy Scrum sprawdzi się w organizacji? Dokładnie od tego samego co stanowi o sukcesie drużyny piłkarskiej. Tego, w jaki sposób członkowie zespołu będą ze sobą współpracować, od tego jakie umiejętności, wiedzę posiadają Developerzy, Scrum Masterzy, Product Ownerzy (o tych rolach też opowiem) czy inni liderzy organizacji.
To na razie wszystko. W kolejnych lekcjach opowiem Ci o różnych elementach Scruma i tym jak zostały one przedstawione w Jira Software. Będę omawiał po kolei wszystko co znajdziesz na poniższym obrazku:
Sprawdź co umiesz
Jednym z moich ulubionych sposobów na naukę jest tworzenie pytań do zagadnienia, które poznaję. Poniżej przygotowałem listę pytań, które zadałbym sam sobie. Jeśli na nie odpowiesz to przygotuj swój własny zestaw 🙂 Postaraj się na nie odpowiedzieć własnymi słowami. Jeśli czegoś zapomnisz, albo zabraknie Ci słowa – zajrzyj do tekstu wyżej a potem powtórz proces 🙂
Pytania sprawdzające
- Co to jest Agile?
- Co to jest Waterfall?
- Co odróżnia Agile od Waterfall?
- Po co zawracać sobie głowę Scrumem jeśli chcemy poznać Jira Software?
- Co to jest iteracja?
- Opowiedz własnymi słowami czym jest Scrum? Możesz użyć analogii do piłki nożnej.
Poprzednia lekcja:
Kurs Jira: Wprowadzenie
Następna lekcja:
Kurs Jira: Scrum – Role