AGILE: boks zamienia się w taniec

Agile zmienia nie tylko relacje wewnątrz firmy, ale i relacje organizacji z klientami. Dowodzą tego więzi łączące Reponsive Web Design (RWD) i Agile.

Katarzyna Kmiecik, konsultantant 
firmy Sollers Consulting.

Katarzyna Kmiecik, konsultantant

firmy Sollers Consulting.

Grzegorz Podleśny, konsultant
firmy Sollers Consulting.

Grzegorz Podleśny, konsultant

firmy Sollers Consulting.

Wprowadzenie Agile to nie tylko zmiana metodyki pracy, ale również sposobu wyznaczania celów oraz powiązania ich z oczekiwaniami klientów. Wielu ekspertów twierdzi, że nie chodzi tylko o wykorzystanie Agile w tworzeniu oprogramowania, ale o „bycie Agile” (tzw. Agile mindset albo being Agile). Objawia się to przez szacunek dla innych pracowników, rozproszenie decyzyjności, ciągłe dążenie do doskonalenia czy nastawienie na wartość biznesową. Mamy dowody, że wprowadzenie Agile, nawet tylko w procesie wytwarzania rozwiązań IT, może zmienić działanie całej organizacji.

Zgodnie z założeniami Agile Manifesto, wykorzystanie metodyk zwinnych w dostarczaniu rozwiązań IT pozwala na zwiększenie interakcji zarówno wewnątrz zespołu, jak i w relacjach z klientem (obiorcą rozwiązania), co przekłada się na znaczną poprawę jakości współpracy. W dalszej kolejności poprawa dotyczy także relacji z klientami i partnerami zewnętrznymi.

Zobacz również:

Osiągnięcie sytuacji, w której organizacja i wszyscy jej członkowie staną się Agile, jest najczęściej procesem długofalowym i nie dokonuje się w efekcie gwałtownej rewolucji. Istotą Agile jest ciągłe doskonalenie.

Korzyści z Agile

Wprowadzenie Agile w organizacji wiąże się z wieloma zmianami. Pierwszym z widocznych usprawnień jest możliwość dynamicznego ustalania priorytetów dla realizowanych zadań i dostarczanych rozwiązań. Aż 92% uczestników badania „State of Agile” potwierdziło, że wprowadzenie praktyk Agile w ich organizacji spowodowało znaczącą poprawę w tym obszarze. Drugim najważniejszym usprawnieniem jest zwiększona transparentność prowadzonych prac – potwierdza to 86% uczestników badania. Dzięki temu możliwe jest prowadzenie ciągłej dyskusji mającej na celu potwierdzenie, że wytwarzany produkt spełnia oczekiwania klienta.

Umożliwia to zmniejszenie ryzyka projektu i przekłada się na wzrost satysfakcji klienta, co zostało dowiedzione w badaniu „Agile Realities”. 42% badanych firm technologicznych odnotowało wzrost satysfakcji swoich klientów po wprowadzeniu Agile do realizowanych projektów.

Możliwość dynamicznej priorytetyzacji zadań i ciągłe dyskusje nad dostarczanymi rozwiązaniami sprawiają, że właściciele biznesowi czują się rzeczywistymi właścicielami tworzonych rozwiązań. Widzą, że możliwe jest elastyczne dostosowywanie dostarczanych rozwiązań do zgłaszanych przez nich potrzeb.

Zgodnie z badaniem „State of Agile”, chęć skrócenia czasu potrzebnego na dostarczanie gotowych rozwiązań jest najważniejszym kryterium wprowadzenia metodyki Agile w organizacji (odpowiedziało tak 32% ankietowanych). Oczekiwania te znajdują odzwierciedlenie w rzeczywistości. Wyniki badania przeprowadzonego przez QSM Associates pokazują, że zespoły działające zgodnie z Agile dostarczają rozwiązania o 37% szybciej w porównaniu do średniej rynkowej dla podobnych projektów prowadzonych zgodnie z innymi metodykami. Przyspieszenie prac odbywa się przy zwiększeniu jakości dostarczanego produktu.

Zwinny zespół

Zespoły stają się Agile poprzez:

  • samoorganizację,
  • zdolność uczenia się wraz z rozwojem projektu,
  • interdyscyplinarność czy zdolność łączenia analizy, implementacji i testów rozwiązania w krótkich iteracjach,
  • częstą weryfikację (proof-of-concept),
  • bliski kontakt z odbiorcą czy klientem.

Zgodnie z założeniami Agile, zespół pracujący w tej metodyce powinien być w stanie sam organizować pracę w sposób zapewniający jak największą efektywność. Zgodnie z wynikami badania „How Agile Are You?” udaje się to 72% zespołów. Jednocześnie zespoły poprzez przeprowadzanie retrospekcji są w stanie identyfikować możliwości poprawy efektywności i wdrażać te rozwiązania w praktyce w kolejnych iteracjach. Wynikami tego samego badania wskazują, że dzieje się tak w przypadku 92% zespołów pracujących zgodnie z metodyką Agile.

