W ciągu ostatnich kilkunastu lat branża IT, również w Polsce, przeszła olbrzymią metamorfozę. Skok technologiczny, którego jesteśmy świadkami, został dopełniony zmianą podejścia do zarządzania projektami IT. Model kaskadowy coraz częściej jest zastępowany przez podejście zwinne, czyli Agile, o którym każdy słyszał, wielu twierdzi, że w nim pracuje bądź pracowało, ale który wciąż jeszcze bywa niezrozumiany. Przede wszystkim przez przedstawicieli biznesu, którzy chcieliby rozpocząć współpracę w modelu zwinnym. W dzisiejszym artykule postaram się pokazać wartość, jaką wnoszą techniki zwinne, i odpowiedzieć na proste, a jednak wciąż sprawiające trudności pytanie: zwinny, czyli jaki?

Podstawy Agile

Na początku sięgnijmy do tego, co jest podstawą każdego frameworku zwinnego wytwarzania oprogramowania, czyli do „Manifestu Agile”. Przedkłada on:

  • ludzi i interakcje ponad procesy i narzędzia,
  • działające oprogramowanie ponad obszerną dokumentację,
  • współpracę z klientem ponad formalne ustalenia,
  • reagowanie na zmiany ponad podążanie za planem.

Wszystko to, czyli nacisk na komunikację – także z klientem – skupienie się na dostarczeniu wysokiej jakości oprogramowania, a nie na tworzeniu obszernej dokumentacji projektowej, oraz elastyczność w realizacji projektu wpływa na sposób planowania. W odróżnieniu od modelu kaskadowego, w którym projekt planuje się długofalowo, pracę dzielimy na Sprinty. Dlaczego mimo coraz większej popularności Agile bywa niezrozumiany? O tym piszę poniżej.

Zwinna organizacja

Daily, Review, Retro… Wszyscy, którzy pracują we frameworku Scrum, słyszą te określenia wielokrotnie, nieraz codziennie, i nie mają one dla nich tajemnic. Ale czy jesteśmy świadomi, dlaczego ich używamy? Aby pomóc zrozumieć ich istotę, krótko przypomnę, co się za nimi kryje i dlaczego są tak ważne w technikach zwinnych. Znajomość zwinnego planowania pracy jest kluczowa dla zrozumienia tego, jak unikać błędów w Agile. Na początek przyjrzyjmy się tzw. wydarzeniom, które pomagają stworzyć regularność i są pomyślane w taki sposób, aby zapewnić transparentność i umożliwić zweryfikowanie pracy zespołu na każdym etapie trwania projektu.

„Sercem Scruma jest Sprint” – trwający za każdym razem tyle samo etap, w trakcie którego zespół pracujący zwinnie dostarcza zadeklarowany Przyrost. Sam w sobie nie jest on określany jako wydarzenie, jednak składa się z nich – to pozwala na dobrą organizację pracy. Co i w jaki sposób zostanie dostarczone w danym Sprincie, zespół deweloperski ustala w trakcie Sprint Planningu. Aby zoptymalizować zaplanowaną w ten sposób pracę, stosuje się spotkania: Daily, Review oraz Retro. Daily Scrum pomaga członkom zespołu w utrzymaniu transparentności oraz w wychwyceniu potencjalnych problemów, Review zweryfikować, co zostało dokonane w trakcie określonego Sprintu, a Retrospective stanowi pole do przyjrzenia się temu, co w Sprincie poszło dobrze, a co wymaga poprawy. Brzmi prosto? Popularne powiedzenie głosi, że Scrum jest łatwy do zrozumienia, lecz trudny do wdrożenia. Sprawdźmy, jak to działa w praktyce i jakie są najczęstsze powody niezrozumienia idei zwinności.

Agile outsourcing

Agile w praktyce – częste błędy

1. Niezrozumienie zasad

Zasady, na których opiera się Scrum, a które określa „Manifest Agile” wydają się proste, jednak większość osób na co dzień pracujących zwinnie może złapać się za głowę i stwierdzić: „U mnie to tak nie wygląda!”. Z mojego doświadczenia jako Scrum Master mogę przyznać, że o ile zasada dotycząca przedkładania ludzi i komunikacji nad procesy i narzędzia jest respektowana, o tyle pozostałe często stają się przedmiotem nieporozumień. Często niezrozumienie wynika z oczekiwań biznesu, dla którego istotne jest nie tylko otrzymanie działającego oprogramowania, ale także dokumentacji projektowej, a zwinne podejście bywa upraszczane do dostarczania przez zespół co 2 tygodnie paczki funkcjonalności. Błędna interpretacja podejścia zwinnego wynika z braku wiedzy wielu organizacji (zarówno polskich, jak i zagranicznych), jaka praca jest wykonywana po stronie zespołu deweloperskiego, aby dostarczana paczka spełniała wszystkie wymagania nie tylko pod kątem funkcjonalnym, ale również jakościowym czy bezpieczeństwa.

