AgileAdept.pl
metodyka agile

Metodyka Agile
nie jedno ma imię

Metodologia, metoda czy metodyka Agile? A może jeszcze coś innego? Czym w zasadzie jest Agile i jak w prostych słowach go zdefiniować? Parafrazując słowa Oscara Wilda, z czystymi i prostymi odpowiedziami na trudne pytania zazwyczaj jest tak, że rzadko kiedy są czyste i nigdy nie są proste.

A zatem aby odpowiedzieć na pytanie „czym jest Agile” musimy w pierwszej kolejności pochylić się nad wyjaśnieniem różnic pomiędzy trzema wspomnianymi słówkami na literę „m”. Powiedzmy sobie na dobry początek czym Agile nie jest.

Czy Agile jest metodą wytwarzania oprogramowania?

Zanim sięgniemy do nieocenionego w takich kwestiach słownika języka polskiego, przyjrzyjmy się dwóm angielskim rzeczownikom. W zagranicznych źródłach, w parze z Agile’m, często występuje „method” i „methodology”. Według definicji Cambridge Dictionary:

Method – a particular way of doing something.

Sprawa wydaje się dosyć prosta, method to po prostu metoda czyli konkretny, stosowany świadomie sposób na wykonanie czegoś. Jako przykład słownik Cambridge podaje, że „podróżowanie pociągiem jest najbezpieczniejszą metodą podróżowania naziemnego”. Możemy też mówić o różnych metodach wyliczania inflacji czy chociażby uprawy pomidorów.
W kontekście Agile’a stosujemy przykładowo różne metody priorytetyzacji elementów Backlogu Produktu, pisania i dokumentowania tak zwanego „czystego kodu”, rozwiązywania konfliktów w zespole Scrumowym czy też estymowania Historyjek Użytkownika.

Czy możemy zatem powiedzieć, że Agile jest po prostu metodą wytwarzania oprogramowania? Pomimo tego, że w wielu w miejscach możemy się spotkać ze sformułowaniem „Agile methods” to raczej nie zaryzykowałbym aż takiego uproszczenia. Agile jest pojęciem dużo szerszym, bardziej złożonym i nie sprowadza się do kilku prostych praktyk.

Różnice między metodyką, a metodologią Agile

Wyrazem pochodnym od method jest methodology i to właśnie ten rzeczownik najczęściej występuje w literaturze angielskiej w parze z Agile’m. Zerknijmy ponownie do słownika Cambridge.

Methodology :

  • (UK) a system of ways of doing, teaching, or studying something:
    The methodology and findings of the research team have been criticized.
  • (US) a set of methods used in a particular area of study or activity:
    The two researchers are using different methodologies.

Pierwszym, intuicyjnym odruchem i wpadnięciem przez to w pułapkę językową jest użycie sformułowania „metodologia agile”. Owszem, w języku polskim występuje słowo metodologia. Jego końcówka podpowiada jednak, że mamy do czynienia z pewną nauką. Analogicznie jak w przypadku filologii, psychologii, biologii, socjologii itp. Według słownika języka polskiego:

Metodologia – to nauka obejmująca metody badań naukowych, ich poprawność, skuteczność i naukową wartość.

Jak jednak widać w definicji powyżej, metodologia oznacza coś zupełnie innego i nijak ma się to do Agile’a i angielskiego methodology. A zatem stawianie znaku równości pomiędzy methodology i metodologią to po prostu nietrafiona kalka językowa.

W tym miejscu dochodzimy powoli do sedna. Angielskie methodology tłumaczy się też na język polski jako metodyka. Sprawdźmy ten trop.

Metodyka – zbiór zasad obejmujący sposoby wykonania jakiejś pracy.

Bingo! Innymi słowy metodyka będzie szerszym zbiorem, wspomnianych wcześniej metod czyli bliżej jej do opisania tego, czym jest Agile. Uff… jeden obrazek wart więcej niż tysiąc, a zatem krótkie podsumowanie tego przydługiego wywodu poniżej.

metodyka agile

Agile mindset i metodyki zwinne

Doszliśmy do tego, że Agile to nie żadna naukowa metodologia i bliżej mu do zbioru metod, metodyki czy też „meta metodyki”. Postarajmy się jednak rozszerzyć tę definicję o to co zawiera Manifest Agile, gdyż moim zdaniem nie jest ona do końca kompletna i prawidłowa.

