Jak pracować sprawniej, szybciej i bardziej zwinnie? To pytanie zadaje sobie miliony menedżerów i zespołów na całym świecie. Na szczęście wymyślanie koła na nowo, nie zawsze jest potrzebne. Jeżeli chodzi o sprawne nowoczesne metody pracy mamy mnóstwo literatury i ekspertów, którzy na początku XXI w. starali się przedefiniować jak powinny pracować zespoły w cyfrowej rzeczywistości. Tak powstała filozofia pracy agile, której jednego z ojców założycieli gościliśmy na Festiwalu Sektor 3.0 w maju.
Niemal 20 lat temu w powstał manifest agile, który pierwotnie nawiązywał do pracy nad tworzeniem oprogramowania, jednak obecnie jego przesłanie przekładane jest na inne środowiska pracy, a jego interpretacja jest bardziej uniwersalna. W roku 2001 w ośrodku narciarskim w stanie Utah w USA spotkało się 17 praktyków, którzy na co dzień pracowali w małych zespołach, dostarczających oprogramowanie klientom. Wszystkich z 17 członków spotkania pracowało w oparciu o tzw. lekkie metody (ang. lightweight methods) takie jak Scrum, Extreme Programming, Feature-Driven Development, czy Clear Crystal. Menadżerowie starali się wypracować nową metodologię pracy w zespołach, tak powstał Agile – w kontrze do do budowania software’u na podstawie ścisłych wytycznych i wymagającej dokumentacji każdego procesu. Pracując według Agile’a chciano położyć nacisk na osiąganie celów, eksperymentowanie i nie banie się porażek, z których wyciąga się cenne wnioski.
W trakcie spotkania okazało się, że wszystkie z wymienionych metod (Scrum, Extreme Programming, Feature-Driven Development, Clear Crystal) posiadają wspólny mianownik. Uznano, że określeniem, który najlepiej oddaje punkt wspólny jest “ziwnność” (ang. agile)”. Tak powstają “agile methods” i słynny manifest agile, według wytycznych którego do dzisiaj pracują zespoły na całym świecie.
Treść manifestu
Wytwarzając oprogramowanie i pomagając innym w tym zakresie, odkrywa się lepsze sposoby wykonywania tej pracy. W wyniku tych doświadczeń przedkłada się:
- ludzie 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
Jak zatem może wyglądać praca w “zwinnym” środowisku? Założyciele zostawili po sobie również 12 zasad zwinnego tworzenia oprogramowania, które pomogą w odpowiedzi na to pytanie. Oto one:
- Najwyższy priorytet ma dla nas zadowolenie klienta dzięki wczesnemu i ciągłemu wdrażaniu wartościowego oprogramowania,
- Bądźcie gotowi na zmiany wymagań nawet na późnym etapie jego rozwoju. Procesy zwinne wykorzystują zmiany dla zapewnienia klientowi konkurencyjności,
- Dostarczajcie funkcjonujące oprogramowanie często, w kilkutygodniowych lub kilkumiesięcznych odstępach. Im częściej, tym lepiej,
- Zespoły biznesowe i deweloperskie muszą ściśle ze sobą współpracować w codziennej pracy przez cały czas trwania projektu,
- Twórzcie projekty wokół zmotywowanych ludzi. Zapewnijcie im potrzebne środowisko oraz wsparcie i zaufajcie, że wykonają powierzone zadanie,
- Najbardziej efektywnym i wydajnym sposobem przekazywania informacji zespołowi deweloperskiemu i wewnątrz niego jest rozmowa twarzą w twarz,
- Działające oprogramowanie jest podstawową miarą postępu,
- Procesy zwinne umożliwiają zrównoważony rozwój. Sponsorzy, deweloperzy oraz użytkownicy powinni być w stanie utrzymywać równe tempo pracy,
- Ciągłe skupienie na technicznej doskonałości i dobrym projektowaniu zwiększa zwinność,
- Prostota – sztuka minimalizowania ilości koniecznej pracy – jest kluczowa,
- Najlepsze rozwiązania architektoniczne, wymagania i projekty pochodzą od samoorganizujących się zespołów,
- W regularnych odstępach czasu zespół analizuje możliwości poprawy swojej wydajności, a następnie dostraja i dostosowuje swoje działania do wyciągniętych wniosków.
Ojcowie założyciele metody Agile zostawili nas z dość ogólnymi wytycznymi. Sami analizując swoją pracę musimy zastanowić się w jaki sposób idee te można przenieść na codzienność. Warto pamiętać, że wszystkie wartości wymienione w Manifeście agile są równoważne. Jeżeli chcesz być “agile” musisz spełniać wszystkie 12 zasad tworzenia “zwinnego” programowania, nie zapominając o żadnym z nich.
Badaj każdy krok
W trakcie Festiwalu Sektor 3.0, jednym z prelegentów, był Tom Gilb. Tom jest uznawany za założyciela lub głównego inspiratora wielu dyscyplin technicznych, takich jak „wskaźniki oprogramowania” (software metrics) i „ewolucyjne metody zarządzania projektami” (evolutionary project management), a także jako pionier „Inspekcji” i wynalazca języka planowania Planguage. Tom jest uznawany za twórcę idei niektórych z metod używanych w Agile i Extreme Programming. Ekspert z Norwegii wraz z synem Kaiem opracowali proces „Agile Inspections” oraz „Agile Evolutionary Project Management”, z powodzeniem stosowane przez klientów. O zwinnym sposobie pracy wypowiadał się w trakcie tegorocznego Sektora 3.0.
Tom jest zwolennikiem traktowania procesów w firmach prywatnych i administracji, analogicznie do procesów znanych z badań naukowych. W jego metodologii chodzi o natychmiastowe mierzenie efektów podjętych kroków, weryfikowanie, a następnie stawianie kolejnego kroku do przodu, bądź wstecz jeśli metoda nie działa. W ten sposób mamy pewność, że projekt zmierza w słusznym kierunku i będzie przynosił wymierne efekty. W procesie projektowania, według Toma, należy unikać ogólnych stwierdzeń, znacznie lepiej od razu kwantyfikować nasze cele. Pozwala to uniknąć odmiennej interpretacji celów sformułowanych w sposób ogólny, które mogą być inaczej rozumiane przez różnych członków zespołu.
Agile to proces, który pozwala weryfikować pomysły na wczesnym etapie i nawigować zespołem w przekonaniu, że wszyscy wiedzą w jakim kierunku zmierzają. Na poziomie małej firmy pozwala dostarczać oprogramowanie i produkty zgodne z oczekiwaniami klienta, popełniając jak najmniej błędów po drodze. Z kolei na poziomie wielkich systemów, jak publiczna służba zdrowia czy rządowy obieg dokumentów, pracowanie według zasad Agile pozwala uniknąć wielomilionowych wydatków wydanych na systemy, które finalnie nie działają. Warto zapamiętać 12 zasad “zwinnych” rozwiązań ustanowionych przez ojców tej metody, bowiem pozwalają nam pracować w sposób skuteczny i zrozumiały.
Całe wystąpienie Toma Gilba znajdziecie w filmie poniżej.