Odpowiadając na pytanie „czym jest metodologia agile?", postaram się wyjaśnić niektóre wyzwania językowe, które zwykle przeszkadzają w zrozumieniu. Na przykład, czy istnieje różnica między Agile (z wielką literą A) a agile (z małą literą a)? I co rozumiemy przez metodę, framework czy metodologię i czy to ma znaczenie?
Opinie na powyższy temat są różne, więc użyję koncepcji zwinności, aby pomóc w odpowiedziach, ponieważ to słowo stoi ponad tym wszystkim, nie będąc kontrowersyjne.
Co to jest Agile?
Zwinność definiuje się jako zdolność do szybkiego i łatwego myślenia oraz działania. W kontekście planowania i wykonywania pracy, zwinność obejmuje koncepcję ciągłych zmian. Jest szczególnie wartościowa w środowisku, gdzie pewien stopień zmienności, niepewności, złożoności lub niejednoznaczności sprawia, że trudno jest formułować i realizować sztywne, szczegółowe plany.
Niektórzy postrzegają 'Agile' jako definiowanie sposobu pracy, podczas gdy inni widzą w tym opis sposobu myślenia lub zachowania. Niektórzy próbują nawet używać wielkiej litery w Agile w porównaniu z agile, aby rozróżnić te dwa podejścia. Samo to może wywołać godziny czasami zabawnych, ale częściej frustrujących debat na temat tego, co jest ważniejsze lub bardziej wartościowe – robienie Agile czy bycie zwinnym?
Osobiście wolałbym skupić się na wspólnej płaszczyźnie – uznając, że myślenie i działanie są ze sobą ściśle powiązane. W rzeczywistości, biorąc pod uwagę wcześniejszą definicję zwinności, szczególnie aspekt związany z responsywnością, nie powinno być nawet możliwe 'robienie Agile' bez myślenia. Również bez późniejszych działań zwinność w myśleniu nie ma żadnej namacalnej wartości, może z wyjątkiem uczenia się przez obserwację. Tak więc, każdy prawdziwie zwinny sposób pracy musi łączyć zarówno perspektywę ludzką, jak i procesową, aby być skutecznym.
Co to jest metodologia Agile?
Zanim podzielę się swoim poglądem na ten temat, najlepiej będzie wspomnieć, że słowa metoda, framework i podejście są często używane zamiennie z metodologią.
Framework najczęściej używany jest w kontekście marki, na przykład Scrum, AgilePM i SAFe opisują siebie jako frameworki. Pozostałe terminy są częściej używane, gdy mówimy w bardziej ogólnych kategoriach o zwinności.
Najlepsze z frameworków zwinnych opisują specyficzne kombinacje wartości, zasad, procesów, praktyk, ról, odpowiedzialności oraz wspierających produktów pracy lub artefaktów. Wartości, zasady, role i odpowiedzialności dotyczą ludzkich aspektów zwinności, podczas gdy procesy, praktyki i produkty pracy zapewniają strukturę i mechanizmy dostarczania.
Niektóre z najpopularniejszych frameworków zwinnych to:
Scrum:
Scrum to zwinne podejście stosowane głównie w tworzeniu produktów. Wywodzi się z obszaru rozwoju oprogramowania i to tam jest nadal najczęściej wykorzystywane. Wbrew powszechnemu przekonaniu NIE jest to metodologia zarządzania projektami, ponieważ nie zajmuje się żadnymi aspektami zarządzania projektami. Skupia się wyłącznie na dostarczaniu produktów, w czym naprawdę się sprawdza.
Scrum składa się z zestawu 5 wartości (Zaangażowanie, Koncentracja, Otwartość, Szacunek i Odwaga) silnie skoncentrowanych na ludzkich aspektach zwinności. Opisują one zestaw idealnych zachowań, które każdy członek zespołu Scrum powinien starać się wcielać w życie i wspierać u pozostałych. Scrum definiuje również trzy role w ramach tego podejścia:
- Jeden Product Owner odpowiedzialny za identyfikację i priorytetyzację pracy w celu dostarczenia optymalnej wartości wcześnie i często;
- Wielu Deweloperów, którzy samoorganizują się w celu dostarczania wartościowych Przyrostów produktu; oraz
- Jeden Scrum Master, który pomaga całemu zespołowi w maksymalnym wykorzystaniu zwinnego sposobu pracy opisanego przez Scrum.
Dostarczanie produktu jest organizowane w prostym, powtarzającym się cyklu rozwoju znanym jako Sprint. Sprinty są zazwyczaj krótkie – trwają miesiąc lub krócej. Każdy cykl zaczyna się od wydarzeń (krótkich, skoncentrowanych spotkań) mających na celu uzgodnienie i zaplanowanie pracy. Kończy się wydarzeniami służącymi do przeglądu tego, co zostało dostarczone, oraz zbadania, jak zarówno produkt, jak i sposób pracy mogą zostać ulepszone. Codziennie odbywa się 15-minutowe spotkanie Daily Scrum używane przez Deweloperów do utrzymania koncentracji na dostarczaniu zgodnie z uzgodnionym Celem Sprintu i odpowiedniego dostosowywania szczegółów ich planów.
Scrum kładzie nacisk na empiryzm w kontroli swoich procesów – kolejny kluczowy ludzki fundament prawdziwie zwinnej metodologii. W miarę postępu rozwoju zespół ma za zadanie wykorzystywać przejrzystość zapewnianą przez wydarzenia i artefakty Scrum. Na podstawie ich inspekcji powinni stale dostosowywać to, co robią, aby zoptymalizować dostarczanie wartości. Przejrzystość, inspekcja i adaptacja to trzy filary empirycznej kontroli procesów.
Kanban:
Niektórzy uważają Kanban za podejście szczupłe (lean) do rozwoju, a nie zwinne. Choć może istnieć techniczna zasadność tego argumentu, w większości przypadków jest to nieistotne. Podobnie jak Scrum, Kanban opisuje sposób pracy, który skupia się na dostarczaniu wartości wcześnie i często, zachęca do współpracy między członkami zespołu i uprawnia ich do zarządzania szczegółami swojej pracy.
Jedna kluczowa różnica między Scrum a Kanban polega na tym, że proces Kanban to ciągły przepływ pracy, a nie powtarzające się cykle. Członkowie zespołu pobierają element pracy z backlogu, gdy tylko skończą poprzedni element. W przeciwieństwie do Scrum, który preferuje, aby członkowie zespołu byli wielofunkcyjni (wielozadaniowi), przekazywanie pracy od jednej osoby do drugiej w Kanban jest częstsze. Liczba pozycji Pracy w Toku (WiP) jest celowo ograniczona, zachęcając członków zespołu do współpracy w rozwiązywaniu problemów, gdy zostanie osiągnięty limit WiP.
Ludzkie aspekty behawioralne Kanban są kierowane przez sześć podstawowych praktyk: Wizualizuj pracę; Ogranicz Pracę w Toku; Zarządzaj przepływem; Czyń zasady jasnymi; Wdrażaj pętle sprzężenia zwrotnego; Ulepszaj we współpracy; i Rozwijaj eksperymentalnie.
Jak w Scrum, uporządkowany backlog jest utrzymywany, aby kierować i kształtować pracę programistów. W przeciwieństwie do Scrum, planowanie, przeglądy i retrospektywy nie są powiązane z cyklami rozwoju. Analogi tych elementów jednak istnieją w Kanban i są zazwyczaj organizowane zgodnie z ustalonym wcześniej rytmem i obejmują Codzienne Standup. Tabela poniżej opisuje wydarzenia Scrum i ich odpowiedniki w Kanban.
| Wydarzenie Scrum | Odpowiednik Kanban |
|---|---|
| Planowanie Sprintu | Spotkanie Uzupełniające |
| Codzienny Scrum | Codzienny Stand-up |
| Przegląd Sprintu | Przegląd Dostarczania Usług |
| Retrospektywa Sprintu | Przegląd Operacyjny / Retrospektywa Zespołu |
SAFe
SAFe – Scaled Agile Framework – jest nieco inny, ponieważ, jak wskazuje jego nazwa, odnosi się do znacznie szerszego obrazu. Jest specjalnie zaprojektowany do skalowania praktyk agile w dużych przedsiębiorstwach.
Podczas gdy Scrum i Kanban są dobrze dopasowane do indywidualnych zespołów, SAFe zapewnia strukturę do koordynowania wielu zespołów agile, często w różnych działach i strumieniach wartości, w dostarczaniu złożonych produktów i rozwiązań.
SAFe opiera się na fundamentalnych zasadach agile i lean – czerpiąc z frameworków takich jak Scrum, Kanban i Lean Product Development – i integruje je w ustrukturyzowaną hierarchię. Odnosi się nie tylko do dostarczania na poziomie zespołu, ale także do strategicznego dopasowania, zarządzania, budżetowania i współpracy między zespołami.
Kluczowe role w SAFe obejmują:
- Zespoły Agile (stosujące Scrum lub Kanban),
- Product Owner i Scrum Master (na poziomie zespołu),
- Release Train Engineer (RTE) – lidera w stylu agile dla Agile Release Train (ART),
- Zarządzanie Produktem i Architekt/Inżynier Systemu – koordynujący priorytety i architekturę między zespołami,
- Lean Portfolio Management – dopasowujący inwestycje do strategii.
Praca jest planowana i dostarczana w Program Increments (PI) – zazwyczaj trwających 8–12 tygodni – i strukturalizowana wokół regularnych wydarzeń opartych na kadencji:
- PI Planning – zakrojona na szeroką skalę, bezpośrednia sesja planowania, która dopasowuje wszystkie zespoły do celów i zależności,
- System Demos – które pokazują zintegrowany postęp w zespołach,
- Inspect & Adapt – ustrukturyzowana retrospektywa dla ciągłego doskonalenia.
SAFe zachęca do przywództwa Lean-Agile, kultury ciągłego uczenia się i myślenia skoncentrowanego na kliencie. Choć bardziej nakazowy niż Scrum czy Kanban, SAFe zapewnia rusztowanie dla skali, umożliwiając organizacjom utrzymanie zwinności przy jednoczesnym zarządzaniu złożonością i dopasowaniem na poziomie przedsiębiorstwa.
AgilePM:
AgilePM różni się również tym, że koncentruje się na projekcie, a nie na kontekście produktu, zajmując się wszystkimi klasycznymi aspektami zarządzania projektami, ale w fundamentalnie zwinny sposób. Równoważy wszystkie korzyści zwinności z rygorem bardziej tradycyjnych dyscyplin zarządzania projektami.
Jest szczególnie dobrze dopasowany do organizacji takich jak rząd, usługi finansowe czy inne regulowane branże, które wymagają zapewnienia interesariuszy, określonych ról i odpowiedzialności oraz kontrolowanego środowiska dostarczania.
AgilePM zawiera elementy skalowania do wielu samoorganizujących się zespołów i koncentruje się na dostarczaniu wartości. W przeciwieństwie do większości zwinnych podejść, skupia się jednak na wynikach, a nie na rezultatach, obejmując całą pracę potrzebną do realizacji wartości, a nie tylko dostarczanie czegoś, co powinno być wartościowe.
Jak każdy dobry zwinny framework, zawiera zarówno elementy ludzkie, jak i procesowe, wszystkie zidentyfikowane na poniższym diagramie.
Po podsumowaniu niektórych z najważniejszych zwinnych frameworków, nadszedł dobry moment, aby powrócić do terminu metodologia.
Dla wielu metodologia to po prostu inne słowo na framework, ale wolę przyjrzeć się nieco głębiej dodatkowej wartości, jaką to słowo może nieść. Wiele źródeł definiuje metodologię jako „badanie, analizę lub zastosowanie metod". Tak więc zwinna metodologia mogłaby być interpretowana w tym kontekście nieco inaczej niż framework, obejmując rzeczywiste zrozumienie tego, co sprawia, że określony framework działa i dlaczego.
W ostatnim czasie niektóre organizacje wydają się rozczarować „agile", często odwracając się od znaczących inwestycji, które nie spełniły złożonych obietnic. Dlaczego tak się dzieje? Czy to dlatego, że zwinne frameworki nie działają? Czy to dlatego, że za dużo obiecano? A może przez brak uwagi poświęconej metodologii?
Zajmuję się zwinnością od jej powstania w połowie lat 90., wdrażając, adaptując, a nawet tworząc zwinne frameworki. Doświadczywszy, a czasem prowadząc dobre, złe i brzydkie inicjatywy mające na celu poprawę wydajności poprzez zwinność, myślę, że to ostatnie może być najbliższe prawdy.
Jak wspomniałem wcześniej, należy uwzględnić zarówno ludzki, jak i procesowy wymiar każdego zwinnego frameworka. Część procesowa jest łatwa... Praca w krótkich okresach z uporządkowanego według priorytetów backlogu prac, częste przeglądy produktu podczas rozwoju, codzienne 15-minutowe spotkania zespołu „stand-up" itp.
Część ludzka jest znacznie trudniejsza. Rzeczywiste zrozumienie osobistych i międzyosobowych aspektów zwinnego sposobu pracy jest potrzebne, jeśli potencjał jakiegokolwiek frameworka ma zostać zrealizowany. Obejmują one:
Wzmocnienie pozycji i własność pracy
Wszystkie podejścia zwinne kładą nacisk na samoorganizację (lub samonadzór) na poziomie zespołu. Założeniem stojącym za tym jest to, że ci, którzy są najbliżej pracy, powinni być najlepiej wykwalifikowani do decydowania o najlepszym sposobie jej wykonywania. Dodając do tego potrzebę szybkiego reagowania na stosunkowo drobne zmiany w środowisku pracy, samoorganizacja staje się niezbędna dla zwinnego sposobu pracy. Dwa wymiary tego to upodmiotowienie i poczucie własności.
Upodmiotowienie odnosi się do stopnia autonomii i samostanowienia, jakie mają zespoły i jednostki w zespołach. Musi ono równoważyć uprawnienia dotyczące tego, co robić, kiedy i jak, aby osiągnąć uzgodniony cel, z kompetencjami do efektywnego wykonywania tego zadania.
Jest to równoważone przez poczucie własności. Jednostki i zespoły, które są upodmiotowione do przejęcia odpowiedzialności za swoją pracę w ten sposób, wykazują lepsze wyniki i produktywność oraz zwiększoną satysfakcję z pracy w porównaniu z tymi, których praca jest kontrolowana przez innych.
Dobry zwinny lider (tradycyjnie menedżer) będzie zatem pracować nad zapewnieniem optymalnego upodmiotowienia swoich zespołów.
Współpraca i komunikacja
Wśród cech charakterystycznych ludzi, które odróżniają nas od większości innych gatunków zwierząt, znajduje się nasza zdolność do współpracy w rozwiązywaniu problemów. Współpraca jest napędzana przez nasze zaawansowane umiejętności komunikacyjne – przede wszystkim przez naszą zdolność do dzielenia się myślami i pomysłami za pomocą języka. Wszystkie podejścia zwinne mają w swoim centrum pracę opartą na współpracy i opierają się na przejrzystości wspieranej przez jasną, otwartą, szczerą komunikację dotyczącą wszystkich aspektów wykonywanej pracy. Jest to niezbędny wymóg w zespole zwinnym i powinno być również standardem dla komunikacji zewnętrznej.
Inteligencja i Pragmatyzm
Tu właśnie wchodzi w grę metodologia… Jedną z głównych przyczyn niepowodzenia inicjatyw transformacji zwinnej jest brak inteligentnego, pragmatycznego zastosowania. To nawiązuje do najważniejszego ludzkiego fundamentu zwinności. Jeśli traktujesz Scrum, AgilePM lub jakąkolwiek inną zwinną metodykę wyłącznie jako zestaw procesów do przestrzegania, prawdopodobnie nie uzyskasz z tego zbyt wiele wartości.
Pełny sukces z jakąkolwiek zwinną metodyką wymaga empiryzmu. To znaczy, wymaga ciągłej przejrzystości oraz stałej inspekcji i adaptacji:
- Przejrzystość zarówno stosowanego podejścia, jak i postępów w kierunku osiągnięcia pożądanych celów jest niezbędna. Jest konieczna, aby umożliwić…
- Inspekcję obu tych elementów. Konkretnie analizowanie, czy wszyscy zaangażowani rozumieją sposób pracy i prawidłowo stosują wybraną metodykę oraz czy wyniki i efekty są zgodne z oczekiwaniami. Jest to konieczne, aby umożliwić skuteczną…
- Adaptację. Która może również dotyczyć adaptacji w ludziach lub procesach.
- Ludzie nowi w zwinnym sposobie pracy prawdopodobnie znajdą go całkiem odmiennym od sposobu, w jaki pracowali wcześniej. Zarówno członkowie zespołu, JAK I interesariusze zewnętrzni względem zespołu prawdopodobnie będą musieli wprowadzić zmiany w sposobie pracy.
- Domyślne procesy i praktyki w metodyce mogą wymagać adaptacji dla uzyskania optymalnych rezultatów. Należy rozważyć wszelkie adaptacje, które pozwolą zespołowi być bardziej efektywnym i skutecznym w osiąganiu biznesowych celów końcowych. W zwinności nie powinno być strachu przed eksperymentowaniem w tym względzie.
Czym jest zwinne zarządzanie projektami
AgilePM to pierwsza i prawdopodobnie najlepsza struktura dla Agile Project Management. Opisuje zwinne zarządzanie projektami jako elastyczne i iteracyjne podejście do zarządzania projektami. Zostało zaprojektowane, aby sprostać wyzwaniom współczesnych, dynamicznych środowisk. AgilePM skupia się na wczesnym i ciągłym dostarczaniu wartości biznesowej, jednocześnie przyjmując zmiany i niepewność przez cały cykl życia projektu. W przeciwieństwie do tradycyjnych metod, które w dużym stopniu opierają się na szczegółowym planowaniu wstępnym i zakładają stabilne środowisko, AgilePM zostało zbudowane, aby prosperować w warunkach zmienności, niepewności, złożoności i niejednoznaczności (VUCA).
W projektach zwinnych nacisk kładzie się na ludzi, współpracę i działające rozwiązania, a nie na sztywne procesy i dokumentację. AgilePM integruje wartości Manifestu Agile – z którym zgodne są wszystkie prawdziwie zwinne podejścia – w szerszy kontekst projektowy, wykraczając poza rozwój oprogramowania i stosując się do różnorodnych projektów biznesowych.
AgilePM kładzie nacisk na iteracyjny rozwój rozwiązania biznesowego, podział pracy na ramy czasowe oraz częste angażowanie interesariuszy, aby zapewnić, że rozwiązania ewoluują w odpowiedzi na rzeczywiste opinie, a nie stałe wymagania określone na wczesnym etapie. Ale AgilePM idzie dalej. Nie ogranicza się do nadzorowania rozwoju produktu, ale obejmuje również zapewnienie realizacji wartości przez dostosowanie zasobów, zarządzanie ryzykiem i utrzymanie ładu korporacyjnego. Struktura wspiera planowanie i podejmowanie decyzji just-in-time, zachęcając do elastyczności i zdolności adaptacji, jednocześnie zapewniając solidne kontrole i odpowiedzialność.
Ogólnie rzecz biorąc, Agile Project Management, którego przykładem jest AgilePM, to zdyscyplinowane, ale elastyczne podejście do projektów, które równoważy zwinność z ładem korporacyjnym. Jest szczególnie skuteczne w projektach, gdzie oczekiwana jest zmiana, a wartość dla klienta stanowi główny punkt zainteresowania. Pomaga umożliwić zwinność biznesową, pozwalając organizacjom szybko i odpowiedzialnie reagować na zmieniające się potrzeby bez kompromisów w zakresie jakości lub kierunku strategicznego.
Czym jest zwinność biznesowa
Zwinność biznesowa to zdolność organizacji do szybkiego dostosowywania się do zmian rynkowych i środowiskowych w sposób produktywny i opłacalny. Kładzie nacisk na responsywność, innowacyjność i orientację na klienta, umożliwiając organizacjom rozwój w warunkach niepewności i zmian.
Historycznie koncepcja ta wywodzi się od myślicieli takich jak Alvin Toffler i Peter Drucker, którzy podkreślali konieczność adaptacyjności i innowacyjności w obliczu szybkich zmian. Termin "zwinność biznesowa" zyskał na znaczeniu na początku XXI wieku pod wpływem ruchu Agile Software Development i od tego czasu ewoluował, obejmując szersze praktyki organizacyjne.
Kluczowe aspekty zwinności biznesowej obejmują:
- Orientacja na klienta: Zwinne organizacje priorytetowo traktują efektywne dostarczanie wartości klientom, wykorzystując ciągłe informacje zwrotne do poprawy doświadczeń klienta.
- Elastyczność i zdolność adaptacji: Takie organizacje potrafią szybko dostosowywać procesy i struktury w odpowiedzi zarówno na drobne zmiany, jak i znaczące przekształcenia, opierając się na upodmiotowionych pracownikach podejmujących świadome decyzje.
- Efektywność operacyjna: Dzięki usprawnieniu procesów i redukcji marnotrawstwa, zwinne przedsiębiorstwa osiągają efektywność, często poprzez upodmiotowienie zespołów do przejęcia odpowiedzialności za swoje procesy robocze.
Zwinność biznesowa nie jest podejściem uniwersalnym; różni się między organizacjami, a nawet w różnych obszarach tej samej organizacji. To ciągła podróż, wymagająca kultury wspierającej nieustanne uczenie się i adaptację. Wdrożenie zwinnych frameworków, takich jak Scrum, może być punktem wyjścia, ale prawdziwa zwinność wymaga zmiany mentalności w całej organizacji.
Ostatecznie zwinność biznesowa zapewnia przewagę konkurencyjną, umożliwiając organizacjom szybkie reagowanie na wymagania rynku, ciągłe wprowadzanie innowacji i dostarczanie trwałej wartości klientom.
Wniosek
Wiele osób używa zamiennie terminów metodologia agile, metoda agile i framework agile. To jest w porządku – taki jest porządek świata. Niemniej jednak uważam, że metodologia sugeruje głębsze zagłębienie się w to, dlaczego i jak działają metody i frameworki.
Wielu osiągnie skromne poprawy wydajności poprzez względnie „bezmyślne" wdrożenie frameworka agile, takiego jak Scrum czy AgilePM „prosto z pudełka". Dla wielu z nich będzie to wystarczającą nagrodą, ale dla tych, którzy uwierzyli w marzenie o radykalnej poprawie, „życie w agile" zamiast „robienia agile" to niezbędny następny krok.
Można to osiągnąć poprzez wykorzystanie empirycznych podstaw wszystkich najlepszych frameworków – poprzez wykorzystanie przejrzystości i uczenia się przez inspekcję oraz eksperymentalną adaptację, które stanowią fundament agile'owego sposobu pracy.
Chociaż znaczące ulepszenia można zrealizować względnie szybko, przyjęcie zwinności nie zawsze jest łatwe, ponieważ zwykle wymaga zmiany zachowania wewnątrz zespołów dostarczających i wokół nich. Optymalizacja zwinności to nigdy niekończąca się podróż, i warto zauważyć, że adaptacja w ludzkich aspektach sposobu pracy, a nie w aspektach procesowych, prawdopodobnie przyniesie najbogatsze korzyści.