Zdarza się, że wiele pomysłów na działanie i usprawnienie pracy zespołów deweloperskich oraz respektowanie zasady „współpraca z klientem ponad formalne ustalenia” są blokowane przez ustalenia kontraktowe. Aby techniki zwinne pozwoliły wykorzystać w pełni potencjał zespołu, istotne jest zrozumienie ze strony biznesu, że zwinna organizacja zmierza do dostarczenia produktu najwyższej jakości w określonym czasie. Tu istotną rolę w każdym projekcie odgrywa Scrum Master/Agile Coach. To na jego barkach spoczywa edukowanie zarówno zespołu, jak i przedstawicieli biznesu.

2. Niezrozumienie zwinnej organizacji pracy

Innym problemem, który bardzo często pojawia się w przeróżnych projektach IT, jest podejście kaskadowe do poszczególnych artefaktów czy wydarzeń. Większość przedstawicieli biznesu nie zdaje sobie sprawy z tego, jak istotne jest Definition of Ready w kontekście docelowej dostarczalności zarówno całego produktu, jak i Incrementu czy pojedynczego zadania.
Zdarza się też tak, że Definition of Done jest niedoceniane jako gwarant jakości, a niejednokrotnie postrzegane jako przeszkoda w dostarczeniu paczki po Sprincie. Zdarza się także, że klient stara się wymóc na zespole deweloperskim dostarczenie jakiejś funkcjonalności szybciej, niż ten zaplanował w trakcie Sprint Planningu. Techniki zwinne ukierunkowane są na dostarczanie określonych Przyrostów w określonym czasie. To trochę tak jak z budową domu – nie zaczynamy jej od wyboru kolorów ścian, lecz planujemy etapami. Temu właśnie służą wspomniane przeze mnie spotkania: Sprint Planning, Daily, Retro i Review. Pozwalają one zaplanować pracę na poszczególnych etapach, nie wybiegając zbyt daleko w przyszłość i umożliwiając zespołowi skupienie się na danej czynności w danym czasie.

3. Niezrozumienie ról

Inną przyczyną niezrozumienia Agile jest błędne rozumienie ról w Scrumie, co może wynikać z kolei z niezrozumienia idei samozarządzającego się zespołu. Jako Scrum Master opowiem na przykładzie mojej roli, która często bywa błędnie pojmowana przez osoby spoza zespołu scrumowego. Bo jak może działać zespół bez lidera? Przecież jak świat światem zawsze istniały jednostki przywódcze, które brały na siebie odpowiedzialność za zarządzanie ludźmi. Rola Scrum Mastera bywa deprecjonowana do funkcji „Project Managera, który nie jest szefem” i pomijana przy tworzeniu zespołów („Przecież on nie dostarcza wartości, a w jego miejsce moglibyśmy zatrudnić jednego developera”). Czy to, że Scrum Master nie pisze kodu i nie testuje oprogramowania, oznacza, że jest zbędny? Nie. Scrum jest podejściem empirycznym, to znaczy opierającym się na doświadczeniu i komunikacji, a zadania Scrum Mastera są niemierzalne i zwykle polegają na uświadamianiu zespołowi deweloperskiemu zasad zwinnego funkcjonowania. Wartości roli Scrum Mastera nie widać nigdy w Burndown Charcie, ale jest ona zawsze widoczna w samym podejściu do pracy członków zespołu.

Podsumowanie

W technikach zwinnych każde wydarzenie, artefakt, spotkanie czy dyskusja mają znaczenie. Podejście zwinne, w każdym frameworku, nie tylko w Scrumie, to skomplikowany proces i sieć naczyń połączonych, gdzie każda akcja (lub jej brak) powoduje reakcję. Świadomość tego jest kluczowa dla zrozumienia idei zwinności. Podobnie bardzo istotne jest zrozumienie, że Agile nie kończy się na zespole deweloperskim, a przedstawiciele klientów oraz ich ustalenia kontraktowe mają bezpośredni wpływ na codzienną pracę zespołów scrumowych. Co więc można zrobić, żeby ten stan rzeczy zmienić? Komunikować się, reagować na zmiany, stawiać na pełną zrozumienia współpracę między klientem a zespołem deweloperskim. W ten sposób wracamy do podstaw Scruma, których stosowanie w praktyce jest idealną metodą na edukowanie zarówno zespołu, jak i partnera biznesowego. Jest to proces mozolny i długotrwały, ale w każdej organizacji IT pracującej zwinnie znajdziemy osoby (może nawet Agile Coachów?), które z chęcią wytłumaczą, dlaczego „zwinny” znaczy „inny” i jak z dobrodziejstw tej odmienności czerpać garściami.

