Różne oblicza naszych #AilleronExperts – Rozdział 7
Scrum i Agile, czyli zwinne zarządzanie, to terminy popularne już od pewnego czasu, używane nie tylko w środowisku programistów, ale także w działach kadr. Czym się więc różnią, co dokładnie oznaczają i na czym polega ten cały SCRUM? Temat ten omówi jeden z naszych #AilleronExperts, Wojciech Baran, który doskonale orientuje się w tej dziedzinie i wdraża to podejście w naszej firmie.

1. Cześć Wojtek, jesteś naszym Scrum Masterem w Ailleron. Cieszymy się, że zgodziłeś się zapoznać nas z metodologią agile i wyjaśnić, na czym polega zarządzanie agile. Zacznijmy od początku. Proszę, wyjaśnij, czym jest Scrum i czym różni się od pojęcia „agile”. Terminy te są często używane zamiennie, ale czy to właściwe?
Tych dwóch pojęć nie należy używać zamiennie, choć są one ze sobą powiązane. Zacznijmy od pojęcia związanego z metodologią Agile, aby łatwiej było zrozumieć różnicę między nimi.
Agile, w skrócie, to filozofia. Jest to pewien zestaw wartości i zasad lub sposób myślenia, oparty na czterech postulatach i dwunastu zasadach opisanych w Manifeście Agile. Kiedy decydujemy się pracować zgodnie z Agile, nie wdrażamy żadnych narzędzi ani sposobu zarządzania. Agile nie opisuje wprost metodologii pracy, ale raczej wartości i zasady, którymi powinniśmy się kierować.
Można więc powiedzieć, że Agile stanowi podstawę metodologii zwinnych. Często spotyka się stwierdzenie, że Agile to „parasol”, pod którym mieszczą się wszystkie metodyki i frameworki zwinne. Jedną z takich metodyk jest Scrum. I w tym miejscu płynnie przechodzimy do drugiej koncepcji, która nas interesuje.
Jak wspomniałem wcześniej, Scrum można opisać jako zbiór konkretnych praktyk i zasad opartych na filozofii agile. W Scrumie odnajdujemy wytyczne wynikające z dwunastu zasad Manifestu Agile, takie jak iteracyjność, empiryzm, dążenie do ciągłego doskonalenia, samoorganizacja czy elastyczność. Warto również wspomnieć, że Scrum nie służy do zarządzania projektami, ale dotyczy tworzenia lub rozwijania produktu (wartości).
Krótko mówiąc, Agile to filozofia, a Scrum – jej praktyczne zastosowanie. Skłaniałbym się nawet ku stwierdzeniu, że Agile może funkcjonować bez Scruma, ale Scrum bez Agile’a nie istnieje.
Dlaczego więc wciąż zdarza się, że terminy te są używane zamiennie? Moim zdaniem, ponieważ Scrum jest najpopularniejszą z metodologii w ramach „parasola” Agile, dla wielu osób Scrum oznacza to samo co Agile. Ale jak już wiemy, to nieprawda. 🙂
2. Skąd właściwie wzięła się Twoja pasja i zainteresowanie zarządzaniem zwinnym?
Uważam, że podejście zwinne opiera się na konkretnych wartościach, które można zastosować w życiu osobistym. Dlatego mogę śmiało stwierdzić, że w pewnym stopniu zasady te pokrywają się z moimi wartościami życiowymi.
To właśnie te cztery wartości (postulaty) i dwanaście zasad przyciągnęły moją uwagę, co przerodziło się w zainteresowanie, a następnie w pracę. Dodatkowym czynnikiem, który przekonał mnie do podejścia agile, jest to, że nie narzuca się nam konkretnych zasad, których musielibyśmy przestrzegać. Trzymamy się jednak określonych ram, które wyznaczają kierunek działania. Daje nam to pewną elastyczność i swobodę w pracy.
3. Słyszałem, że w zespole organizujecie codzienne krótkie spotkania zwane „Daily Scrum”. Czy mógłbyś nam wyjaśnić, jak dokładnie wygląda takie spotkanie?
Codzienne spotkanie Scrumowe (Daily Scrum) jest jednym z pięciu wydarzeń w ramach zwinnej metodologii Scrum. Zgodnie z najnowszym przewodnikiem po Scrumie¹ (2020) celem codziennego spotkania jest sprawdzenie postępów w realizacji celu sprintu oraz, w razie potrzeby, dostosowanie wcześniej zaplanowanych działań. Wynikiem dobrze przeprowadzonego codziennego spotkania Scrumowego powinien być zatem plan działania na nadchodzący dzień roboczy, który można wdrożyć.
Każde spotkanie Scrumowe ma określony maksymalny czas trwania (time-box). W przypadku Daily Scrum wynosi on 15 minut. Dla uproszczenia i w celu uniknięcia niepotrzebnych komplikacji spotkanie powinno zawsze odbywać się w tym samym miejscu i o tej samej porze.
Warto zauważyć, że codzienne spotkanie jest spotkaniem zespołu programistów, którzy mają swobodę w decydowaniu o tym, jak je prowadzić. Najważniejsze jest, aby osiągnąć wyznaczony cel.
4. Jaka jest Twoja rola jako Scrum Mastera podczas codziennego spotkania?
Gdy zapytamy, czym zajmuje się Scrum Master podczas codziennego spotkania, od razu przychodzi na myśl jedna odpowiedź: „to zależy”. Po pierwsze, codzienne spotkanie jest wydarzeniem przeznaczonym dla zespołu programistów, więc Scrum Master (SM) może w nim uczestniczyć, ale nie musi.
Jako SM przychodzą mi do głowy trzy kwestie, o które należy zadbać nie tylko w kontekście spotkania Daily, ale wszystkich wydarzeń Scrumowych. Przede wszystkim SM musi zadbać o to, by spotkanie Daily odbywało się zgodnie z harmonogramem, było skuteczne i mieściło się w wyznaczonym czasie.
W zależności od doświadczenia zespołu w pracy z metodą Scrum rola Scrum Mastera może polegać na facylitacji lub, mówiąc dokładniej, na zapoznawaniu się z różnymi praktykami facylitacyjnymi stosowanymi podczas spotkania. Ponadto codzienne spotkanie (Daily Scrum) może być dla zespołu dobrym momentem na przekazanie Scrum Masterowi informacji o przeszkodach utrudniających osiągnięcie celu sprintu. I właśnie tak wygląda moja rola podczas naszego codziennego spotkania.
5. Takie codzienne spotkania mogą wydawać się monotonne. Jak więc urozmaicić codzienne spotkanie, aby zaangażować zespół i utrzymać jego pełną uwagę przez te kilka minut? Podzielcie się z nami swoimi sztuczkami 😉.
Najważniejsze w spotkaniach scrumowych jest zrozumienie ich celu. Co istotne, w Przewodniku Scrum nie znajdziemy konkretnej metody, jak go osiągnąć. Dlatego też, jeśli pojawi się monotonia, możemy śmiało modyfikować przebieg spotkania. Wystarczy tylko pamiętać o tym, by osiągnąć jego cel. 🙂 W Ailleron przywiązujemy szczególną wagę do tego, by spotkania te były jak najbardziej urozmaicone.
W obecnej rzeczywistości, w której zespoły działają w sposób rozproszony, a praca zdalna stała się powszechna, zapewnienie różnorodności, komunikacji i zaangażowania zespołu może być nieco trudniejsze.
Dlatego uważam, że praca z tablicą zadań (tablicą zawierającą zestaw zadań do wykonania) podczas codziennego spotkania jest skuteczna. Pozwala nam to zilustrować postępy w pracy i dodatkowo przyciąga uwagę.
Kolejnym czynnikiem poprawiającym przebieg spotkania jest korzystanie z kamer internetowych. Dzięki temu spotkania są znacznie bardziej efektywne, a uczestnicy są bardziej zaangażowani.
Z kolei ja proponuję wprowadzenie swobodnych rozmów, aby spotkania były przyjemniejsze, co sprzyja integracji zespołu. Oczywiście nie zapominając o celach spotkania. W naszym zespole ailleron jest to łatwe, ponieważ bardzo dobrze się znamy i świetnie się dogadujemy.
6. Jakie wartości wnosi „Daily” do pracy Twojego zespołu?
Uważam, że codzienne spotkanie scrumowe (Daily Scrum) jest jednym z najważniejszych wydarzeń w metodologii Scrum. Jest to spotkanie planistyczne zespołu programistów, prowadzone przez sam zespół, którego celem jest przegląd postępów w pracy oraz podejmowanie decyzji przybliżających zespół do osiągnięcia celu sprintu. Wzmacnia to samoorganizację i buduje poczucie odpowiedzialności za dostarczanie przyrostów.
7. Czy codzienne spotkanie scrumowe można wprowadzić w każdym zespole?
Codzienne spotkanie Scrumowe jest jednym z wydarzeń w ramach metodyki Scrum, więc jeśli chcemy stosować tę metodykę, konieczne będzie włączenie tego spotkania do codziennej pracy. Nawet jeśli korzystamy z innego procesu lub innych narzędzi do zarządzania projektami, uważam, że nadal warto spróbować to wdrożyć. Ważne będzie jednak jasne zdefiniowanie celu spotkania oraz upewnienie się, że wszyscy wiedzą, na czym ono polega i jakie korzyści ma nam przynieść.
8. Wokół tego narzędzia narosło wiele mitów. Na przykład, ćwiczenie „Daily” zawsze trzeba wykonywać na stojąco. Prawda czy fałsz?
Nie, to nieprawda. 😊 Może się zdarzyć, że codzienne spotkanie typu „Daily Scrum” będzie nazywane „Standupem”. Daily Standup wywodzi się z innej metodyki agile, Extreme Programming (XP), i jak sama nazwa wskazuje, odbywa się na stojąco. Można powiedzieć, że Daily Standup jest odpowiednikiem Daily Scrumu, przy czym zgodnie z zasadami XP Daily Standup odbywa się na stojąco, podczas gdy w Scrumie nigdzie nie znajdziemy takiego wymogu. Może pojawić się zalecenie, aby Daily odbywał się na stojąco, co ma na celu zwiększenie jego efektywności, ale z pewnością nie jest to obowiązkowe. Ponadto w dobie pracy zdalnej może to być nieco problematyczne, a nawet dziwne 😉.
9. Czy są jeszcze jakieś inne mity, które możesz obalić?
Ta zasada, że nikt spoza zespołu nie może uczestniczyć w codziennym spotkaniu (Daily Scrum). Tak, Daily to spotkanie zespołu programistów, ale to nie oznacza, że nikt spoza grupy nie może dołączyć do spotkania. Należy tylko pamiętać, że obecność innych osób powinna zostać wcześniej uzgodniona z zespołem i że osoby te nie powinny zakłócać przebiegu Daily Scrumu. Na przykład czasami zespoły same zapraszają gości, aby zadać im pytania lub uzgodnić pewne szczegóły. Nie stanowi to naruszenia zasad, ponieważ należy pamiętać, że wszystko, co nie jest zabronione w Scrumie, jest dozwolone.
10. Czy mógłbyś wskazać jakieś konkretne dowody na to, że metodologia Scrum sprawdza się w Twoim zespole?
Projekt, który obecnie realizujemy, jest rozległy i zaawansowany pod względem stosowanych technologii. Mamy kilka zespołów scrumowych, w których pełnię rolę Scrum Mastera. Doskonale widzę, że codzienne spotkania scrumowe przynoszą efekty. Oprócz głównego celu tych spotkań, jakim jest zaplanowanie pracy na najbliższe 24 godziny, pozwalają nam one również dzielić się wiedzą z zespołem. Dzięki codziennym spotkaniom zespoły mają okazję wymieniać się informacjami na temat stanu zaawansowania wdrażanych funkcji oraz stosowanych rozwiązań.
Ze względu na złożoność projektu oraz fakt, że pracuje nad nim kilka zespołów, często pojawiają się tzw. „drop-iny”, czyli zadania, których nie zaplanowano wcześniej w danym sprincie. Dzięki codziennemu spotkaniu zespoły lepiej radzą sobie z takimi zadaniami.
11. I na koniec – czy metodologia agile jest lekarstwem na wszystkie „zło”/panaceum na wszystko, czy tylko chwilową modą?
Uważam, że podejście zwinne stanowi alternatywę dla tradycyjnych metodologii. Jest ono odpowiedzią na wyzwania związane z nieustannie zmieniającym się otoczeniem biznesowym. Należy jednak pamiętać, że podejście zwinne nie sprawdzi się wszędzie i w każdym przypadku. Nie ma więc potrzeby forsowania wdrażania tej filozofii tylko po to, by być „zwinnym”. Z drugiej strony to, czy podejście zwinne jest właściwe, zależy od wielu czynników. Z pewnością musimy rozważyć, czy w naszym przypadku wprowadzenie tego podejścia ma sens.
A czy to tylko chwilowa moda? Moim zdaniem nie. Oczywiście w pewnym momencie podejście zwinne stało się modne i każdy chciał być „zwinny”, ale wynika to raczej z faktu, że Agile stało się również znaczącą branżą komercyjną. W rezultacie oferta szkoleń i certyfikacji jest ogromna.
W Ailleron kładziemy nacisk na rozwój naszej pracy i jej ciągłe doskonalenie. Na co dzień w wielu zespołach stosujemy metodyki Scrum, co pomaga nam osiągać cele biznesowe i dążyć do doskonałości. Zespół Wojtka jest doskonałym przykładem na to, że Scrum naprawdę działa i poprawia współpracę zespołową.