Kolejną istotną cechą zwinnego zespołu jest interdyscyplinarność. Dzięki takiej strukturze zespołu jego członkowie mogą spojrzeć na przygotowywane rozwiązania z różnych perspektyw, co powinno przełożyć się na ich wyższą jakość. Interdyscyplinarność członków zespołu jest również niezbędna, aby możliwe było w czasie krótkiego sprintu przeprowadzenie analizy potencjalnych rozwiązań, dokonanie implementacji wybranego wariantu oraz przetestowanie uzyskanego efektu. Interdyscyplinarny zespół dysponujący szerszą perspektywą oraz zróżnicowanymi doświadczeniami wypracowuje również lepsze rozwiązania.

Na koniec każdego sprintu zespół powinien być w stanie zaprezentować odbiorcom projektu w pełni działające efekty swojej pracy. Zgodnie z wynikami cytowanego już badania „How Agile Are You?”, regularne dostarczanie wartości dla klientów jest cechą charakteryzującą 91% zespołów pracujących zgodnie z metodyką Agile. Jednocześnie 99% zespołów pozostaje w stałym kontakcie z właścicielami biznesowymi, np. za pośrednictwem właściciela produktu, który jest w zespole odpowiedzialny za zarządzanie zakresem oraz akceptację dostarczanych rozwiązań.

Boks zamienia się w taniec

Organizacje, które chcą być Agile, mogą napotkać na liczne bariery. Najczęściej wskazywane w badaniu „State of Agile” trudności to niemożność zmiany kultury organizacyjnej (wskazana przez 53% badanych) oraz ogólna niechęć do zmian (42% badanych). Źródłem wątpliwości jest m.in. brak całościowego planu na starcie projektu i zmniejszona ilość powstającej dokumentacji. Poza tym osoby na stanowiskach zarządczych obawiają się utraty kontroli nad projektem i obniżenia pozycji.

Wszystkie trudności wynikają z niewiedzy, jak wyglądają organizacje pracujące według Agile. Jak przezwyciężyć opór organizacji przed zmianą i wprowadzeniem tej metodyki?

„Moja organizacja wybrała Agile świadomie. Metodykę wskazał dostawca systemu, którego wybraliśmy w ramach przetargu. Sam dostawca, a także jego doświadczenia w poprzednich projektach przekonały nas, że jest to najlepsze podejście, aby w szybkim tempie mieć wdrożenie na produkcji” – mówi Sobiesław Sitek, kierownik projektu wdrożenia nowej platformy likwidacji szkód w TUiR Warta SA. „Po podjęciu tej decyzji radykalnie zmieniła się współpraca IT i biznesu. Przez ponad rok trwania projektu nauczyliśmy się bardzo dobrze rozumieć siebie nawzajem. Wspólna praca, dobra atmosfera w projekcie, a nawet zacieśnienie znajomości między poszczególnymi członkami zespołu ułatwiły IT zrozumienie celów biznesu, a biznesowi ograniczeń IT. Dzięki temu zrozumieniu mogliśmy solidarnie popychać projekt we właściwym kierunku”.

W którym momencie nastąpiło pełne przekonanie i zaakceptowanie działania zgodnego z Agile? „W pełni to jednak nigdy. Ciągle boję się problemów wynikających z ograniczonej dokumentacji wytwarzanego software. Jednak sam sposób pracy w zespole, jaki wprowadza Agile, i to, jak wpływa na komunikację, polubiłem od razu. Wszelkie problemy są rozwiązywane na bieżąco, gdy tylko się pojawią. Członkowie zespołu nie muszą być motywowani przez przełożonego, bo na codziennych stand-upach zobowiązują się do dostarczenia określonych produktów swojej pracy do całego zespołu. Najlepsze jest to, że w jednym pokoju mam wszelkie kompetencje, aby od podstaw wytworzyć działające, przetestowane rozwiązanie odwzorowujące proces biznesowy. Ja sam do Agile staram się wnieść niezbędny dla tego podejścia luz, który wpływa na otwartą komunikację. Nie mamy norm ubioru, nikogo nie rozliczamy z 10-minutowych spóźnień, jesteśmy dla siebie tolerancyjni. Moją rolą jest też szybkie zdejmowanie blokerów w organizacji, w czym bardzo pomaga silny i zaangażowany sponsor” – dodaje Sobiesław Sitek.

Wprowadzenie Agile w organizacji zawsze jest procesem długotrwałym. Zmiana najczęściej najpierw dokonywana jest w ramach jednego projektu IT, następnie stopniowo przenosi się na współpracujące obszary, by w efekcie objąć swym zasięgiem całą organizację. Pozyskanie Agile mindset przez członków organizacji stanowi kolejny krok. Potem pozostaje już tylko stałe doskonalenie.

Po zmianie interesariusze zyskują większe możliwości obserwowania postępów prac w projekcie, a także dynamicznego zarządzania jego zakresem oraz priorytetami poszczególnych elementów. Dzięki temu zmniejsza się ryzyko niepowodzenia projektu. Wyniki badań zaprezentowane w „The Chaos Manifesto” wskazują, że tylko 9% projektów realizowanych zgodnie z metodyką Agile kończy się niepowodzeniem. Dla projektów prowadzonych podejściem kaskadowym odsetek ten wynosi prawie 30%.

