IT nie tylko dla programistów. Scrum

IT nie tylko dla programistów

Pisałam niedawno na blogu, we wpisie Każda z nas powinna wiedzieć o co kodzi, o różnych ścieżkach w IT, którymi można podążać, nawet jeśli nie ma się wiedzy z zakresu programowania. Bo choć sercem branży IT są programiści – znajdzie się tam miejsce także dla osób z innymi umiejętnościami.

Jeśli chcesz pracować w firmie zajmującej się technologiami informacyjnymi (bo tym właśnie jest IT), masz wiele możliwości. Niektóre z nich będą wymagały pewnego poziomu wiedzy technicznej, jednak nie musisz umieć programować, aby wykonywać te zawody.

Postanowiłam nieco zagłębić się w temat tych mniej technicznych ról i zawodów, bo wiem, że wiele osób (zwłaszcza kobiet) interesuje praca w IT, ale niekoniecznie chcą być programistami. Na pierwszy ogień wzięłam dość obszerny temat, jakim jest Scrum. W tym wpisie opowiem Wam, dlaczego uważam, że Scrum jest bardzo ciekawy i warto się go uczyć, od czego zacząć zagłębiane tematu i jakie cechy oraz umiejętności dobrze jest posiadać, aby specjalizować się w tym kierunku.

I jeszcze słowo wyjaśnienia na początek. Scrum oczywiście nie jest zawodem, ale metodą działania. Jednak stała się ona na tyle popularna, że w oparciu o nią pojawiło się kilka nowych zawodów czy ról, np. Scrum Master czy Product Owner. O nich właśnie jest ten wpis.

Zacznijmy od początku, czyli modele wytwarzania oprogramowania

Firmy z branży IT zasadniczo zajmują się wytwarzaniem oprogramowania. Mogą to być strony i sklepy internetowe, aplikacje mobilne czy webowe, gry, programy do przetwarzania danych itp. Osobie bez wykształcenia informatycznego ciężko wyobrazić sobie, jak takie oprogramowanie powstaje. Proces ten możemy podzielić na kilka etapów:

  • specyfikowanie (definiowanie funkcjonalności i ograniczeń programu)
  • projektowanie i implementowanie (czyli zasadnicza czynność tworzenia oprogramowania)
  • testowanie i zatwierdzanie
  • ewolucja (utrzymanie oprogramowania, wprowadzanie zmian itp.)

Istnieją różne podejścia do porządkowania tych etapów. Jednym z nich jest właśnie Scrum, należący do metodyk iteracyjno-przyrostowych. Jest to stosunkowo nowa metoda, która bardzo szybko zdominowała świat IT i niemal wyparła powszechne kiedyś modele sekwencyjne (np. model wodospadowy, waterfall). Dlatego właśnie warto moim zdaniem zaznajomić się ze Scrumem. Jeśli będziesz kiedyś pracował/a przy projekcie IT, jest spora szansa, że będziecie pracowali według metodyki Scrumowej.

Jednak nawet jeśli nie będziesz pracować przy tworzeniu oprogramowania, warto poznać Scruma. Według mnie jest to świetne podejście do pracy zespołowej, którego elementy mogą być zastosowane także przy innego rodzaju projektach.

No dobrze, ale czym jest Scrum?

Pierwszym i najbardziej wiarygodnym źródłem wiedzy jest strona scrum.org, i zachęcam Was do jej przestudiowania. Znajdziecie tam sporo teorii, a także nagrania video, informacje o kursach i certyfikacji, którą można zrobić, aby móc oficjalnie chwalić się wiedzą z tego zakresu. Na stronie możecie też podejść do egzaminu „próbnego”, aby sprawdzić swoją wiedzę. Warto to zrobić przed podejściem do oficjalnego certyfikatu, który sporo kosztuje.

Na stronie scrum.org możemy przeczytać, że Scrum to framework, czyli struktura, w ramach której ludzie mogą rozwiązywać złożone problemy, dostarczając produkty o najwyższej możliwej wartości. Jak widać – nie ma tu słowa o programowaniu. Scrum może być stosowany przy różnych projektach.

Współtwórcy Scruma, Ken Schwaber i Jeff Sutherland napisali Scrum Guide, który możecie pobrać ze strony. Jest on dostępny także w języku polskim, jednak według mnie lepiej uczyć się od razu po angielsku, aby zaznajomić się z nomenklaturą. Potwierdza się prawda, że najważniejszym językiem w IT jest nie któryś z języków programowania, ale język angielski. W przewodniku przeczytacie o wartościach, rolach, zdarzeniach oraz artefaktach, z których zbudowany jest Scrum.

Scrum a Agile

