„Agile” w dosłownym tłumaczeniu znaczy „zwinny”, ale także „elastyczny”, „zmienny”. Jaki to ma związek z koncepcją zarządzania projektami? By to wyjaśnić trzeba się cofnąć do czasu sformułowania założeń działań agile. Stało się to na początku XXI w. i przyjęło postać Manifestu Agile. Jego twórcy już wcześniej korzystali z powodzeniem z tych metod w pracy, a teraz postanowili podzielić się nimi z innymi.
Agile
Dominująca koncepcja głosi, że nie powinniśmy już na początku planować całego procesu, aż po produkt finalny. Projekt należy wykonać w częściach tzw. iteracjach z określonym w harmonogramie terminem realizacji każdej z nich. Punktem wyjścia jest omówienie z klientem tego, co należy wykonać najpierw – w pierwszej iteracji. Po zakończeniu pierwszego etapu mamy gotowy produkt cząstkowy – autonomiczną część, którą można ocenić, sprawdzić, wdrożyć i na tej podstawie wyznaczyć cele do dalszych działań – kolejnych iteracji. Jako pierwsze powinny zostać zaplanowane te iteracje, które są kluczowe dla produktu, a następne powinny wzbogacać go o kolejne funkcje.
SCRUM
Jedną ze zwinnych metodyk, zgodną z założeniami Manifestu Agile i chronologicznie od niego wcześniejszą, jest Scrum. W ramach tej metodyki proces rozwoju projektu jest podzielony na równe iteracje, trwające od tygodnia do miesiąca i zwane sprintami (przebiegami). Na początku pracy nad produktem definiowane są wymagania klienta. W ten sposób określane są cele poszczególnych sprintów oraz wyznaczane osoby potrzebne do ich realizacji.
Po każdym sprincie zespół pracujący nad wykonaniem produktu jest w stanie zaprezentować jego działającą wersję. Po zakończeniu etapu klient widzi namacalne zmiany, dodające wartości funkcjonalne.
Wespół w zespół – zwinne zespoły
Kolejnym elementem działań w duchu agile jest organizacja zespołu oraz komunikacja. „Zwinne zespoły” to takie, które same sobą zarządzają i dostosowują się do aktywności, które należy podjąć w danej iteracji. Osoby odpowiedzialne za stronę biznesową i deweloperzy współpracują ze sobą na bieżąco, przez cały okres realizacji projektu.
Jak może wyglądać zespół? Rekomendujemy zaangażowanie następujących osób lub grup do realizacji projektu:
- Presales – ustala wstępne potrzeby klienta.
- Project Manager – prowadzi projekt, zajmuje się harmonogramowaniem etapów, śledzeniem rozliczeń i komunikacją pomiędzy klientem a zespołem.
- Scrum Master – planuje kolejne iteracje w ramach danego etapu.
- Analityk – pozyskuje od klienta najważniejsze informacje i opisuje je w możliwe dostępny sposób, by przekazać pozostałym członkom zespołu.
- Architekt – projektuje rozwiązanie, używając najlepszej i najbardziej optymalnej technologii.
- Zespół programistów – programiści technologii C#, .NET, AngularJS, JS, Jquery, HTML5/CSS3, których nadzoruje szef działu deweloperskiego.
Harmonogram oraz zużycie zasobów i czasu
W momencie rozpoczęcia projektu mamy tylko konkretne cele, które chcemy osiągnąć oraz interwały czasowe dla sprintów. Każdy sprint w tym projekcie trwa tydzień. Po pierwszym klient otrzymuje wersję produktu z podstawowymi funkcjami, gotową do użytkowania. Dla każdego kolejnego sprintu są wyznaczane, wspólnie z klientem, nowe cele. Takie podejście do procesu wdrażania oprogramowania pozwala kontrolować czas i wydatki, poprzez monitorowanie postępu zadań i zużycia zasobów.
Zalety zwinnej metodyki
- Zastosowanie zwinnej metodyki w procesie wdrażania oprogramowania pozwala na stałe monitorowanie postępu i ocenę powstającego produktu.
- Zakres projektu przez cały czas jego realizacji pozostaje otwarty, co daje klientowi możliwość nanoszenia zmian w dowolnym momencie.
- Nawet w przypadku przerwania realizacji projektu, trudno mówić o poniesieniu strat finansowych, gdyż wykonane części aplikacji są gotowe do użycia.
- Już po pierwszej iteracji klient otrzymuje produkt z działającymi podstawowymi funkcjami, którego może zacząć używać.
- Nic też nie stoi na przeszkodzie, by tak przygotowany produkt finalny w przyszłości stał się częścią kolejnego projektu.
Jeśli chcesz wykorzystywać takie metody współpracy – skontaktuj się na nami: 22 8771525.