Dynamika Agile w praktyce

Rozpowszechnianie urządzeń mobilnych coraz silniej wpływa na zmianę zachowań i potrzeb zarówno klientów, jak i pracowników firm. Za pośrednictwem tych urządzeń użytkownicy chcą mieć możliwość realizowania większości swoich potrzeb, takich jak: zarządzanie kontem, polisą ubezpieczeniową czy inwestycjami. Dynamicznie zmieniające się wymagania wywierają na firmach presję na szybsze dostarczanie nowego, działającego i uniwersalnego oprogramowania. Użytkownicy przyzwyczaili się już do małych aplikacji, więc firmy mają przyzwolenie na dostarczanie im kompletnych rozwiązań po kawałku. Problematyczne w tak wymagających realiach staje się dostarczenie rozwiązania działającego na wszystkich platformach. Żeby pozostać konkurencyjnym, firmy i producenci oprogramowania muszą nadążyć za dynamicznie zmieniającym się otoczeniem.

Jak sobie pomóc?

Adaptacja do tych realiów wymaga często zmiany polityki firmy w zakresie zarządzania przygotowaniem kolejnych wydań oferowanych rozwiązań. Wprowadzenie Agile stanowi dobry początek dla takiego procesu, bo w przypadku długich projektów nie dopuszcza do przeterminowania się wymagań biznesowych. W odpowiedzi na realia powstał paradygmat budowania aplikacji responsywnych, o których parę słów poniżej.

„Agile to zwinność po stronie twórców oprogramowania. Zapewniamy, aby realizacja projektu była jak najbardziej elastyczna, a aplikacje responsywne to zwinność po stronie odbiorców oprogramowania. Zapewniamy, że odbiorca ma pełen dostęp do funkcjonalności w formie najłatwiejszej do skorzystania z nich, niezależnie od urządzenia, z którego korzysta”.

Responsive Web Design (projektowanie webowych aplikacji responsywnych – RWD) nie bez powodu stał się jednym z głównych trendów rynku IT w ostatnim czasie. Założenia i korzyści, jakie charakteryzują aplikacje responsywne, są klarowne. Taka aplikacja działa na wielu platformach i urządzeniach jednocześnie. Dodatkowo na urządzeniach mobilnych może wykorzystywać szeroki dostęp do funkcji natywnych. Jest tania w stworzeniu i utrzymaniu, a dzięki pisaniu jednego kodu na wszystkie platformy jej dewelopment jest dużo szybszy. Aplikacje responsywne charakteryzują się spójnym zarządzaniem treścią z jednego miejsca, dzięki czemu są one dużo wyżej pozycjonowane w wyszukiwarkach niż np. Google i, co ważne, gwarantują jednakowe doświadczanie jej użytkownika (user experience) bez względu na wykorzystywane urządzenie.

Technologia umożliwia już wykonywanie większości zadań mobilnie, wyjątek stanowi obsługa dużych arkuszy kalkulacyjnych czy projektów architektonicznych – to ciągle nie jest wygodne.

Projektowanie powinno zaczynać się od urządzeń przenośnych. Pozwala to nie tylko dostarczyć wymagane przez odbiorcę aplikacji funkcjonalności, ale również „podrasować” je przy użyciu natywnych rozwiązań, takich jak nawigacja w urządzeniach przenośnych z wykorzystaniem: swipe, touch, pinch, drag & drop. Dużą wartość dodaną wnoszą również funkcjonalności urządzeń mobilnych, np.: GPS – znajdź najbliższą placówkę banku, akcelerometr – powrót do menu poprzez wstrząśniecie smartphonem, czy aparat – do zrobienia zdjęć po stłuczce.

Małżeństwo RWD i Agile

Wszystko to zebrane razem umożliwia stworzenie naprawdę ergonomicznej, przyjaznej dla użytkownika i uniwersalnie działającej aplikacji. Na straży procesu wytwórczego, którego efektem jest dobry i dopasowany produkt, stoi właśnie Agile. Dla udanego projektu aplikacji responsywnej bliska współpraca z klientem (filar podejścia Agile) jest absolutnie niezbędna. Iteracyjność i współdziałanie, wzajemne weryfikowanie swojej pracy dają klientowi (użytkownikowi końcowemu) nie tylko kontrolę, ale i poczucie współtworzenia produktu. To właśnie on szybko i zwinnie redefiniuje swoje wymagania w procesie budowy aplikacji responsywnych, które są jedną z odpowiedzi na dynamicznie zmieniające się otoczenie, w jakim obecnie funkcjonujemy.

Agile to nie tylko metodyka, to styl życia

Autorzy byli świadkami prób wprowadzenia Agile w wielu różnych organizacjach. Większości z nich udało się pozytywnie wykorzystać nowe praktyki i „bycie Agile”. Niestety, taka zmiana mentalności bywa trudna. Warto w ramach eksperymentu zacząć nawet od tylko jednego projektu, który pokaże, czy organizacja może stać się Agile. Opisane korzyści z bycia Agile powinny stanowić wystarczającą motywację do podjęcia takiej próby.