Cztery główne postulaty Manifestu to swego rodzaju wartości czy wskazówki jak postępować w sposób Agile’owy rozwijając oprogramowanie. Dla przypomnienia, poniżej screen z oryginalnej strony Manifestu.

manifest agile
Źródło: agilemanifesto.org

Jak widać, nie są to żadne praktyczne wskazówki, a raczej światopoglądowe rozważania.
Dopiero dwanaście zasad Agile Manifestu zawiera ich uszczegółowienie o większe konkrety, ale wciąż nie są to metody. Przykładowo zasada trzecia mówi o konieczności dostarczania funkcjonującego oprogramowania nie rzadziej niż w kilkumiesięcznych odstępach, ale nie mówi jak to osiągnąć.

Istnieje całe mnóstwo bazujących na powyższych zasadach i wartościach praktyk czy metod Agile’owych. Z kolei połączenie i pogrupowanie różnych metod tworzy nam dopiero tak zwane metodyki zwinne. Agile będzie zatem fundamentem czy też pewnego rodzaju „parasolem”, pod którym znajdziemy je wszystkie. Przykładowo: Scrum, Kanban czy Extreme Programming (XP).

metodyki zwinne

Będzie to zapewne nieco kontrowersyjne stwierdzenie, ale „metodyka” jest moim zdaniem znaczeniowo dosyć bliska angielskiemu „framework’owi”, mianem którego określa się Scruma.
Wielu Scrum Masterów i Agile Coachy dostaje białej gorączki gdy słyszy „metodyka Scrum” i zaczyna odprawiać Scrum Guide’owe egzorcyzmy ;). Wszak każdy szanujący się SM wie, że w polskim tłumaczeniu Przewodnika po Scrumie czytamy, że Scrum to „uproszczone ramy postępowania”, a nie żadna tam metodyka.

Gdyby jednak przemyśleć temat na spokojnie, to w zasadzie Scrum to nic innego jak pewien zbiór różnych zasad, metod i reguł. Owszem, zawiera także dużo przestrzeni między swoimi ramami czy jak to też określają niektórzy, jest jedynie „szkieletem”. Większości rzeczy nie mówi wprost i dopiero sami musimy je odkryć bazując na empiryzmie i samozarządzających się Zespołach Scrumowych. Pomimo tego, gdy spojrzymy na definicję słownikową, nie ma tutaj aż tak rażącego błędu jeżeli użyjemy sformułowania metodyka Scrum.

Podsumowując, czym ostatecznie jest Agile? Można by pokusić się o definicję, że jest to pewien światopogląd i sposób myślenia, oparty o cztery postulaty i dwanaście zasad Manifestu Agile. Na bazie tego sposobu myślenia oraz w oparciu o różne praktyki i metody, zbudowane są agile’owe metodyki i frameworki. Te z kolei służą do wytwarzania użytecznych, wartościowych, złożonych Produktów w niepewnym i szybko zmieniającym się otoczeniu.

agile mindset

Same frameworki są oczywiście dużo bardziej widoczne niż nienamacalny „sposób myślenia”. Dlatego częstą pokusą wielu organizacji i zespołów jest bezmyślne wdrożenie pewnych praktyk bez zmiany kultury organizacyjnej. Prowadzi to potem niestety do wniosków, że „u nas agile nie działa” i „nic to nie zmieniło”. Wszelkiego rodzaju transformacje agile powinno zaczynać się od lewej strony „lejka” widocznego powyżej i stopniowo dokładać praktyki. Odwrotna kolejność przypomina mi zawsze taki obrazek 😉

anty agile mindset
Źródło agileforest.com

Czy Agile piszemy wielką literą?

Dave Thomas, jeden z oryginalnych twórców Manifestu Agile, głosi dosyć ciekawy pogląd. Jego zdaniem Agile zatracił już dawno swoje pierwotne znaczenie i został kompletnie wypaczony. Swoją prelekcję w ramach konferencji GOTO 2015, na której tłumaczy dlaczego tak się stało, zatytułował przewrotnie „Agile is dead„.

