Gdy zaczynamy wchodzić w świat zwinności, polskie tłumaczenia bombardują nas istną mieszaniną określeń na Agile, chaosem semantycznym, w którym ciężko się poruszać. Metodologia Agile, metodyka, a może po prostu Agile framework? W tym artykule podsumuje najbardziej istotne różnice w nomenklaturze i postaram się podsumować, czym właściwie jest ten Agile.
Metodologia Agile?
Nie! Agile nie jest pojmowany jako metodologia w polskim rozumieniu tego słowa. Zgodnie ze Słownikiem Języka Polskiego, metodologia to nauka o metodach badań naukowych, ich skuteczności oraz wartości poznawczej. Agile nie oferuje naukowego podejścia do tworzenia i weryfikacji hipotez, wraz z zestawem pomiarów i narzędzi. W związku z tym nie może być uznany za metodologię. Skąd więc wzięło się to pojęcie? Termin "metodologia" w kontekście Agile został bezpośrednio przejęty z angielskiego "methodology", używanego na początku wprowadzania koncepcji Agile do świata biznesu. Jednakże, jego stosowanie w tym kontekście jest nieprawidłowe – w języku angielskim "metodologia" określa zestaw ustrukturyzowanych działań dążących do jasno określonego celu. Tu również widzimy, że nie jest to całkowicie adekwatne – w podejściu zwinnym nie ma jasno zdefiniowanych czynności, a kieruje się praktykami emergentnymi. Warto więc zachować ostrożność przy używaniu kalk językowych, gdyż różnica pomiędzy "we wtorki wywożą zmieszane śmieci" a "on Tuesday they take out confused trash" jest znacząca.
Metodyka Agile?
Tu jesteśmy już trochę bliżej. Metodyka to po prostu zbiór metod, rozwiązań na dany problem. Czy Agile dostarcza nam zbioru metod, którymi możemy działać? Spójrzmy dalej.
Czy Agile to metoda?
Coraz cieplej :) Metoda to jasno określony sposób na dotarcie do wcześniej zdefiniowanego celu. Znany nam jest punkt początkowy, punkt końcowy (gdzie chcemy dotrzeć) oraz jasno określone kroki, które możemy mierzyć i walidować w trakcie. Dobrym przykładem będzie tu Metoda Kanban, jak widać na holistycznym przykładzie Kanban Maturity Model.
Ale czy w takim razie wszystko co powiązane z podejściem Agile, jest również metodą?
Nie wszystko, co wiąże się z podejściem Agile, jest konkretną metodą. Agile to raczej filozofia lub zestaw wartości i zasad, które są opisane w Manifescie Agile. Te wartości i zasad mogą być realizowane za pomocą różnych praktyk i technik, które są często nazywane "metodami" lub "frameworkami".Framework to nic więcej niż ramy postępowania, w których działamy. Taką ramą może być ustalony czas godzin naszej pracy, sposób komunikacji, wartości jakimi się kierujemy w naszym zespole czy organizacji. Najpopularniejsze frameworki, takie jak Scrum czy Kanban, zostały stworzone jako konkretne sposoby na realizację tych zasad i wartości. Ale istnieją również inne praktyki i techniki, które mogą być stosowane w ramach podejścia Agile, a które nie są konkretnymi "metodami". Przykładowo, techniki takie jak programowanie parami(pair programming), ciągła integracja(CI), TDD (Test Driven Development), extreme programming czy refaktoryzacja, są często stosowane w projektach Agile, ale nie są one samymi w sobie "metodami".Ważne jest zrozumienie, że Agile to nie jest sztywny zestaw reguł, które muszą być ślepo przestrzegane. Jest to raczej filozofia, która promuje adaptacyjność, ciągłe uczenie się, współpracę i dostarczanie wartości. Różne zespoły i organizacje mogą interpretować i stosować te zasady na różne sposoby, w zależności od ich specyficznych potrzeb i kontekstu. Dla przykładu: framework, np. Scrum posiada jasno sprecyzowany punkt startowy oraz hipotezę punktu końcowego, ale sposoby i techniki, jakimi do tego celu chcemy dotrzeć, mogą zmieniać się w czasie. Jak to wygląda w praktyce? Mamy podane granice samoorganizacji, takie jak wydarzenia Scrum, artefakty, zobowiązania, odpowiedzialności itd. Cel Produktu, do którego dążymy, podlega ciągłej inspekcji poprzez walidację celów krótkoterminowych, w tym przypadku Celów Sprintu. To co w końcu z tym Agile? Ani to metodyka, metoda, framework... to z czym to jeść?
Agile dla mnie to nic więcej niż:
Sposób na postrzeganie i reagowanie na otaczającą nas rzeczywistość, który ma na celu budowę kultury ciągłego rozwoju.
Do tego możemy wykorzystać dowolne metody, frameworki, techniki czy narzędzia. Samo podejście zwinne nie narzuca nam żadnych sposobów pracy, poza kilkoma wskazówkami, co powinno być dla nas ważne.- I właśnie te wskazówki możemy znaleźć w tzw. Agile Manifesto i 12 pryncypiach Agile.
Pomaga nam dostosowywać się do szybko zmieniających warunków dookoła, priorytetyzować nasze zadania w stosunku do osiągania jak największej wartości dla użytkownika czy klienta, jednocześnie dostarczając jakościowy produkt.
Zwinny możesz być Ty, Twój zespół, departament, organizacja. Ja osobiście największą zwinność dostrzegam patrząc na dzieci: ciągłe dopytywanie, walidacja założonych celów, praca na feedbacku, inspekcja prac na każdym etapie...
A Ty gdzie dostrzegasz zwinność w swoim świecie?