Blog

26 czerwca 2015 Wojciech Zawistowski

W jaki sposób wdrożyć Agile?

Tagi:

W jaki sposób wdrożyć Agile?

Z jednej strony, Agile bazuje na inspekcji i adaptacji. Bierze pod uwagę to, że każda firma, produkt i zespół są unikalne, i by osiągnąć najwyższą efektywność musimy dostosować uzywaną przez nas metodykę do naszego konkretnego kontekstu.

Z drugiej strony, niektóre frameworki Agile mogą się na pierwszy rzut oka wydawać mocno preskryptywne. Na przykład Scrum definiuje jakie spotkania powinny być prowadzone, jak często, jaki jest ich maksymalny czas trwania itd.

Czy jest to ze sobą sprzeczne? Jak powinniśmy wdrażać Agile: podręcznikowo, czy eksperymentując?

Dwie ścieżki skutecznego wdrożenia Agile

Dostrzegam dwa podstawowe sposoby wdrożenia Agile. Oba są potencjalnie w stanie zadziałać, ale wiążą się z różnymi kompromisami.

Wdróż framework Agile podręcznikowo, następnie zacznij go adaptować

Pierwszy sposób jest rewolucyjny. Od startu wdróż wszystkie artefakty i ceremoniały zalecane przez framework – potencjalnie zmieniając po drodze wiele obecnych procedur.

Taka zmiana może być bardzo dysrupcyjna i spotkać się z silnym oporem, przez co może okazać się trudna do przeprowadzenia. Z drugiej strony, może być skuteczna nawet w przypadku, gdy jedynie kilka osób w firmie dogłębnie rozumie pryncypia Agile. Co więcej, takie podejście umożliwia naukę pryncypiów Agile w trakcie, czy nawet w późnym okresie, procesu jego wdrażania.

Dopiero gdy zbliżysz się do pełnego, niemalże podręcznikowego wdrożenia Agile, i gdy zrozumiesz jak wszystkie jego elementy ze sobą współgrają, zaczynasz adaptować proces do swojego unikalnego kontekstu.

Stopniowo adaptuj swój obecny proces, bez wdrażania frameworka

Drugie podejście jest ewolucyjne. Rozpoczynasz od swojego obecnego procesu i stopniowo, małymi kroczkami, go adaptujesz.

Dużą zaletą takiego podejścia jest to, że nie jest ono dysrupcyjne. Zmiany są powolne i płynne. Wadą jest to, że nie masz w tej metodzie dostępu do zaleceń, które mogłyby wyznaczać Ci końcowy cel. W efekcie, osiągnięcie podobnego punktu jak w przypadku zmiany rewolucyjnej wymaga wiele czasu i dogłębnej znajomości pryncypiów Agile.

Oczywiście nie ma tu stanu końcowego – adaptujesz proces w nieskończoność.

Dwie ścieżki ku porażce

Dostrzegam także dwa częste podejścia do wdrożenia Agile, które zazwyczaj kończą się porażką.

Wdróż framework podręcznikowo, ale nigdy go nie adaptuj

To typowy symptom Agile wymuszonego “z góry”. Naszym celem jest wdrożenie frameworka, wprowadzamy więc na ślepo wszystkie ceremoniały i artefakty, ale gdy są one już na miejscu, uznajemy że “skończyliśmy”. Projekt został zamknięty i nie czujemy potrzeby wdrażania jakichkolwiek dalszych zmian.

Jeżeli proces dochodzi w pewnym momencie do punktu stagnacji i przestaje być tuningowany, jest to wyraźny znak, że tak na prawdę nie rozumiesz pryncypiów Agile. Doprowadzi to do wdrożenia na zasadzie “Kultu Cargo”, które zaowocuje poniesieniem wszystkich kosztów stosowania Agile, z pominięciem niemal wszelkich wypływających z tego korzyści.

Wdróż jedynie łatwe elementy frameworka, ponieważ pozostałe “nie pasują do naszego unikalnego kontekstu”

Kolejnym częstym syndromem jest stwierdzenie, że wdrażamy framework Agile, ale w rzeczywistości zastosowanie jedynie jego wybranych elementów. Reszta zostaje odrzucona, pod przykrywką argumentacji, że podstawową zasadą Agile jest adaptacja i że odrzucając te elementy adaptujemy framework do naszego unikalnego kontekstu.

Osobiście, mam na ten temat mocno spolaryzowaną opinię: Tak, adaptacja stanowi trzon Agile. Nie powinieneś nigdy przestać dopasowywać procesu do swojego unikalnego (i nieustannie zmieniającego się!) kontekstu. Ale powiedzmy to sobie wyraźnie: tworzenie oprogramowania do przełączników telekomunikacyjnych jest unikalnym kontekstem; działalność w branży gier komputerowych jest unikalnym kontekstem; ale “nie potrafimy pokroić wymagań na pionowe wycinki” albo “nasi analitycy biznesowi, developerzy i specjaliści QA ze sobą nie rozmawiają” NIE są unikalnym kontekstem. Są brakiem umiejętności, których należy się nauczyć.

Frameworki są projektowane jako spójna całość. Adaptując framework do naszego braku umiejętności, tracimy wszystkie korzyści i okazje do nauki jakie ten framework dostarcza.

W jaki sposób Ty wdrażasz Agile w swojej organizacji? Czy wciąż adaptujesz? Podziel się swoją opinią w komentarzach poniżej!

Zobacz na blogu

09.09.2022
Marcin Jahn
It’s Not Just HTTP It’s Not Just HTTP

In today’s world of cloud-based solutions, distributed systems, and microservices-based architectures, network communication is a...

23.08.2022
Adam Mrowiec
Konferencja IPC 2022 Berlin Konferencja IPC 2022 Berlin

Pandemia wreszcie się kończy, dlatego w tym roku postanowiliśmy wrócić do naszych wyjazdów na konferencje....