Jak podaje Wikipedia, Scrum może mieć zastosowanie w realizacji projektów w oparciu o metodyki zwinne zgodne z manifestem Agile. Agile to kolejny bardzo szeroki temat, na którego zgłębienie w tym wpisie nie ma po prostu miejsca, ale jak zawsze zachęcam Was do samodzielnych poszukiwań.

Pamiętajcie tylko, aby nie utożsamiać Scruma z Agile’em. Agile to pojęcie szersze – a Scrum jest jedną z metodyk zwinnych, czyli Agile’owych.

To co najważniejsze, to manifest Agile oraz jego cztery zasady:

Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywa się lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkłada się:

  • ludzi i interakcje ponad procesy i narzędzia,
  • działające oprogramowanie ponad obszerną dokumentację,
  • współpracę z klientem ponad formalne ustalenia,
  • reagowanie na zmiany ponad podążanie za planem.

Warto podkreślić, że w zasadach występuje słowo „ponad” a nie „zamiast” – to znaczy, że np. dokumentacja czy podążanie za planem nadal są istotne, ale nie one są priorytetem.

To właśnie te cztery zasady sprawiają, że tak podoba mi się Scrum i metodyki zwinne. Współpraca, ludzie i interakcje to pojęcia, które bardzo do mnie przemawiają.

Role w Scrumie

Wspomniałam o elementach składających się na Scrumowy framework, jednak tutaj szerzej omówię role, jako że o tym de facto miał być ten wpis. W Scrumie mamy ich trzy.

W skład Zespołu Scrumowego wchodzą: Właściciel Produktu (ang. Product Owner), Zespół Deweloperski (ang. Development Team) oraz Scrum Master. W zespole deweloperskim mogą znajdować się programiści, testerzy, ux-owcy, graficy itp. Nie będę o nich tutaj dzisiaj pisała. Skupię się na 2 rolach, które w kontekście Scruma wydają mi się najciekawsze.

Product Owner czyli właściciel produktu

Właściciel Produktu jest odpowiedzialny za maksymalizację wartości produktu (czyli np. tworzonego oprogramowania). To on dba o to, aby produkt tworzony przez deweloperów był zgodny z wymaganiami klienta. Dba o klarowną i zrozumiałą dla wszystkich wizję produktu. Właściciel Produktu jest jedyną osobą zarządzającą Backlogiem Produktu, czyli spisem tego, co może być potrzebne w produkcie.

Product Owner działa na styku IT i biznesu. Powinien mieć podstawy wiedzy IT, aby móc dogadać się z deweloperami oraz sporą wiedzę domenową – czyli po prostu znać się na branży/dziedzinie, do której należy produkt. Jeśli zespół pracuje np. nad programem dla księgowych – dobrze, by znał tę branżę, konkurencję, problemy użytkowników itp. Przyda się także wiedza biznesowa, w szczególności umiejętności analityczne. Jest to z pewnością stanowisko wymagające wszechstronnej wiedzy i umiejętności adaptacyjnych. Jeśli masz doświadczenie pracy w biznesie i chcesz wejść do IT – Product Owner z pewnością będzie dobrym kierunkiem.

Jakie cechy powinien posiadać dobry Product Owner?* Przydadzą mu się na pewno umiejętności komunikacyjne i asertywność. Powinien on umieć analizować i wyciągać wnioski, a następnie w jasny sposób komunikować je zespołowi. Dobrze, jeśli taka osoba jest samodzielna w działaniach i nie boi się brać na siebie odpowiedzialności.

Zawsze, kiedy mam okazję rozmawiać z osobami pracującymi w zespołach Scrumowych, pytam ich, co trzeba zrobić i czego się uczyć, aby zostać Product Ownerem. I każda odpowiedź jest inna. Niektóry polecają wejść w ten obszar np. z obsługi klienta lub zacząć od testowania, tak, aby dowiedzieć się maksymalnie dużo o produkcie. Wraca tutaj wspomniana przeze mnie wiedza domenowa. Zawsze jednak podkreślana jest konieczność posiadania umiejętności miękkich, takich jak komunikacja czy umiejętność rozwiązywania problemów.

Scrum Master

Scrum Master jest odpowiedzialny za to, by Scrum był rozumiany i stosowany przez zespół. Określa się go często mianem przywódcy służebnego Zespołu Scrumowego. Jego rolą jest wspieranie także Product Ownera.

Kiedy pytam ludzi z IT jak zostać Scrum Masterem przejawiają się zawsze umiejętności miękkie. Scrum Masterowi przyda się nie tylko znajomość zasad Scruma, ale też umiejętność negocjacji, komunikacji, zarządzania zespołem. Scrum Master powinien mieć duże umiejętności interpersonalne, aby rozumieć, motywować i wspierać swój zespół w jak najlepszy sposób.