Skąd taka skrajna opinia? Dave powołuje się na pełną nazwę Manifestu czyli „The Manifesto for Agile Software Development”. Większość osób używa jednak skróconej wersji czyli Agile Manifesto i zdaniem D. Thomasa jest to powodem całego zła dookoła agile’a . Dlaczego?

agile is dead dave thomas
Dave Thomas – „Agile is Dead”, konferencja GOTO 2015

Po pierwsze słowo „agile” to przymiotnik, który określa to co następuje po nim. Przykładowo: agile developer, agile organization czy agile methodology.
Potoczna, skrócona nazwa publikacji z 2001 roku wskazywałaby błędnie, że to sam Manifest jest agile, zwinny, a nie sposób wytwarzania oprogramowania, do którego referowali jego twórcy.

Na przestrzeni lat przymiotnik agile zaczął więc funkcjonować bardziej w roli rzeczownika. Dlaczego jest to aż taki problem? Jak nie wiadomo o co chodzi, to chodzi o pieniądze. Przymiotnik w przeciwieństwie do rzeczownika jest niesprzedawalny.
Czy ktoś kupi od ciebie „ekologiczny”? Czy raczej ekologiczny samochód albo ekologicznie uprawiane warzywa? Analogicznie do agile’a, potrzebujemy rzeczowników, produktów, które możemy sprzedać. Szkolenie Agile, książka Agile czy konferencja Agile… Brzmi znajomo, prawda?

Dodatkowo, większość z nas pisze Agile tak jak imiona czy nazwy własne – Michał, Katarzyna, Wielki Mur Chiński, Bóg, czyli wielką literą, a to podkreśla jego ważność i uproduktywnienie.

Nie trudno zauważyć, że jest to obecnie ogromna, komercyjna branża. Wystarczy spojrzeć na liczbę certyfikowanych Scrum Masterów na stronie Scrum.org. W dniu, kiedy piszę te słowa, czyli 27.XI.2021, certyfikat PSM™ I posiada na całym świecie już przeszło 429 000 osób! Wykupienie dostępu do testu certyfikacyjnego to koszt 150$, nie wspominając już o kosztach akredytowanych szkoleń. Jeszcze dobitniej pokazują ten trend reklamy jak ta poniżej…

szkolenie scrum

Już od 1090 zł! CERTYFIKAT uznany na świecie! Uznana na całym świecie metodyka! Osiąganie celów projektowych! Aż chciałoby się dodać, że krawaty wiążę, usuwa ciąże, nic tylko się zapisywać i certyfikować. W podobnym tonie sprzedawano emerytom w latach 90-tych garnki czy wełniane kołdry ;).

Podsumowanie czym jest Agile

Przydałoby się zakończyć ten wpis jakimś pozytywnym akcentem. Chciałbym zatem podkreślić, że komercjalizacja Agile’a nie oznacza, że powinniśmy przestać z niego korzystać! Po prostu każdy kij ma dwa końce. Spopularyzowanie tego ruchu przyniosło także całe mnóstwo pozytywnych aspektów. Agile’owy sposób rozwoju oprogramowania wciąż przynosi ogrom korzyści zarówno zespołom zespołom jak i całym organizacjom.

Warto natomiast pamiętać, że Agile i zwinność to przede wszystkim zestaw wartości i sposób myślenia, a nie bezmyślne kopiowanie praktyk i oczekiwanie cudów. Podstawy Agile’owego działania, zdaniem Dave’a Thomasa da się sprowadzić do czterech prostych kroków, które nie tracą na swojej uniwersalności.

  1. Zorientuj się gdzie jesteś
  2. Zrób mały krok w stronę osiągnięcia swojego celu
  3. Dokonaj ewentualnej korekty na podstawie tego, czego się nauczyłeś
  4. Powtórz 🙂

Nie sposób się nie zgodzić. Dodałbym jeszcze tylko punkt piąty – przekaż te informacje dalej i pomóż innym w ich zrozumieniu 🙂

Jarek Łojko

komentarz

  • Jako project manager w sporej firmie zostałem poproszony o zrobienie podyplomówki z obszaru agile- wybór padł na WSKZ, bo całość nauki odbywa się online, a także samemu można decydować o tym kiedy się uczyć i pdochodzić do testów. Materiały sa dobrej jakości.

AgileAdept.pl