Autorem wpisu jest:
Igor Karkoszka

Agile Coach z wieloprojektowym doświadczeniem. Entuzjasta stosowania zwinnego podejścia nie tylko w projektach IT, ale również w innych aspektach życia.

Komentarze:

Skontaktuj się z nami

Chcesz dowiedzieć się więcej o naszych usługach? Napisz do nas – odpowiemy na każdą wiadomość.

Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach handlowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma, w celach marketingowych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma w celach rekrutacyjnych.
Niniejszym wyrażam zgodę na przetwarzanie przez JCommerce Sp. z o.o. moich danych osobowych (dalej „dane osobowe”), takich jak: imię i nazwisko, adres e-mail, nr telefonu, firma na potrzeby przyszłych rekrutacji.
W związku z obowiązującymi przepisami dotyczącymi ochrony danych osobowych tj. Ustawą o ochronie danych osobowych z dnia 10 maja 2018 roku, jak również treścią Rozporządzenia Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO), informujemy, że: 1. Administratorem danych osobowych jest JCommerce Sp. z o.o. z siedzibą w Katowicach, ul. Ściegiennego 3, 40-114 Katowice (KRS: 00007393418).
2. Powyższe dane osobowe przetwarzane będą przez JCommerce Sp. z o.o. – w zależności od udzielonych przez Panią/Pana zgód (podstawa prawna przetwarzania: art. 6 ust. 1 pkt a) RODO):
• w celach handlowych,
• w celach marketingowych,
• w celach rekrutacyjnych;
• w celach przyszłych rekrutacji.
3. Podanie powyższych danych osobowych nie jest wymogiem ustawowym, umownym lub warunkiem zawarcia umowy. Nie jest Pan/Pani zobowiązany/a do podania powyższych danych osobowych, jednak brak ich podania uniemożliwi realizacje ww. celu.
4. Posiada Pan/ Pani prawo dostępu do treści swoich danych, w tym otrzymania ich kopii i ich sprostowania, usunięcia, ograniczenia przetwarzania, prawo do przenoszenia danych, prawo do sprzeciwu wobec przetwarzania, prawo do cofnięcia zgody w dowolnym momencie, jeśli została udzielona. Wycofanie zgody nie wpływa jednak na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem; oświadczenie o cofnięciu zgody na przetwarzanie danych osobowych należy złożyć w siedzibie JCommerce Sp. z o.o. lub przesłać na adres mailowy zgody@jcommerce.pl. Cofnięcie zgody na przetwarzanie danych osobowych skutkuje brakiem możliwości realizacji ww. celów przetwarzania;
5. Dane osobowe są udostępniane przez JCommerce Sp. z o.o. upoważnionym pracownikom i osobom współpracującym z JCommerce Sp. z o.o. na podstawie umów cywilnoprawnych, przez których realizowany jest cel przetwarzania;
6. Wszelkie pytania dotyczące ochrony danych osobowych oraz realizacje przysługujących praw, prosimy kierować na adres odo@jcommerce.pl;
7. W zależności od udzielonej zgody, dane osobowe będą przetwarzane przez czas niezbędny do realizacji ww. celów przetwarzania. W przypadku wniesienia sprzeciwu, JCommerce Sp. z o.o. przestanie przetwarzać Pani/Pana dane w ww. celu, chyba że będzie w stanie wykazać, że w stosunku do tych danych istnieją ważne prawnie uzasadnione podstawy, które są nadrzędne wobec Pana/Pani interesów, praw i wolności, lub niezbędne do ewentualnego ustalenia, dochodzenia lub obrony roszczeń;
8. Nie przekazujemy Pani/Pana danych poza teren Europejskiego Obszaru Gospodarczego oraz do organizacji międzynarodowych.
9. Pani/Pana dane osobowe nie podlegają zautomatyzowanemu podejmowaniu decyzji, w tym profilowaniu.
10. Ma Pani/Pan prawo wniesienia skargi do organu nadzorczego gdy uzna Pan/Pani, iż przetwarzanie ww. danych osobowych narusza przepisy ogólnego rozporządzenia o ochronie danych osobowych z dnia 27 kwietnia 2016 r.