Home 9 Project Management 9 Agile jako zwinna metodyka zarządzania w IT

Agile jako zwinna metodyka zarządzania w IT

utworzone przez | 23 października 2021 | Project Management | 0 komentarzy

Obecnie Agile to bardzo modne słowo (buzzword), które spotykamy w wielu miejscach. Niejednokrotnie słyszymy o agilowych blogach, firmach, software house agencjach, czy umowach. Według podręcznikowej definicji agile w it to rodzaj wytwarzania oprogramowania na podstawie modelu iteracyjno — przyrostowego powstały jako alternatywa dla metodyki typu waterfall (modelu klasycznego). Najważniejszym założeniem metody jest obserwacja oczekiwań klienta lub zmian otoczenia i zwinne reagowanie na zmieniające się okoliczności.

 

Historia powstania Agile w IT

 

Agile został wymyślony w 2001 roku, przez grupę programistów w kurorcie narciarskim, w górach Utah. 17 praktyków poza rozrywką w postaci jazdy na nartach debatowało o obecnych problemach związanych z kaskadowym modelem wytwarzania oprogramowania. Głównym problem w przypadku podejścia Waterflow był przepływ informacji oraz reagowanie na zmiany pomiędzy biznesem (oczekiwaniami klienta), a zespołem projektowym. Przed wprowadzeniem Agile w IT wdrożenie programistyczne było szacowane z góry, co skutkowało mocnym niedoszacowane w trakcie trwania i realizacji projektu.

Wprowadzanie zmian i poprawek bywało trudne oraz czasochłonne. Frustracja zespołów rosła, a projekty często nie dochodziły do skutku lub kończyły się mało funkcjonalnym produktem, niedostosowanym do realiów rynku lub konkurencji.

Panowie bardzo dobrze zidentyfikowali problem, jako błędne zarządzanie projektem. Problem pojawiał się od etapu sprzedaży, czyli szacowania całego projektu z góry, po jego release. Po trzech dniach wspólnych dyskusji grupa programistów doszła do porozumienia, tworząc tym samym zbiór zasad nazywany dziś jako Manifesto for Agile Software Development — zbiór 12 zasad definiujących zwinne podejście do zarządzania i wytwarzania oprogramowania.

 

Zwinne podejście agile Vs podejście kaskadowe waterfall

 

Waterfall (podejście kaskadowe) Agile w it (podejście zwinne)

 

  • Harmonogram określony z góry na początku projektu
  • Wszystkie zadania wymagane do realizacji całego projektu znane już na początku projektu
  • Projekt podzielony na następujące po sobie etapy – prowadzony linearnie
  • Wszystkie założenia projektowe oraz budżetowe założone już na początku projektu
  • Pewność kolejnego działania, przejrzysty koncept
  • Możliwość precyzyjnego określenia daty zakończenia projektu (przynajmniej w teorii)

 

  • Brak dokładnego z góry zdefiniowanego planu wdrożenia
  • Podział prac na lepiej mierzalne i zarządzalne cykle (sprinty)
  • Elastyczność do wprowadzania zmian w trakcie projektu oraz zmian w budżecie projektowym
  • Działanie zgodnie z priorytetyzacją w projekcie. Lista priorytetów ustalana w zespole scrumowym
  • Proces projektowy prowadzony tak, aby dotrzeć do wyznaczonego celu, bez z góry określonych ram
  • Pozostawiona przestrzeń oraz elastyczność zespołowi do znajdywania najszybszych i optymalnych dróg w projektowaniu rozwiązań

 

 

Manifest agile

 

1. Najwyższy priorytet ma dla nas zadowolenie klienta, dzięki wczesnemu i ciągłemu wdrażaniu wartościowego oprogramowania.

2. Bądźcie gotowi na zmiany wymagań nawet na późnym etapie jego rozwoju. Procesy zwinne wykorzystują zmiany, dla zapewnienia klientowi konkurencyjności.

3. Dostarczamy funkcjonujące oprogramowanie często, w kilkutygodniowych lub kilkumiesięcznych odstępach. Im częściej, tym lepiej.

4. Zespoły biznesowe i deweloperskie muszą ściśle ze sobą współpracować w codziennej pracy przez cały czas trwania projektu.

