Agile jest ostatnio jednym z najbardziej popularnych słów kluczowych w branży IT i nie tylko.
A właściwie czym jest Agile? Co to znaczy być Agile?
W celu wyjaśnienia tego pojęcia zacznijmy od podstaw…
Agile Development
Pojęcie te agile development jest oryginalnie stricte związane z tworzeniem i rozwojem oprogramowania i skrócie można by je zdefiniować jako nowatorskie, odmienne podejście do zarządzania zarówno zespołami IT development’u jak i samymi projektami IT.
Samo określenie zwinności (ang. Agile) wywodzi się z tzw. Manifestu Agile:
źródło: http://agilemanifesto.org/iso/pl/manifesto.html
Manifest jest rezultatem dyskusji niewielkiej grupy praktyków ze świata IT, która miała miejsce w 2001. Podczas tej dyskusji określono 4 najważniejsze wartości, które stanowią odpowiedź na opóźnienia i niepowodzenia projektów IT zarządzanych tzw. tradycyjny sposób (metody klasyczne zwane inaczej „waterfall’owymi”).
Wg manifestu Agile twórcy oprogramowania cenią bardziej:
- 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.
Oczywiście elementy wypisane po prawej są wartościowe, ale większą wartość dla twórców manifestu mają te, które wypisano po lewej.
Podejście zwinne – „bycie” Agile
Podejście zwinne wzięło się od zastanawiania się jak można wytwarzać oprogramowanie lepiej niż do tej pory.
Z historycznego punktu widzenia wiemy, że pierwotnie zarządzanie projektami najbardziej rozbudowane było w takich dziedzinach jak budownictwo oraz przemysł. Przeniesione z nich metodyki zarządzania projektami z czasem na gruncie IT okazały niespełniające współczesnych wymagań co do jakości rezultatów czy terminowości lub kosztów realizacji projektu. Stąd potrzeba zmiany podejścia – stania się bardziej „zwinnym”.
Agile Manifesto, który co warto ponownie podkreślić dotyczył zwinnego wytwarzania oprogramowania, stał się przyczynkiem do szerszej zmiany postawy nie tylko w samym IT, ale wielu wcześniej niepowiązanych dziedzinach.
Doświadczenie w IT development’cie pokazało, że trzeba spojrzeć na organizację środowiska pracy i współpracy z klientem z bardziej dojrzałej perspektywy. Z czasem taka zmiana przerodziła się z filozofię, która dla nas de facto jest oznaką zdrowego rozsądku do zaadaptowania na niemalże każdy grunt. A sama zmiana postawy dotyczy następujących „elementów” organizacji jak:
- Relacje i atmosfera pracy, które motywują pracowników do działania;
- Procesy i narzędzia, które nie tylko nie przeszkadzają, ale pomagają w codziennej pracy;
- Nastawienie na konkretne rezultaty pracy, które mają sens i przynoszą wartość;
- Komunikacja i otwartość w dzieleniu się wiedzą i doświadczeniem (w tym wyjście z tzw. silosów);
- Reagowanie na zmiany – zmiana jest czymś oczywistym i trzeba wiedzieć jak je przeprowadzać (mieć „proces wprowadzania zmian”)
- Współpraca z klientem – m.in. regularny feedback, który przyczynia się do spełnienia wymagań klienta dot. produktu lub usługi.
W skrócie:
Z postawą Agile’owa wiążą się:
- poprawę skuteczności,
- poprawę produktywności,
- ograniczenie marnotrawstwa zasobów,
- uświadomienie, że rzeczywistość wokół nas się zmienia i trzeba ją obserwować, uczyć się na błędach i docelowo adaptować,
- wymóg stawiania ludzi w centrum uwagi ponad formalizmami.