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 jakakolwiek różnica między Agile (z dużą 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 się różnią, więc użyję pojęcia zwinności, aby pomóc w udzieleniu odpowiedzi, ponieważ to słowo stoi ponad tym wszystkim, nie będąc kontrowersyjne.
Czym 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 sztywne, szczegółowe plany są trudne do sformułowania i realizacji.
Niektórzy postrzegają 'Agile' jako sposób definiowania metody pracy, podczas gdy inni widzą to jako opis sposobu myślenia lub zachowania. Niektórzy nawet próbują używać wielkiej litery w Agile w przeciwieństwie do agile, aby rozróżnić między nimi. To samo może podsycać godzinne, czasami zabawne, ale częściej frustrujące debaty o tym, 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ą ściśle ze sobą związane. W rzeczywistości, biorąc pod uwagę wcześniejszą definicję zwinności, zwłaszcza aspekt związany z reakcyjnością, nie powinno być nawet możliwe 'robienie Agile' bez myślenia. Również bez późniejszego działania, zwinność w myśleniu nie ma namacalnej wartości, z wyjątkiem być może uczenia się przez obserwację. Tak więc, każdy prawdziwie zwinny sposób pracy musi łączyć zarówno perspektywę ludzką, jak i procesową, jeśli ma być skuteczny.
Co to jest metodyka 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 jest najczęściej używany w kontekście brandowym, gdzie na przykład Scrum, AgilePM i SAFe określają siebie jako frameworki. Pozostałe terminy są częściej używane, gdy mówimy w bardziej ogólnych kategoriach o zwinności.
Najlepsze ze zwinnych frameworków opisują konkretne 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 realizacji.
Niektóre z najpopularniejszych zwinnych frameworków to:
Scrum
Scrum:
Scrum to zwinny framework używany przede wszystkim do tworzenia produktów. Swoje początki ma w obszarze tworzenia oprogramowania i tam nadal jest najczęściej wykorzystywany. Wbrew powszechnemu rozumieniu NIE jest metodologią zarządzania projektami, ponieważ nie obejmuje żadnych aspektów zarządzania projektami. Skupia się wyłącznie na dostarczaniu produktów, gdzie naprawdę się sprawdza.
Scrum składa się z zestawu 5 wartości (Zaangażowanie, Skupienie, Otwartość, Szacunek i Odwaga) silnie skoncentrowanych na ludzkich aspektach zwinności. Opisują one zestaw idealnych zachowań, które każdy w zespole Scrum powinien starać się wdrażać i wspierać u innych. Scrum definiuje również trzy role w ramach tego frameworka:
- Jeden Product Owner odpowiedzialny za identyfikowanie i ustalanie priorytetów pracy w celu dostarczania optymalnej wartości wcześnie i często;
- Wielu Programistów, którzy samoorganizują się, aby dostarczać wartościowe Inkrementy produktu; oraz
- Jeden Scrum Master, który pomaga całemu zespołowi jak najlepiej wykorzystać zwinny sposób pracy opisywany 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 rozpoczyna się wydarzeniami (krótkimi, skupionymi spotkaniami) mającymi na celu uzgodnienie i zaplanowanie pracy. Kończy się wydarzeniami służącymi do przeglądu tego, co zostało dostarczone, oraz do zbadania, jak można ulepszyć zarówno produkt, jak i sposób pracy. Codziennie odbywa się 15-minutowe spotkanie Daily Scrum używane przez Programistów do utrzymania skupienia na dostarczeniu uzgodnionego celu Sprinta i odpowiedniego dostosowania szczegółów ich planów.
Scrum kładzie nacisk na empiryzm w kontroli swoich procesów - kolejną kluczową ludzką podstawę prawdziwie zwinnej metodologii. W miarę postępu rozwoju, zespół powinien wykorzystywać przejrzystość oferowaną przez wydarzenia i artefakty Scrum. Na podstawie ich inspekcji powinien nieustannie dostosowywać to, co robi, aby zoptymalizować dostarczanie wartości. Przejrzystość, inspekcja i adaptacja to trzy filary empirycznej kontroli procesu.
Kanban
Kanban:
Niektórzy uważają Kanban za podejście lean do rozwoju, a nie za zwinne. Choć może istnieć techniczna podstawa dla takiego argumentu, w większości przypadków jest to bez znaczenia. Podobnie jak Scrum, Kanban opisuje sposób pracy skupiony na dostarczaniu wartości wcześnie i często, zachęca do współpracy między członkami zespołu i daje im możliwość 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, jak tylko skończą poprzedni element. W przeciwieństwie do Scrum, który preferuje członków zespołu o kompetencjach przekrojowych (wieloumiejętnych), przekazywanie pracy od jednej osoby do drugiej w Kanban jest bardziej powszechne. Liczba elementów 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.
Behawioralne aspekty Kanban są kierowane przez sześć podstawowych praktyk: Wizualizacja pracy; Ograniczanie Pracy w Toku; Zarządzanie przepływem; Wyjaśnianie polityk; Implementacja pętli sprzężenia zwrotnego; Usprawnienia we współpracy; oraz Ewolucja eksperymentalna.
Jak w Scrum, uporządkowany backlog jest utrzymywany w celu kierowania i kształtowania pracy programistów. W przeciwieństwie do Scrum, planowanie, przeglądy i retrospektywy nie są powiązane z cyklami rozwoju. Analogie tych wydarzeń istnieją jednak w Kanban i są zazwyczaj organizowane zgodnie z wcześniej uzgodnionym rytmem oraz obejmują Codzienne Stand-up. Poniższa tabela opisuje wydarzenia Scrum i ich analogie w Kanban.
| Wydarzenie Scrum | Odpowiednik Kanban |
|---|---|
| Planowanie Sprintu | Spotkanie Uzupełniające |
| Codzienny Scrum | Codzienny Stand-up |
| Przegląd Sprintu | Przegląd Dostawy Usług |
| Retrospektywa Sprintu | Przegląd Operacyjny / Retrospektywa Zespołu |
SAFe
SAFe
SAFe – Scaled Agile Framework – różni się nieco od innych, ponieważ, jak sama nazwa wskazuje, odnosi się do znacznie szerszej perspektywy. Jest specjalnie zaprojektowany do skalowania praktyk zwinnych w dużych przedsiębiorstwach.
Podczas gdy Scrum i Kanban są dobrze dostosowane do poszczególnych zespołów, SAFe zapewnia strukturę do koordynowania wielu zespołów zwinnych, często działających 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 zwinności 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 dostosowania, zarządzania, budżetowania i współpracy między zespołami.
Kluczowe role w SAFe obejmują:
- Zespoły Zwinne (stosujące Scrum lub Kanban),
- Product Owner i Scrum Master (na poziomie zespołu),
- Release Train Engineer (RTE) – lider w stylu zwinnym 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 – dostosowujące inwestycje do strategii.
Praca jest planowana i dostarczana w Program Increments (PI) – zazwyczaj trwających 8–12 tygodni – i zorganizowana wokół regularnych wydarzeń opartych na kadencji:
- Planowanie PI – zakrojona na szeroką skalę, osobista sesja planowania, która dostosowuje wszystkie zespoły do celów i zależności,
- Dema Systemu – które pokazują zintegrowany postęp między zespołami,
- 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 zorientowanego na klienta. Choć bardziej nakazowe niż Scrum czy Kanban, SAFe zapewnia ramy do skalowania, umożliwiając organizacjom utrzymanie zwinności przy jednoczesnym zarządzaniu złożonością i dostosowaniem na poziomie przedsiębiorstwa.
AgilePM
AgilePM:
AgilePM różni się także nieco tym, że skupia się na kontekście projektu, a nie produktu, zajmując się wszystkimi klasycznymi aspektami zarządzania projektami, ale w fundamentalnie zwinny sposób. Równoważy wszystkie korzyści płynące ze zwinności z rygorem bardziej tradycyjnych dyscyplin zarządzania projektami.
Jest szczególnie dobrze dostosowany do organizacji takich jak administracja rządowa, usługi finansowe lub inne regulowane branże, które wymagają zapewnienia interesariuszy, zdefiniowanych ról i odpowiedzialności oraz kontrolowanego środowiska dostarczania.
AgilePM obejmuje elementy skalowania do wielu samoorganizujących się zespołów i skupia się na dostarczaniu wartości. W przeciwieństwie do większości zwinnych podejść, koncentruje 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, obejmuje zarówno elementy ludzkie, jak i procesowe, wszystkie zidentyfikowane na poniższym diagramie.
Po podsumowaniu niektórych z najważniejszych frameworków zwinnych, nadszedł dobry czas, aby powrócić do terminu metodologia.
Dla wielu metodologia to po prostu inne słowo oznaczające 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 zwinną metodologię można w tym kontekście interpretować nieco inaczej niż framework, aby obejmowała rzeczywiste zrozumienie tego, co sprawia, że dany framework działa i dlaczego.
W ostatnim czasie niektóre organizacje wydają się być rozczarowane „zwinnością", często odwracając się od znacznych inwestycji, które nie zdołały spełnić składanych obietnic. Dlaczego tak się dzieje? Czy to dlatego, że zwinne frameworki nie działają? Czy to dlatego, że obiecano zbyt wiele? A może z powodu braku uwagi poświęconej metodologii?
Jestem zaangażowany w zwinność od jej powstania w połowie lat 90. XX wieku, wdrażając, adaptując, a nawet tworząc zwinne frameworki. Doświadczywszy, a czasem przewodząc, dobrym, złym i brzydkim inicjatywom mającym na celu poprawę wydajności poprzez zwinność, myślę, że ostatnia z tych opcji może być najbliższa prawdy.
Jak wspomniałem wcześniej, należy rozważyć uwagę poświęconą zarówno ludzkim, jak i procesowym wymiarom każdego zwinnego frameworka. Część procesowa jest łatwa… Pracuj w krótkich okresach na podstawie priorytetowego backlogu pracy, organizuj częste przeglądy produktu podczas rozwoju, organizuj 15-minutowe „stand-up" spotkania zespołu każdego dnia itp.
Część ludzka jest znacznie trudniejsza. Potrzebne jest rzeczywiste zrozumienie osobistych i interpersonalnych aspektów zwinnego sposobu pracy, jeśli ma zostać zrealizowany potencjał jakiegokolwiek frameworka. Obejmują one:
Upodmiotowienie i własność pracy
Wzmocnienie pozycji i własność pracy
Wszystkie podejścia zwinne kładą nacisk na samoorganizację (lub samoregulację) na poziomie zespołu. Założeniem stojącym za tym jest, że ci, którzy są najbliżej pracy, powinni być najlepiej wykwalifikowani do decydowania o najlepszym sposobie jej wykonania. 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 odpowiedzialność.
Upodmiotowienie odnosi się do stopnia autonomii i samostanowienia, jakie mają zespoły i jednostki w zespołach. Potrzebuje ono równowagi między władzą w zakresie tego, co robić, kiedy i jak, aby osiągnąć uzgodniony cel, a kompetencjami do skutecznego wykonania tego zadania.
Jest to równoważone przez odpowiedzialność. 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 większą satysfakcję z pracy w porównaniu z tymi, których praca jest kontrolowana przez innych.
Dlatego dobry zwinny lider (tradycyjnie menedżer) będzie pracował nad zapewnieniem optymalnego upodmiotowienia swoich zespołów.
Współpraca i komunikacja
Współpraca i komunikacja
Wśród cech ludzi, które odróżniają nas od większości innych gatunków zwierząt, jest nasza zdolność do współpracy w rozwiązywaniu problemów. Współpraca jest napędzana przez nasze zaawansowane umiejętności komunikacyjne – przede wszystkim naszą zdolność do dzielenia się myślami i pomysłami poprzez język. Wszystkie zwinne podejścia mają współpracę zespołową w swoim centrum i opierają się na przejrzystości wspieranej przez jasną, otwartą, szczerą komunikację dotyczącą wszystkich aspektów wykonywanej pracy. Jest to podstawowy wymóg w zwinnym zespole i powinno być również standardem dla komunikacji zewnętrznej.
Inteligencja i pragmatyzm
Inteligencja i Pragmatyzm
To właśnie tutaj metodologia naprawdę się sprawdza… Jedną z głównych przyczyn niepowodzenia inicjatyw transformacji agile jest brak inteligentnego, pragmatycznego zastosowania. Nawiązuje to do niezwykle ważnych ludzkich podstaw zwinności. Jeśli traktujesz Scrum, AgilePM lub jakikolwiek inny framework agile czysto jako zestaw procesów do przestrzegania, prawdopodobnie nie uzyskasz z tego zbyt wiele wartości.
Pełny sukces z jakimkolwiek frameworkiem agile wymaga empiryzmu. Oznacza to, że wymaga ciągłej transparentności oraz stałej inspekcji i adaptacji:
- Transparentność zarówno podejścia, które jest stosowane, jak i postępu osiąganego w kierunku 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ą wybrany framework oraz czy rezultaty i efekty są zgodne z oczekiwaniami. Jest to konieczne, aby umożliwić skuteczną…
- Adaptację. Która może również dotyczyć adaptacji ludzi lub procesów.
- Ludzie nowi w agile sposobie pracy prawdopodobnie uznają go za dość różny od tego, jak pracowali wcześniej. Zarówno członkowie zespołu JAK I interesariusze zewnętrzni względem zespołu prawdopodobnie będą musieli dokonać dostosowań w sposobie swojej pracy.
- Domyślne procesy i praktyki w frameworku mogą wymagać adaptacji dla optymalnych rezultatów. Należy rozważyć wszelkie adaptacje, które pozwalają zespołowi być bardziej wydajnym i skutecznym w osiąganiu biznesowych celów końcowych. W zwinności nie powinno być strachu przed eksperymentowaniem w tym zakresie.
Co to jest Agile Project Management
AgilePM to pierwszy i prawdopodobnie najlepszy framework dla Zwinnego Zarządzania Projektami. 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 koncentruje się na dostarczaniu wartości biznesowej wcześnie i ciągle, jednocześnie akceptują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 z góry i zakładają stabilne środowisko, AgilePM został stworzony do prosperowania w warunkach zmienności, niepewności, złożoności i wieloznaczności (VUCA).
W projektach zwinnych nacisk kładzie się na ludzi, współpracę i działające rozwiązania zamiast na sztywne procesy i dokumentację. AgilePM integruje wartości Manifestu Agile – z którymi 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, określanie ram czasowych dla pracy i częste angażowanie interesariuszy, aby zapewnić ewolucję rozwiązań w odpowiedzi na rzeczywiste informacje zwrotne, a nie na stałe wymagania zdefiniowane na początku. Ale AgilePM wykracza poza to. Nie ogranicza się do nadzorowania rozwoju produktu, ale obejmuje zapewnienie realizacji wartości poprzez dopasowanie zasobów, zarządzanie ryzykiem i utrzymywanie nadzoru. Framework wspiera planowanie i podejmowanie decyzji w odpowiednim czasie, zachęcając do elastyczności i adaptowalności, jednocześnie zapewniając solidne kontrole i rozliczalność.
Ogólnie rzecz biorąc, Zwinne Zarządzanie Projektami, reprezentowane przez AgilePM, to zdyscyplinowane, ale adaptowalne podejście do projektów, które równoważy zwinność z nadzorem. Jest szczególnie skuteczne w projektach, gdzie oczekiwane są zmiany, a wartość dla klienta stanowi główny punkt skupienia. Pomaga umożliwić zwinność biznesową, pozwalając organizacjom szybko i odpowiedzialnie reagować na zmieniające się potrzeby bez kompromisów w zakresie jakości czy 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 koncentrację na kliencie, umożliwiając organizacjom prosperowanie w obliczu niepewności i zmian.
Historycznie koncepcja ta wywodzi się od myślicieli takich jak Alvin Toffler i Peter Drucker, którzy podkreślali konieczność adaptacji i innowacji w obliczu szybkich zmian. Termin "zwinność biznesowa" zyskał na znaczeniu na początku lat 2000., pod wpływem ruchu Agile Software Development, i od tego czasu ewoluował, obejmując szersze praktyki organizacyjne.
Kluczowe aspekty zwinności biznesowej obejmują:
- Koncentracja na kliencie: Zwinne organizacje priorytetowo traktują efektywne dostarczanie wartości klientom, wykorzystując ciągłe informacje zwrotne w celu poprawy doświadczeń klientów.
- Elastyczność i zdolność adaptacji: Takie organizacje mogą szybko dostosowywać procesy i struktury w odpowiedzi zarówno na drobne zmiany, jak i znaczące przeobrażenia, opierając się na uprawnionych pracownikach do podejmowania świadomych decyzji.
- Efektywność operacyjna: Poprzez usprawnianie procesów i redukcję marnotrawstwa, zwinne firmy osiągają efektywność, często przez uprawnienie zespołów do przejmowania odpowiedzialności za swoje przepływy pracy.
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ę. Wdrażanie zwinnych frameworków takich jak Scrum może być punktem wyjścia, ale prawdziwa zwinność wymaga zmiany sposobu myślenia w całej organizacji.
Ostatecznie zwinność biznesowa zapewnia przewagę konkurencyjną, umożliwiając organizacjom szybkie reagowanie na wymagania rynku, ciągłe innowacje i dostarczanie trwałej wartości klientom.
Wniosek
Wiele osób używa zamiennie terminów metodologia agile, metoda agile i framework agile. To w porządku – tak po prostu jest. 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 relatywnie „bezmyślną" implementację frameworka agile takiego jak Scrum czy AgilePM „wprost 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 agile" zamiast „robienia agile" to niezbędny kolejny krok.
Można to osiągnąć poprzez wykorzystanie empirycznych podstaw wszystkich najlepszych frameworków – przez wykorzystywanie transparentności i uczenia się poprzez inspekcję i eksperymentalne dostosowania, które stanowią fundament agile'owego sposobu pracy.
Choć znaczące poprawy można osiągnąć stosunkowo szybko, przyjmowanie zwinności nie zawsze jest łatwe, ponieważ zwykle wymaga zmiany zachowania w zespołach dostarczających i wokół nich. Optymalizacja zwinności to nieskończona podróż, i warto zauważyć, że adaptacja w ludzkich aspektach sposobu pracy, a nie w aspektach procesowych, prawdopodobnie przyniesie najcenniejsze korzyści.