5. Twórzcie projekty wokół zmotywowanych ludzi. Zapewnijcie im potrzebne środowisko oraz wsparcie i zaufajcie, że wykonają powierzone zadanie.

6. Najbardziej efektywnym i wydajnym sposobem przekazywania informacji zespołowi deweloperskiemu i wewnątrz niego jest rozmowa twarzą w twarz.

7. Działające oprogramowanie jest podstawową miarą postępu.

8. Procesy zwinne umożliwiają zrównoważony rozwój. Sponsorzy, deweloperzy oraz użytkownicy powinni być w stanie utrzymywać równe tempo pracy.

9. Ciągłe skupienie na technicznej doskonałości i dobrym projektowaniu zwiększa zwinność.

10. Prostota – sztuka minimalizowania ilości koniecznej pracy – jest kluczowa.

11. Najlepsze rozwiązania architektoniczne, wymagania i projekty pochodzą od samoorganizujących się zespołów.

12. W regularnych odstępach czasu zespół analizuje możliwości poprawy swojej wydajności, a następnie dostraja i dostosowuje swoje działania do wyciągniętych wniosków.

 

Etapy realizacji zadań projektowych w oparciu o agile w IT

 

Na podstawie metodyki agile w IT wyróżnia się etapy następujące jeden po drugim:

  • plan (planowanie)
  • design (projektowanie)
  • develop (programowanie)
  • test (testowanie)
  • release (implementacja)
  • feedback (informacja zwrotna)

 

Agile w IT

 

Powyższe etapy mają na celu stworzenie powtarzalnego cyklu do czasu zakończenia danego zadania. Kolejne cykle mają już służyć ewentualnemu skorygowaniu przygotowanego zadania na bazie informacji od klienta lub elastycznemu wprowadzaniu zmian powstałych na etapie developmentu.

 

Planowanie

 

Głównym celem na etapie planowania jest zebranie wszystkich wymagań dotyczących produktu. Dzięki temu jesteśmy w stanie określić story projektu oraz wszystkie niezbędne funkcjonalności produktu z biznesowego punktu widzenia klienta. Jest to etap, kluczowy dla rozwoju całego projektu, dlatego powinien zostać wykonany z należytą starannością. Tak, aby wymagania klienta zostały dokładnie zrozumienie oraz udokumentowane. Kluczowa jest również komunikacja i ustalenie zasad współpracy na linii klient — zespół projektowy, harmonogramu, komunikacji czy budżetu.

 

Projektowanie

 

Projektowanie to etap związany z odwzorowaniem wymagań klienta w formie graficznej. Jest to również kluczowy element z punktu widzenia późniejszego developmentu. Na tym etapie powinny zostać doprecyzowane wszystkie moduły lub szczegóły.

 

Programowanie

 

Etap mający na celu wdrożenie programistyczne wcześniejszych projektów graficznych oraz ustalonych funkcjonalności.

 

Testowanie

 

Testowanie danego elementu pod kątem zgodności ze specyfikacją oraz wymaganiami klienta. Weryfikacja pod kątem zachowań użytkowników oraz zgodności z założeniami projektowymi.

 

Informacja zwrotna

 

Przekazanie informacji zwrotnej od klienta do zespołu projektowego. Feedback najczęściej dotyczy ewentualnych błędów powstałych w wyniku dodatkowych testów klienta, zmiany oczekiwań zamawiającego odnośnie do ostatecznego wyglądu / funkcjonalności feature’a lub zmian wynikających ze zmian rynku / prawa / konkurencji / nowego produktu itp.

 

Podsumowanie

 

W bardzo szybko i dynamicznie zmieniającym się środowisku, elastyczne wytwarzanie oprogramowania ze zorientowaniem na jakość oraz zadowolenie klienta to obecnie standard w Software House czy agencjach. Warto zwrócić uwagę na to, że praca w metodyce agile w it to przede wszystkim zaufanie zespołu, elastyczne podejście do zmian, utrzymanie zadowolenia klienta, prostota, czy działające oprogramowanie.

Źródło:

https://pl.wikipedia.org/wiki/Programowanie_zwinne

https://agilemanifesto.org/

Zobacz inne artykuły w kategorii: Project Management 

5/5 - (13 votes)

Na skróty

eBook Shopify

Komentarze

Poland