Dobrze, jeśli Scrum Master umie organizować i prowadzić spotkania zespołowe oraz rozwiązywać konflikty i problemy. Wśród umiejętności pojawia się także znajomość technik retrospekcji – ale o tym przeczytajcie już sami, np. w Scrum Guide.

Jeśli chcesz przebranżowić się w kierunku Scrum Mastera lub Product Ownera, ale nie masz doświadczenia w tym zakresie – zobacz, co możesz wybrać z Twojego dotychczasowego przebiegu kariery. Spójrz na to przez pryzmat umiejętności potrzebnych do pracy w takim zespole.

Skąd czerpać wiedzę o Scrumie?

Jak piszą o nim jego twórcy, Scrum jest łatwy do zrozumienia, ale trudny do wprowadzenia. Opiera się na kilku zasadach i relatywnie krótkim przewodniku. Opanowanie go wydaje się być proste. Jednak cały problem tkwi w doskonaleniu zasad Scruma w praktyce, a tego nie da się zrobić czytając książki, czy oglądając webinary. Jeśli chcesz wejść w Scruma, ale nie masz możliwości pracy przy projekcie, który by się do tego nadawał (nie każdy projekt może być prowadzony według tej metodyki) najlepszym sposobem jest nawiązanie kontaktu z ludźmi, którzy Scruma znają od strony praktycznej i czerpanie z ich doświadczeń.

Świetną okazją do tego są różnego rodzaju konferencje, warsztaty czy meetupy, które odbywają się w całej Polsce. Być może znajdziesz coś ciekawego w swojej okolicy. W trójmieście, gdzie mieszkam, organizowane są np. spotkania Agile3M. Kolejne spotkanie szykuje się już 19 grudnia. Podczas ostatniej edycji odbyły się warsztaty z Tomaszem Pawlakiem (które zresztą zainspirowały mnie, aby napisać ten tekst). Tomek sam też prowadzi bloga o Scrumie, którego bardzo polecam. Podczas warsztatów grupowo rozwiązywaliśmy problemy, jakie mogą pojawić się podczas pracy w zespole Scrumowym. Używaliśmy do tego Utture – autorskiego narzędzia dla Scrum Masterów, który stworzył Tomek. Taka praca w grupie, nad konkretnym problemem, rozmowa z doświadczonymi Scrum Masterami daje o wiele więcej niż czytanie książek.

Blogów o Scrumie i metodykach agile’owych jest dużo i na pewno warto wybrać kilka i być z nimi na bieżąco. Od niedawna czytam blog k85.pl, prowadzony przez Tomka Karzarnowicza. Tomek pisze przede wszystkim o praktycznych aspektach Scruma. Warto słuchać też podcastów. Ja polecam np. odcinki na temat Scruma od Porozmawiajmy o IT oraz Dev Talk.

Szkolenia

Na rynku jest też sporo szkoleń, chociaż te stacjonarne potrafią być bardzo drogie. Sama postanowiłam zacząć od kursów online i aktualnie kończę kurs Agile Fundamentals na Udemy. Póki co jestem z niego bardzo zadowolona. Jednak pamiętajcie, że przeszukując kursy na Udemy należy wykazać się ostrożnością, bo zdarzają się materiały bardzo niskiej jakości. Warto czytać opinie oraz pamiętać o 30-dniowej możliwości zwrotu kursu.

Podsumowując, Scrum to bardzo szeroka dziedzina i można by pisać o nim w nieskończoność. Mam nadzieję, że wzbudziłam Waszą ciekawość tą metodyką i ogólnie branżą IT. Jak widać – jest w niej miejsce nie tylko dla programistów.

Jeśli chcielibyście, abym poruszyła jakieś inne tematy z zakresu „tego bardziej miękkiego IT” – dajcie znać w komentarzach.

* Fragmenty opisujące umiejętności pożądane na stanowiskach Product Ownera i Scrum Mastera oparłam na ogłoszeniach o pracę z portalu pracuj.pl.

Źródła:

http://www.mif.pg.gda.pl/homepages/sylas/students/sem_podypl/io-w04.pdf

http://www.agile247.pl/

https://www.scrum.org/

Jak pisać teksty na bloga, które pokocha Twój czytelnik
Dołącz do newslettera! Otrzymasz bezpłatnego PDFa na temat tworzenia treści na bloga. Raz na jakiś czas wyślę Ci także powiadomienie o nowym wpisie.
I agree to have my personal information transfered to MailChimp ( more information )