Trenowanie zgodnie z duchem Agile
Pracowanie dla wielkiej korporacji daje możliwość zapoznania się z wieloma podejściami do różnych kwestii. Część z nich może być z mniejszym lub większym powodzeniem "zaaplikowana" do codziennego życia, poza firmą. Jednym z takich zagadnień jest Agile/Scrum. Postaram się przedstawić temat w ogólnym zarysie. Więc na początek trochę teorii
Czym jest Agile?
Agile to pewien sposób myślenia, wyznaczający kierunek postrzegania procesów nad którymi aktualnie się pochylamy. To zbiór zasad i wartości, który wyznacza w pewnym sensie ścieżkę postępowania (głównie w dziedzinie software development). Centralną ideą Agile jest współpracujący, samoorganizujący się wielofunkcyjny zespół. Mówiąc bardziej po polsku, chodzi o zespół który pracując nad danym projektem pozostaje w ciągłym kontakcie z klientem, który ten produkt zamówił.
Brzmi tajemniczo?
W porównaniu do tradycyjnego podejścia do zarządzania projektami (mam na myśli podejście wodospadu,"waterfall management") w podejściu Agile, środek ciężkości postawiony jest na kompleksowość systemów i ich ciągłe usprawnianie w sposób nielinearny i niedeterministyczny... czyli? Czyli nie zakładamy od razu jak będzie przebiegała nasza praca w trakcie całego projektu. Planujemy tylko najbliższy czas (tzw. sprint, ale o tym później). Agile to ogólna "filozofia". Scrum to narzędzie. Postaram się nieco przybliżyć jak się nim posługiwać.
Mamy 3 główne role w całym procesie
Product owner
(dla uproszczenia możemy powiedzieć, że jest to reprezentant ze strony klienta). Nie będę zagłębiać się w szczegóły magicznych zaklęć korporacyjnych więc po prostu powiem, że product owner jest źródłem z którego pochodzi definicja produktu, który mamy otrzymać na koniec pracy (np. strona www sklepu internetowego). Definicja produkty zwykle jest tworzona przy pomocy tzw. historii użytkownika- które to z kolei dodawane są do product backlog'u (będzie o tym już niebawem). W jednym Scrumie powinien być jeden product owner, którego głównym zadaniem jest jasne komunikowanie oczekiwań i ustalanie priorytetów w połączeniu ze zrozumieniem i empatią wobec zespołu pracującego nad projektem.
Scrum Master
Osoba odpowiedzialna za usuwanie wszelkich przeszkód pojawiających się na drodze zespołu do dostarczenia skończonego, zadowalającego produktu. W tym przypadku nie należy mylić Scrum Mastera z Team Leaderem czy Project Managerem. Scrum Master wspiera Product Ownera w przygotowaniu wstępnego zarysu produktu w sposób, który będzie zrozumiały dla zespołu pracującego and tymże.
Jest także w pewnym sensie modelem, propagującym wartości Agile, takie jak ciągłe usprawnianie oraz samodzielność w organizowaniu swojej pracy u członków zespołu. Ponadto, do jego zadań należy upewnianie się, że w projekt posuwa się do przodu a postęp jest widoczny. Scrum Master to także osoba, która prezentuje klientowi zasady, zgodnie z którymi postępuje cały zespół (aspekt komunikacji jak widzicie jest tu niezwykle ważny)
Scrum workflow
źródło: Scrum Workflow emaze presentation by voceboxalo: https://www.emaze.com/@AZLZFOCI
Product backlog
To lista poszeregowanych przymiotów produktu, które będą niezbędne do tego aby był kompletny. Wymagania. Warto zauważyć, że taki product backlog nigdy nie będzie kompletny. Ewoluuje bowiem tak jak idea produktu końcowego oraz otoczenie, w którym będzie używany.
Sprint backlog
To samo co wyżej z tym, że w tym przypadku, tworzymy listę na najbliższy sprint.
Sprint
Opowiadając o Agile cały czas staram się proste rzeczy tłumaczyć w prosty sposób więc powiem tyle. Sprint to jednostka czasowa na które dzielimy całość projektu. Pracujemy w sprintach, które mogą mieć od 1 tygodnia do 4 (zawsze ustalamy to na jego początku). Najprościej mówiąc : W danym sprincie który trwa n tygodni (n>=1 n<=4) bierzemy "na warsztat" poszczególne elementy naszego projektu. Wszystko co ma się wydarzyć podczas najbliższego sprintu, jest planowane wspólnie przez cały zespół! (waga komunikacji po raz kolejny!)
Daily Scrum
Krótkie spotkania całego zespołu, które odbywają się codziennie przez cały sprint. Jest kilka zasad dotyczących tych codziennych spotkań. Przede wszystkim powinny się odbywać codziennie o tej samej porze i trwać nie więcej niż 15 minut. Każdy z uczestników odpowiada na trzy pytania :
- Co zrobiłem poprzedniego dnia, co przyczyniło się do osiągnięcia celu przez cały zespół
- Co planuje zrobić dziś, by przyczynić się do osiągnięcia celu przez cały zespół
- Czy widzę jakieś przeszkody, które mogłyby mnie powstrzymać?
Scrum Master "wyłapuje" przede wszystkim to co jest powiedziane na temat przeszkód (przypomnienie: jest on odpowiedzialny za ich usuwanie). Jednak daily scrum nie jest miejscem gdzie rozwija się tematy przewijające się w odpowiedziach członków zespołu.
Potentially Shippable Product Increments
Najprościej rzecz ujmując to gotowy fragment projektu, który jest gotowy do użycia przez klienta. Jeśli chodzi o software development to może to być np.: strona logowania (gotowa do użycia). Można powiedzieć, że jest to fragment projektu, który można "dotknąć" i użyć.
Sprint review and retrospective
To dwa osobne wydarzenia, które odbywają się pod koniec sprintu.
W sprint review zespół skupia się na tematach związanych z tym co zostało już wykonane a co nie. Odbywa się także wtedy prezentacja fragmentu projektu klientowi, po czym następuje dyskusja o tym co powinno zostać zrobione w następnej kolejności.
W sprint retrospective środek ciężkości położony jest na to co w mijającym sprincie było przeszkodą ( i jak można ją zwalczyć). Ustala się także kolejne usprawnienia, które mają być wprowadzone w najbliższym czasie (nie do produktu, ale do procesu- aby przebiegał sprawniej)
Z perspektywy tancerki
Naprawdę zgadzam się z głównymi ideami Agile, które mówią o tym że warto obrać ścieżkę ciągłego rozwijania i ulepszania. Wiele razy zdarzało mi się pracować nad czymś, mieć konkretne cele do zrealizowania.. a w paradę weszła mi rzeczywistość. Oczywiście nie wątpię, że każdy z nas czytał w Internecie artykuły i blogi o tym jak trenować, pracować, uczyć się, sprzątać, kochać, wychowywać, efektywnie i to za pomocą kilku nawyków. Z pewnością wiele razy wydawało się nam, że możemy coś zrobić w konkretny sposób, tworzyliśmy plan a potem nie udawało się go zrealizować. Brak dokładnego planu jest moim zdaniem zdecydowanie lepszy niż plan, który jest nieelastyczny i staje się dla nas samych więzieniem. Na co dzień jestem dość zajęta, robię kilka rzeczy (wszystkie staram się robić co najmniej dobrze lub bardzo dobrze), jednak taniec jest zdecydowanie moim priorytetem i opuszczanie treningów bez wartościowego usprawiedliwienia jest dla mnie niedopuszczalne. Trenuję zwykle 5 razy w tygodniu (rzadko mniej, czasem więcej). Ponadto, bardzo cenię sobie moją spontaniczną duszę, która mnie samą potrafi nie raz zaskoczyć. No ale, trenowanie sportu wymaga rutyny i czasem nie pozwalania sobie na folgowanie w formie wycieczek, imprez czy czytania godzinami książek po nocach ( a nawet czasem na jeden odcinek czegokolwiek na Netflixie. nawet jeśli trwa 20 minut). W tym kontekście muszę przyznać, że idee Agile rozgrzały moje serduszko, kiedy usłyszałam je po raz pierwszy. Po przepracowaniu dwóch projektów w Scrumie mogę śmiało stwierdzić, że jest on aplikowany do moich treningów (zwłaszcza w trakcie przygotowań pod konkretne zawody)
Do brzegu dziewczyno,
Wraz z moim partnerem (tanecznym rzecz jasna) zawsze mamy jakieś plany dotyczące kolejnych zawodów. Do ostatnich przygotowywaliśmy się około poł roku i po tym czasie doszliśmy do wniosku, że tak długi plan treningowy oraz robienie założeń na kilka miesięcy w przód , jest bardzo wyczerpujące (już na etapie planowania, nie wspominając o realizacji celów, które obierasz w słonecznym Maju a pracujesz nad nimi w wietrznym październiku). Tak więc podjęliśmy decyzje o trenowaniu w Scrumie. W tańcu towarzyskim jest bardzo wiele elementów technicznych więc możemy dokładnie zaplanować zagadnienia, które chcemy opracowywać i wytrenować w każdym kolejnym sprincie tak aby w późniejszym czasie osiągać większe cele.
Trener w tym kontekście jest product ownerem, który doskonale wie co powinno być naszym priorytetem oraz będzie wstanie ocenić czy sprint można uznać za zakończony sukcesem (My sami, jesteśmy zarówno produktem, jak i zespołem pracującym nad jego usprawnieniem)
Odpoczynek jest w każdym sporcie niezwykle ważny. Mi osobiście zdarza się tak "wkręcić" w trenowanie, że wpadam w pułapkę aktywności (post o tym kiedyś będzie na pewno). Podział na sprinty i możliwość tygodniowych przerw pomiędzy jednym a drugim daje możliwość długiej regeneracji, cennej dla mięśni i głowy w równym stopniu.
Motywacja. Każdy wie jak ważna jest. Osiąganie małych celów powoduje, że chcemy sięgać po kolejne. Osobiście doświadczyłam małego wypalenia kiedy byłam już zbyt zmęczona by efektywnie uczyć się kolejnych rzeczy a ten zastój spowodował spadek motywacji i obniżenie mojego nastroju w znacznym stopniu. Mam nadzieję że odpowiedni balans pozwoli mi uniknąć takiego stanu po raz kolejny.
Przedstawiłam jedynie główne Idee związane z moją motywacją do trenowania w Scrumie- myślę, że rozdrabnianie się na szczegóły mogłoby być nudne dla czytelnika. Jeśli jednak ktoś chciałby rozwinąć ten temat to zapraszam do dyskusji. Już niedługo będę mogła się również podzielić doświadczeniami związanymi z takim trenowaniem. Na razie plan został dopiero co wdrożony. Możliwe, że nie jestem pierwszą, która wpadła na taki pomysł więc jeśli już tak trenowaliście (lub robiliście cokolwiek innego) to podzielcie się proszę refleksjami. Chętnie poczytam!
Więcej o Agile i Scrum na : www.scrum.org ( ta stronka pozwoliła mi stworzyć część teoretyczną posta)
Juz o tym słyszałem na kursie deweloperskim, ale nazewnictwo inne było...
Myślę, że to jak z paradygmatami psychologicznymi. Słownictwo jest zmienne w zależności od środowiska używania i celów do których jest potrzebne :)
To te słynna praca pod presją w korpo? Ciekawa technika pracy, nie słyszałem o tym wcześniej. Szacunek za kreatywne wykorzystanie tego w innej dziedzinie życia
Congratulations @smashedturtle! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Nieźle, nigdy nie sądziłem, że agile można stosować do takich rzeczy. Fajny artykuł, dzięki