Co to jest podejście iteracyjne Agile i gdzie jest używane?

Opublikowany: 2018-06-22

Aby nadążyć za zapotrzebowaniem rynku, szybko ewoluujące scenariusze biznesu cyfrowego wywarły rosnącą presję na dyrektorów ds. informatyki, aby dostarczali równie szybkie tworzenie oprogramowania.

Według firmy Gartner coraz więcej organizacji IT wybiera rozwiązania zwinne w celu usprawnienia zarządzania projektami i zobrazowania wartości biznesowej.

Dwunasty roczny raport o stanie Agile wykazał, że jednym z pięciu najczęściej zgłaszanych powodów przyjęcia metodologii Agile było przyspieszone dostarczanie oprogramowania , które w 2018 roku zwiększyło się do 75%. Technika w 2018 roku.

Co to jest zwinne tworzenie iteracyjne?

Zwinne metody tworzenia oprogramowania są najczęściej określane jako rozwój iteracyjny i przyrostowy. Strategia iteracyjna jest podstawą praktyk Agile, z których najważniejsze to SCRUM, DSDM i FDD. Ogólną ideą jest podzielenie rozwoju oprogramowania na sekwencje powtarzających się cykli (iteracji). Każda iteracja ma ustalony czas, znany jako timebox. Pojedynczy timebox trwa zwykle 2-4 tygodnie.

Zwinny model iteracyjny jest prawdopodobnie najlepiej wyjaśniony przez Craiga Larmana w jego książce Agile and Iterative Development – ​​A Manager's Guide . Larman wyjaśnia, że ​​model działa na kole ADTC (analiza, projekt, kod, test). Oznacza to, że każdy cykl iteracji obejmuje analizę planu, projektu, jego kodu i jednocześnie Test. Koło ADTC jest bardziej technicznie określane jako cykl PDCA (planowanie, projektowanie, kontrola, regulacja). Zespół Agile implementuje cykl PDCA dla każdej iteracji osobno w następujący sposób:

P (Plan) – Planowanie iteracji

W tym przypadku zespół współpracuje, aby omówić cele dla następnej iteracji. Podsumowuje również wykonaną pracę i określa zaległości zespołu wymagane do następnej iteracji.

D (projekt) – wykonanie iteracji

Na tym etapie następuje rozwój oprogramowania, jego projektowanie i kodowanie. Jeśli jest to druga lub trzecia iteracja, przeprowadzane są również testy funkcjonalności. Zespół zbiera historyjki użytkowników i przygotowuje się do kolejnego kroku, jakim jest Przegląd Iteracji.

C (Sprawdź) – Przegląd iteracji

Znany również jako krok „sprawdzania”, przegląd iteracji jest przeprowadzany z właścicielem produktu. Zespół pokazuje przetestowany produkt Właścicielowi Produktu, który następnie przegląda ukończoną pracę i upewnia się, czy wszystkie kryteria zostały spełnione.

A (Dostosuj) – Retrospektywa iteracji

W takim przypadku zespół ocenia cały proces iteracji od pierwszego kroku. Zasadniczo działa na wszelkich ulepszeniach zebranych w poprzednich iteracjach. Identyfikowane są nowe problemy wraz z ich przyczynami. Zanim zespół ponownie rozpocznie kolejny cykl, zaległości zespołu są dopracowywane do wykorzystania w przyszłości.

Iteracje są powtarzane dla optymalizacji i improwizacji, a wnioski wyciągnięte z poprzednich cykli są stosowane w następnym cyklu. Dopóki w pełni funkcjonalne oprogramowanie nie będzie gotowe do wejścia na rynek.

Korzyści ze zwinnego rozwoju iteracyjnego

Zwinne zarządzanie projektami zostało stworzone jako bardziej elastyczna alternatywa dla tradycyjnie sztywnego podejścia Waterfall.

Metoda Waterfall jest podejściem liniowym, które przebiega sekwencyjnie z jednej fazy do następnej, bez możliwości powrotu rozwoju do poprzedniego etapu. Nie trzeba dodawać, że metoda Waterfall powoduje zbliżające się reperkusje, które obejmują między innymi zwiększone koszty rozwoju, przedłużone dostarczanie oprogramowania i dodatkowe zasoby.

Sudhakar Gorti, CIO ds. zasobów danych środowiskowych zgadza się: Jedną z głównych zalet Agile w porównaniu z Waterfall jest to, że widzisz produkt na zasadzie iteracji, a właściciel produktu może zdecydować o wprowadzeniu zmian w backlogu produktu”.

