Czym jest Agile?
Agile to zwinne podejście do zarządzania projektami i wytwarzania oprogramowania. Stosuje się je szczególnie wtedy, gdy na początku projektu nie da się dokładnie określić pełnego zakresu, a wymagania mogą zmieniać się w trakcie prac.
W Agile projekt nie jest planowany szczegółowo od początku do końca. Zamiast tego prace dzieli się na krótkie etapy, np. iteracje lub sprinty, po których powstaje działający fragment produktu. Klient lub użytkownik może na bieżąco zgłaszać uwagi, a zespół dostosowuje dalsze działania.
Najważniejsze cechy Agile
- elastyczne reagowanie na zmiany wymagań,
- częste dostarczanie działających części produktu,
- stała współpraca z klientem lub interesariuszami,
- iteracyjny i przyrostowy sposób pracy,
- większe znaczenie komunikacji niż sztywnej dokumentacji.
Kiedy Agile jest dobrym wyborem?
Agile sprawdza się, gdy:
- wymagania nie są w pełni znane na starcie,
- projekt jest innowacyjny lub trudny do przewidzenia,
- klient może zmieniać oczekiwania w trakcie realizacji,
- ważne jest szybkie uzyskanie pierwszej działającej wersji produktu,
- zespół regularnie testuje i poprawia rozwiązanie.
Agile a model kaskadowy
W modelu kaskadowym etapy następują po sobie liniowo: analiza, projekt, implementacja, testowanie, wdrożenie. Taki model wymaga dobrze określonych wymagań już na początku.
W Agile zmiany są naturalnym elementem projektu. Dlatego w pytaniach egzaminacyjnych Agile jest właściwą odpowiedzią, gdy pojawiają się sformułowania: „zakres nie jest w pełni określony”, „wymagania mogą się zmieniać”, „mogą wystąpić nowe potrzeby”.
Przykłady metod zwinnych
Do podejść zgodnych z Agile należą m.in.:
- Scrum,
- Kanban,
- Extreme Programming, czyli XP.
Agile nie oznacza braku planowania. Oznacza planowanie krótszymi etapami i gotowość do zmiany kierunku, gdy pojawią się nowe informacje.