Agile to dynamiczne podejście do zarządzania projektami i tworzenia oprogramowania, które pomaga zespołom szybciej i bez zbędnego wysiłku dostarczać wartość swoim klientom. Zamiast stawiać wszystko na „wielkie bum”, zespół agile wykonuje pracę w małych, ale wydajnych etapach. Wymagania, plany i wyniki są oceniane w sposób ciągły, dzięki czemu zespoły mają naturalny mechanizm szybkiego reagowania na zmiany.
Podczas gdy tradycyjne podejście działa wodospadowo, czyli każdy etap projektu jest wykonywany przez jeden zespół, a następnie przekazywany jest dalej do następnego zespołu, agile wzywa do współpracy między zespołami. Otwarta komunikacja, współpraca, adaptacja i zaufanie wśród członków zespołu są podstawą agile. Chociaż lider projektu lub właściciel produktu zazwyczaj nadaje priorytet pracom, które mają być wykonane, to zespół decyduje o sposobie ich wykonania, samo organizując się wokół konkretnych zadań i obowiązków.
Agile nie jest zdefiniowane przez zestaw procedur i konkretnych technik rozwoju. Agile jest raczej grupą metodologii, które demonstrują zaangażowanie w krótkie cykle sprzężenia zwrotnego i ciągłe doskonalenie.
Oryginalny Manifest Agile nie określał dwutygodniowych iteracji ani idealnej wielkości zespołu. Przedstawia on po prostu zestaw podstawowych wartości, które stawiają ludzi na pierwszym miejscu. Sposób, w jaki Ty i Twój zespół żyjecie tymi wartościami dzisiaj — czy robicie Scrum według książki, czy łączycie elementy Kanban i XP — zależy wyłącznie od Ciebie.
Dlaczego warto wybrać agile?
Zespoły wybierają agile, aby móc szybko reagować na zmiany na rynku lub opinie klientów, nie przekreślając przy tym rocznych planów. Planowanie i wysyłka w małych, częstych przyrostach pozwala zespołowi na zebranie informacji zwrotnych o każdej zmianie i włączenie jej do przyszłych planów przy minimalnych kosztach.
Nie jest to tylko gra liczb, ale przede wszystkim chodzi o ludzi. Jak opisano w Manifeście Agile, autentyczne ludzkie interakcje są ważniejsze niż sztywne procesy. Współpraca z klientami i kolegami z zespołu jest ważniejsza niż z góry ustalone reguły. A dostarczenie działającego rozwiązania problemu klienta jest ważniejsze niż hiperdokładna dokumentacja.
Zwinny zespół łączy się w ramach wspólnej wizji, a następnie wprowadza ją w życie w sposób, który jest dla niego najlepszy. Każdy zespół wyznacza swoje własne standardy jakości, użyteczności i kompletności. Ich definicja tego, co zostało zrobione, informuje o tym, jak szybko zakończą pracę. Choć na początku może to być przerażające, liderzy firmy odkrywają, że kiedy pokładają swoje zaufanie w zwinnym zespole, zespół ten ma większe poczucie własności i wychodzi naprzeciw (lub przewyższa) oczekiwaniom kierownictwa.
Agile wczoraj, dziś i jutro
Publikacja Manifestu Agile w 2001 roku oznacza narodziny agile jako metodologii. Od tego czasu pojawiło się wiele konstrukcji agile, takich jak Scrum, Kanban, Lean i programowanie ekstremalne (XP). Każdy z nich ucieleśnia podstawowe zasady częstej interakcji, ciągłego uczenia się i wysokiej jakości na swój własny sposób. Scrum i XP są preferowane przez zespoły programistów, podczas gdy Kanban jest ulubionym narzędziem wśród zespołów zorientowanych na usługi, takich jak IT czy zasoby ludzkie.
Obecnie, wiele zespołów agile łączy praktyki z kilku różnych dziedzin, wzbogacone o praktyki unikalne dla zespołu. Niektóre z nich nazywają to herezją. My nazywamy to praktycznością. Nie chodzi tu o „Agile” – chodzi o zwinność.
Zwinne zespoły jutra będą cenić własną skuteczność nad przestrzeganiem doktryny. Otwartość, zaufanie i autonomia stają się walutą kulturową dla firm, które chcą przyciągać najlepszych pracowników i czerpać z tego najwięcej korzyści. Takie firmy już teraz udowadniają, że praktyki mogą się różnić w poszczególnych zespołach, pod warunkiem, że kierują się odpowiednimi zasadami.
Sposób, w jaki każdy zespół ćwiczy agile, powinien być unikalny dla ich potrzeb i kultury. W istocie żadne dwa zespoły nie mają identycznych praktyk agile.
Chociaż wiele naszych zespołów organizuje swoją pracę w czasie, szacuje w punktach i nadaje priorytety swoim zaległościom, nie jesteśmy zagorzałymi praktykami Scrum albo Kanban. Ani żadną inną opatentowaną metodologią. Zamiast tego, dajemy każdemu zespołowi autonomię w wyborze praktyk, które sprawią, że będą one najbardziej efektywne. I zachęcamy was do podobnego podejścia.
Na przykład, jeśli znajdujesz się w zespole zorientowanym na pracę, takim jak IT, Kanban zapewnia solidne podstawy dla Twojej zwinnej praktyki. Nic nie powinno powstrzymać cię od wspomagania się kilkoma praktykami Scrum, takimi jak sesje demo z partnerami lub regularne retrospektywy.
Kluczem do wykonania prawa agile jest przyjęcie postawy ciągłego doskonalenia. Eksperymentuj z różnymi praktykami i prowadź otwarte, uczciwe rozmowy o nich z zespołem. Zachowajcie te, które działają, a wyrzućcie te, które nie działają.