Zastosowanie Agile w procesie wdrażania oprogramowania

 

„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.