Bycie agile obecnie jest bardzo na topie. Tak bardzo, że agilowe hasła klucze przyklejane są do większości ofert pracy. O metodykach zwinnych znaleźć można w sieci mnóstwo materiału. Tak się jednak złożyło, że był to też temat mojej pracy magisterskiej, więc nie byłabym sobą gdybym nie poruszyła go na własnym blogu :). Jeśli jakimś cudem nie zetknęłaś się jeszcze z tematem zwinności, to być może ten krótki wpis rozjaśni Ci, o co tak naprawdę w tym chodzi.
#1 Czym jest zwinność
Metodyk zwinnych jest wiele, a do tego potrafią się między sobą bardzo różnić. Żeby jednak zgłębić temat i poznać lepiej przynajmniej jedną z nich, trzeba wiedzieć czym jest tytułowa zwinność. W największym skrócie – to po prostu szybkie i sprawne adaptowanie się do zmian. Projekty informatyczne (bo mówimy o metodykach zwinnych w odniesieniu tylko do nich) teoretycznie realizowane są w etapach. Jeśli ich nie znasz lub nie pamiętasz to mniej więcej jest to tak:
- Zbieranie wymagań i analiza
- Projektowanie
- Tworzenie systemu (+testowanie)
- Utrzymanie
W źródłach i mądrych książkach znaleźć można dużo różnych wersji tego “modelu”. Mówią one też, że w tradycyjnym podejściu każda faza powinna zakończyć się przed rozpoczęciem kolejnej i po gruntownych pracach być starannie zamknięta (i domknięta). Brzmi sensownie, ale po czasie okazało się, że to działa po prostu słabo. Jeśli miałaś okazję pracować w jakimś projekcie, to z pewnością wiesz, że nie da się ustalić jednych wymagań na początku i trzymać się ich w niezmienionej formie, aż do końca. Tradycyjny sposób wytwarzania oprogramowania miał sens, kiedy tworzone systemy były małe. Teraz, kiedy tworzy się przeogromne, zintegrowane kolosy, ustalenie na początku wszystkich, najdrobniejszych szczegółów jest po prostu niemożliwe. Zwinne metodyki przychodzą tutaj z pomocą. Przede wszystkim zakładają, że do zmian wymagań trzeba się przyzwyczaić i do nich adaptować. Wymienione etapy są powtarzane w pętli, w krótkich przedziałach czasowych. Zadania często planuje się od ogółu do szczegółu, nie skupiając się na wszystkich detalach (bo raz, że może się to zmienić, a dwa, że jeśli się zmieni to straciliśmy czas). Projekt rozwija się w sposób iteracyjny lub przyrostowy.
#2 Dlaczego metodyki
Pod samym hasłem kluczem “agile” kryje się jedynie manifest Agile (jeśli go nie znasz, to tu LINK). Dookoła tego manifestu powstało wiele różnych sposobów, jak ową zwinność poskromić i zastosować we własnym projekcie. Z każdą pojedynczą metodyką powiązane są zatem nie tylko zasady działania, ale też narzędzia. Niektóre są na tyle popularne i na tyle obszerne, że możesz na ich temat bez problemu znaleźć niejedną, całą książkę.
#3 Dlaczego warto je znać
Powód jest prosty – są obecnie bardzo modne. Z całą pewnością swoją popularność zawdzięczają temu, że najlepiej rozwiązują obecne problemy z prowadzeniem projektów. Jednak czy słusznie jest dookoła nich tyle szumu – nie mi oceniać. Wiem jednak, że z dużym prawdopodobieństwem zetkniesz się z nimi w przyszłej pracy – nawet jeśli na rozmowie nikt o nich nie wspomniał. Jak na razie nie jest to kluczowa umiejętność bo jeśli nie znasz danej metodyki to raczej nikt tylko z tego powodu nie odmówi Ci pracy (chyba, że starasz się o posadę Scrum Mastera, a nie znasz Scruma – wtedy może się tak zdarzyć ;p). Dlaczego więc powinnaś je poznać? Bo zwyczajnie ułatwisz sobie codzienną pracę. A dodatkowo, jeśli okaże się, że całkiem dobrze się w nich czujesz to może skusisz się na coś więcej? Na co konkretnie? Patrz poniżej.
#4 Zwinne stanowiska
Bycie zwinnym tak bardzo ewoluowało, że znaleźć już można oferty na stanowiska, które dotyczą objęcia konkretnej roli pochodzącej z konkretnej metodyki. Żeby lepiej zobrazować co mam na myśli, posłużę się najlepiej mi znaną metodyką – Scrumem. Według niej zespół realizujący projekt składa się z zespołu deweloperskiego (tj. kilku osób, które będą realizowały zadania projektowe), Product Ownera i Scrum Mastera. Właściciel produktu to osoba, która dba o tworzony produkt i konsultuje wymagania. Scrum master to osoba, która dba o trzymanie się zasad i usuwanie ewentualnych, rozmaitych przeszkód, które stoją na drodze do osiągnięcia celu przez zespół. Często jest tak, że do danej roli scrumowej wyłania się po prostu jedną osobę z zespołu, ale zdarza się też, że szuka się specjalnej osoby – “fachowego Scrum Mastera” lub “fachowego Product Ownera”. Podsumowując, oznacza to tyle, że dobra znajomość metodyk zwinnych, może stać się Twoją specjalizacją i przynieść całkiem ciekawe oferty pracy. 🙂
#5 Pierwsza zwinność
Jeśli wiesz już, że będziesz zgłębiać tajemnice metodyk zwinnych, to na pewno będziesz musiała w którymś momencie zająć się konkretnie jedną z nich. Teraz najpopularniejszy jest Scrum i Kanban. Jeśli więc patrzysz na sprawę rzeczowo i chcesz, żeby Twoja wiedza była jak najbardziej użyteczna – wybrałabym którąś z nich. Jeśli jednak podchodzisz do tematu bardziej z własnej ciekawości to dobrym wyborem może być lektura książki, w której znajdziesz przegląd większości znanych, metodyk zwinnych.
Hasła zwinności, bycia “agile”, sprintów i scrumów są tak bardzo popularne, że warto wiedzieć z czym są w ogóle związane (w szczególności jeśli idziesz do pierwszej pracy i jest to korporacja). Temat jest lekki i przyjemny, a może okazać się, że to właśnie ta część świata IT jest stworzona dla Ciebie. Jeśli masz jakiekolwiek doświadczenia z metodykami zwinnymi, podziel się nimi w komentarzach. 🙂