Zaangażowanie klienta – Agile Iteracyjny rozwój zachęca użytkowników do wkładu. Po każdym cyklu iteracyjnym uzyskiwana jest informacja zwrotna od klientów, a produkt jest następnie poddawany niezbędnym zmianom w oparciu o tę informację zwrotną. Ten aspekt wprowadza adaptacyjność w ramy projektu.

Sprzyja ewolucji – Planowanie w procesie rozwoju Agile Iterative jest ciągłym wyczynem, który zapewnia przestrzeń dla ewoluujących pomysłów, zamiast rozległego planowania, które tylko poprzedza wykonanie i testowanie w Wodospadzie.

Ocena ryzyka — zwinna iteracja umożliwia identyfikację i łagodzenie ryzyka na wczesnym etapie rozwoju, aby uniknąć skoków prędkości na późniejszych etapach.

Szybka dostawa – praca jest podzielona na małe cykle, dzięki czemu członkowie zespołu mogą skupić się i dostarczyć na czas. Co więcej, w każdej iteracji przeprowadza się testowanie jednocześnie w kodowaniu i projektowaniu, co znacznie skraca czas potrzebny na ukończenie.

Gdzie jest stosowane podejście iteracyjne Agile?

Zwinne podejście iteracyjne najlepiej nadaje się do projektów lub firm, które są częścią stale ewoluującego zakresu. Projekty, które nie mają określonego zestawu wymagań, przeznaczone na określony czas. W takich przypadkach podejście iteracyjne Agile pomaga zminimalizować koszty i zasoby potrzebne za każdym razem, gdy nastąpi nieprzewidziana zmiana.

nTask zostało stworzone z wykorzystaniem metodologii Scrum. Scrum umożliwia samodzielną pracę zespołową z wykorzystaniem koła ADCT, dla którego różne zespoły nTask pracowały wspólnie w dwutygodniowych sprintach (iteracjach).

Ponieważ zakres nTask stale się rozwija, a dodatki są wprowadzane co tydzień, iteracyjne podejście umożliwia zespołowi programistów nTask przełączanie się tam i z powrotem w celu optymalizacji.

Brad Murphy, dyrektor generalny Gear Stream, firmy konsultingowej ds. Agile, uważa, że ​​podejście Agile Iterative jest obecnie w znacznym stopniu przydatne w obszarach innych niż tworzenie oprogramowania.

Wyjaśnia, w jaki sposób marketing cyfrowy może skorzystać na iteracyjnym podejściu, wykorzystując element częstych dostaw do zbierania opinii klientów. Szybko uzyskiwana informacja zwrotna może bezpośrednio pomóc w ulepszaniu kolejnych iteracji w celu przyciągnięcia większego ruchu.

Według badań The Deloitte Center for Government Insights, 80% głównych federalnych projektów informatycznych określiło się jako „zwinne iteracyjne” w 2017 roku. Jedną z przyczyn tego wzrostu było łatwo wytłumaczyć skróceniem czasu potrzebnego na harmonijne ukończenie projektu z całkowitym kosztem projektu.

Inny raport Deloitte z 2015 r. ujawnia, że ​​banki takie jak Barclays również zaczęły stosować podejścia iteracyjne, takie jak Scrum, w ponad 20% swoich audytów wewnętrznych. Barclays przyznał się do korzystania z SCRUM w obszarach takich jak zarządzanie ryzykiem i planowanie.

Agile Iterative Approach nie ogranicza się tylko do organizacji IT i firm finansowych. Walmart stosuje podejście iteracyjne Agile do audytów wewnętrznych. Jednym z ich wielu sukcesów po wprowadzeniu Agile była oszczędność czasu w porównaniu z tradycyjnym podejściem do audytu.

Ricky Barr, dyrektor zarządzający Działu Audytu Wewnętrznego United Airlines, podsumowuje swoje doświadczenie w stosowaniu Agile Internal Audit Deloitte jako „szybszy czas cyklu audytu poprzez iteracje ograniczone czasowo”.

Jeszcze 8 lat temu wiele korporacji, takich jak zdecydowana większość klientów Gartnera, nadal używało tradycyjnych metod Waterfall do tworzenia aplikacji.

Jednak dzięki widocznym korzyściom płynącym z Agile na przestrzeni lat, które wahały się od zwiększonej wartości biznesowej do silnego wpływu organizacyjnego, społeczność Agile rozszerzyła się ze start-upów na globalne marki, takie jak IBM i Cisco.