Czym są metodyki zwinne?
Co to są metodyki zwinne i do czego służą?
Świat już dawno oszalał na temat “zwinności” i metodyk zwinnych (ang. agile). To słowo coraz częściej trafia na okładki poczytnych magazynów jako panaceum na wyzwania dzisiejszego zarządzania, szczególnie na gwałtowne i nieuniknione zmiany wymagań.
Kto z nas nie spotkał się z nagle zmieniającymi się priorytetami, które wywracały nasze plany do góry nogami? Nic więc dziwnego, że coraz więcej osób i organizacji sięga po sprawdzone rozwiązanie tego problemu – metodyki zwinne.
Czym w ogóle są metodyki zwinne?
“Metodyka” to nic innego jak “zbiór metod”. W kontekście zarządzania projektami możemy więc powiedzieć o pewnym pomyśle czy sposobie na prowadzenie projektów mających na celu wytworzenie zdefiniowanego produktu.
Z punktu widzenia metodyk zwinnych nie ma znaczenia czy pracujemy nad projektem mostu, remontem mieszkania, oprogramowaniem czy strategią biznesową. Produkt jest produktem.
Metodyki zwinne biorą pod uwagę realia w jakich pracujemy – szybkie tempo, dużą konkurencyjność, ciągle zmieniające się otoczenie i nieprzewidywalność zarówno wewnętrzną, jak i przede wszystkim – zewnętrzną. Tak więc przepis na organizację pracy w metodyce zwinnej nie zaklina rzeczywistości, ale uwzględnia wszystkie wspomniane aspekty.
Każdy z nas wie, że wieloletnie plany rzadko kiedy się sprawdzają.
Autorzy metodyk zwinnych mówią nam “stop, jest lepszy sposób”.
Po co mi te “nowości”?
Chociaż może wydawać się, że metodyki zwinne to coś nowego, to jednak mają one bogatą i długą historię. Świat IT korzysta z nich od dziesiątek lat, a dopiero teraz zaczynają one przenikać do innych dziedzin życia. I całkiem słusznie, bo nikt nigdy nie ograniczył ich stosowania li tylko do wytwarzania oprogramowania!
Pierwsze ślady “zwinności” znajdziemy w 1991 w metodyce RAD. W połowie lat dziewięćdziesiątych powstały kolejne pomysły o enigmatycznie brzmiących nazwach UP, DSDM, Scrum i XP.
Jednak dopiero rok 2001 przyniósł termin “metodyki zwinne” (ang. agile).
Wtedy to siedemnaście osób związanych z wytwarzaniem oprogramowania zamknęło się na kilka dni w ośrodku wypoczynkowym Snowbird w Utah, gdzie stworzyli podwaliny wszystkich metodyk zwinnych czyli słynne Agile Manifesto (właściwie Manifesto for Agile Software Development).
Ten krótki dokument opisywał wszystkie powody dla których wydawało im się, że ich projekty kończą się sukcesem, podczas gdy te prowadzone starymi metodami – upadają.
Znaleźli oni część wspólną dla wszystkich swoich pomysłów i metodyk. Jak zwykle w takich sytuacjach bywa, okazało się, że te kilkanaście osób zupełnie niezależnie doszło do takich samych wniosków.
Manifest Agile
Dokument opublikowany na stronie agilemanifesto.org pozostaje w niezmienionej formie do dzisiaj. I chociaż można podejrzewać, że opinie autorów na temat tworzenia oprogramowania odrobinę się zmieniły, to jednak idea pozostanie wiecznie słuszna.
Trudno się temu dziwić, bowiem sam “manifest” jest bardzo ogólny. Jego główna część w tłumaczeniu na język polski wygląda następująco:
Odkrywamy nowe metody programowania dzięki praktyce w programowaniu i wspieraniu w nim innych.
W wyniku naszej pracy, zaczęliśmy bardziej cenić:
Ludzi i interakcje od procesów i narzędzi
Działające oprogramowanie od szczegółowej dokumentacji
Współpracę z klientem od negocjacji umów
Reagowanie na zmiany od realizacji założonego planu.
Oznacza to, że elementy wypisane po prawej są wartościowe, ale większą wartość mają dla nas te, które wypisano po lewej.
To jednak nie koniec. Autorzy stworzyli także listę 12 Zasad Zwinnego Tworzenia Oprogramowania, które dotyczą tworzenia oprogramowania tylko z nazwy.
Bo przecież nietrudno jest wykreślić słowo “deweloperskiego” z zasady mówiącej, że “Najbardziej efektywnym i wydajnym sposobem przekazywania informacji zespołowi deweloperskiemu i wewnątrz niego jest rozmowa twarzą w twarz.”
A co jeśli nie pracuję w IT?
Metodyki zwinne powstały w środowisku IT, bowiem tam najszybciej zaczęła przeszkadzać bolączka dzisiejszego świata, czyli zmieniające się wymagania. O ile nie mamy problemu ze zmianą planów na samym początku projektu, to im później wprowadzamy fundamentalne zmiany, tym więcej one kosztują i są trudniejsze do realizacji. To tak jakby w trakcie budowania drugiego piętra domu zażyczyć sobie piwnicę.
Wiele dużych projektów IT było planowane na całe lata i realizowane etapami: zbieranie wymagań, analiza, projektowanie, development, testy i w końcu wdrożenie. Niestety, w trakcie tego procesu zmieniała się sytuacja rynkowa i potrzeby klientów. Co gorsza, zamawiający oprogramowanie tak naprawdę nie mają pojęcia o tym, czego faktycznie potrzebują i dowiadują się o tym dopiero wtedy, gdy otrzymują gotowy produkt do ręki.
Przy podejściu klasycznym, po wielu latach pracy klient bardzo często dostawał oprogramowanie które wyglądało inaczej niż sobie wyobrażał, a do tego takie, którego już nie potrzebuje. Brzmi znajomo?
Zasady, którymi kierowali się twórcy metodyk zwinnych nie ograniczają się tylko do IT, ale do każdej sytuacji w której robimy coś dużego, nowego, a także w przypadku gdy wymagania często się zmieniają.
Co więcej, jeżeli wydaje nam się, że im więcej robimy, tym więcej odkrywamy co tak naprawdę trzeba zrobić i dopiero wtedy dowiadujemy się czego potrzebujemy (patrz: remont mieszkania), to zdecydowanie będzie to rozwiązanie dla nas.
Praktyczne aspekty metodyk zwinnych
Wszystkie pomysły z etykietą “agile” mają pewien zestaw cech wspólnych.
Pierwszym i najbardziej oczywistym będzie organizacja pracy w sposób iteracyjny i przyrostowy. Zamiast rzucać się na przygotowanie całego rozwiązania w jednym kroku, podzielmy je na małe kawałki, które będą łatwe do zarządzania.
Skróćmy też etapy pracy tak, aby częściej móc zmieniać kierunek, w którym idziemy i dostosowywać rozwiązanie do potrzeb klienta. Nie czekajmy trzech lat na to, żeby dowiedzieć się, że “nie o to chodziło”.
Każdy, nawet najmniejszy fragment zrealizowanego projektu pokazujmy odbiorcy końcowemu, aby mógł go ocenić i dać swoje sugestie.
Warto przy tym pamiętać o zasadach skutecznej komunikacji i sposobach na zbieranie informacji zwrotnej. Wszyscy jesteśmy tylko ludźmi, a problemy komunikacyjne i błędy poznawcze czyhają na nas na każdym kroku. Wiele metodyk agile uwzględnia te niedogodności w sposobie organizacji spotkań i zalecanych narzędziach.
Za tym wszystkim stoi fakt, że twórcy metodyk zwinnych pogodzili się z życiem w nieprzewidywalnym świecie. Możemy jedynie podejrzewać, jak będzie wyglądała przyszłość, ale planowanie w oparciu o nasze przeczucia nie ma sensu.
Zamiast przewidywać, dostosowujmy się do ciągle zmieniającej się rzeczywistości. Sami przecież ją zmieniamy, tworząc nasze rozwiązania.
Czy też mogę być zwinny?
Nic nie stoi na przeszkodzie, żeby zastosować zwinność na obecnym stanowisku, w swoim aktualnym dziale, w branży, która niekoniecznie musi być powiązana z IT.
Podejście zwinne obejmuje co najmniej kilkanaście metodyk i kilkadziesiąt najpopularniejszych praktyk. Istnieje wiele technik i narzędzi, z których zwinny świat IT korzysta na co dzień, a które są praktycznie nieznane poza nim. A przecież, jak podkreślamy to od samego początku, agile to nie tylko IT.
Niektóre “zwinne” nowinki przenikają do codziennego życia i tam traktowane są jako coś zupełnie nowego i rewolucyjnego. Z kolei popularne techniki optymalizacji pracy czy zarządzania zadaniami i czasem adaptowane są do metodyk zwinnych i stają się ich integralną częścią.
Niezależnie od tego skąd czerpiemy inspiracje do naszych zwinnych działań, tak długo jak pozostajemy w zgodzie z filozofią agile, możemy powiedzieć o sobie, że jesteśmy mniej lub bardziej “zwinni”. Poznajmy więc wachlarz możliwości i wybierzmy z niego to, z czego możemy skorzystać już dzisiaj.
Oczywiście, jeżeli działamy w zespole to nie możemy samodzielnie zmienić sposobu, w jaki pracujemy. Musimy zrobić to razem. A gdy zespół jest częścią większej organizacji, zmiany muszą przebiec na każdym jej poziomie.
W takich przypadkach warto sięgnąć po gotową metodykę.
Czy Agile to Scrum?
Niektórym wydaje się, że “metodyka zwinna” oznacza Scrum. Warto więc wspomnieć o najpopularniejszym przedstawicielu tej rodziny.
Scrum powstał o wiele wcześniej niż termin “agile”, bo w roku 1995 i od tamtego czasu jest nieustannie udoskonalany. Wciąż jednak przypomina siebie samego z przed ponad 20 lat!
Czym jest Scrum? To gotowy przepis, sposób na wykonywanie pracy, który zawiera 5 wydarzeń, 3 role i 3 artefakty opisane na 18 stronach podręcznika Scrum Guide. Tych kilkanaście stron w prosty sposób opisuje sprawdzony sposób działania,
Im coś prostsze do wytłumaczenia, tym zwykle trudniej tego się nauczyć.
Weźmy dla przykładu jazdę na rowerze. Każdy z nas instynktownie wie, jak się jeździ, hamuje i skręca. Bez problemu możemy komuś o tym opowiedzieć. Jednak to nie wystarczy, żeby osoba która pierwszy raz widzi rower na oczy pojechała w siną dal.
Podobnie sytuacja ma się ze Scrumem. Przepis, który proponuje Scrum Guide jest prosty, sprytny i efektywny. Potwierdzają to tysiące scrumowych projektów na całym świecie. Jednak bardzo trudno jest go zastosować, szczególnie jeśli nigdy nie mieliśmy do czynienia z metodykami zwinnymi. To jest jednak temat na zupełnie inny tekst.
Jak stać się zwinnym?
Jak już jednak wspomnieliśmy – agile to filozofia, nastawienie i sposób myślenia. Przede wszystkim warto poznać przyczyny stojące za tym podejściem, a następnie zgłębić dobre praktyki i narzędzia, używane przez zwinne zespoły.
Jeżeli chodzi o rozpoczęcie przygody z agile i wykorzystanie najbardziej ogólnych zasad w dowolnej branży, zapraszamy na warsztaty “Wstęp do Agile i Agile Mindset”. Osobom zainteresowanym konkretną metodyką, polecamy szkolenia Scrum (Wprowadzenie do Scrum, Szkolenie dla Scrum Masterów, Szkolenie dla Product Ownerów) oraz szkolenie z pod znaku AgilePM.
Zachęcamy do sprawdzenia naszej pełnej oferty szkoleń zwinnych.
Sprawdź również co nasi eksperci od szkoleń zwinnych – Łukasz i Tomek mają do powiedzenia w temacie różnic między SCRUM i Agile: