Ce este abordarea iterativă agilă și unde este utilizată?

Publicat: 2018-06-22

Pentru a ține pasul cu cererea pieței, scenariile cu evoluție rapidă ale afacerii digitale au pus o presiune crescândă asupra CIO, pentru a oferi o dezvoltare software la fel de rapidă.

Potrivit Gartner, un număr tot mai mare de organizații IT optează pentru dezvoltarea Agile pentru a eficientiza managementul proiectelor și pentru a ilustra valoarea afacerii.

Cel de-al 12- lea raport anual privind starea Agile a constatat că unul dintre primele cinci motive raportate pentru adoptarea metodologiilor Agile a fost livrarea accelerată de software , care a crescut la 75% în 2018. În timp ce Planificarea iterativă, cu o creștere de 88%, a fost a doua cea mai folosită Agilitate. Tehnica in 2018.

Ce este dezvoltarea agilă iterativă?

Metodele agile de dezvoltare software sunt descrise cel mai frecvent ca dezvoltare iterativă și incrementală. Strategia iterativă este piatra de temelie a practicilor Agile, dintre care cele mai proeminente sunt SCRUM, DSDM și FDD. Ideea generală este de a împărți dezvoltarea software-ului în secvențe de cicluri repetate (iterații). Fiecare iterație primește o perioadă fixă ​​de timp cunoscută sub numele de timebox. O singură casetă de timp durează de obicei 2-4 săptămâni.

Modelul Agile Iterativ este poate cel mai bine explicat de Craig Larman în cartea sa Agile and Iterative Development – ​​A Manager's Guide . Larman explică că modelul funcționează pe o roată ADTC (Analiză, Proiectare, Cod, Test). Aceasta înseamnă că fiecare ciclu de iterație încorporează Analiza planului, Proiectul, Codul acestuia și simultan Testul. Roata ADTC este denumită mai tehnic ciclul PDCA (Plan, Design, Check, Adjust). Echipa Agile implementează ciclul PDCA pe fiecare iterație separat, în felul următor:

P (Plan) – Planificarea iterației

În acest eveniment, echipa colaborează pentru a discuta obiectivele pentru următoarea iterație. De asemenea, rezumă munca depusă și determină întârzierea echipei necesare pentru următoarea iterație.

D (Design) – Execuție iterație

Acesta este pasul „do” în care are loc dezvoltarea software-ului, proiectarea și codificarea acestuia. Dacă este o a doua sau a treia iterație, atunci se efectuează și testarea funcționalității. Echipa colectează poveștile utilizatorilor și se pregătește pentru următorul pas, care este revizuirea iterației.

C (Verificare) – Revizuirea iterației

Cunoscută și sub denumirea de pasul de „verificare”, revizuirea iterației este efectuată împreună cu Product Owner. Echipa arată livrabilul testat proprietarului produsului, care apoi revizuiește munca finalizată și verifică dacă toate criteriile au fost îndeplinite.

A (Ajustare) – Iterație Retrospect

În acest caz, echipa evaluează întregul proces de iterație de la primul pas. În esență, funcționează la orice îmbunătățiri care sunt adunate în iterațiile anterioare. Sunt identificate noi probleme împreună cu cauzele lor. Înainte ca echipa să înceapă din nou următorul ciclu, restul echipei este rafinat pentru referință ulterioară.

Iterațiile se repetă pentru optimizări și improvizații, iar lecțiile învățate din ciclurile anterioare sunt aplicate în ciclul următor. Până când un software complet funcțional este gata să ajungă pe piață.

Beneficiile dezvoltării agile iterative

Managementul agil al proiectelor a fost creat ca o alternativă mai flexibilă la abordarea Waterfall, altfel rigidă.

Metoda Waterfall este o abordare liniară care trece secvenţial de la o fază la următoarea, fără a permite dezvoltării să se întoarcă înapoi la pasul anterior. De la sine înțeles, metoda Waterfall provoacă repercusiuni iminente, care includ, dar nu se limitează la costuri crescute de dezvoltare, livrare prelungită a software-ului și resurse suplimentare.

Sudhakar Gorti, CIO pentru Environmental Data Resources este de acord, Unul dintre avantajele majore ale Agile over Waterfall este că vedeți un livrabil pe o bază iterativă, iar Product Owner poate decide să facă modificări în stocul de produse”.

Implicarea clienților – Dezvoltarea agilă iterativă încurajează contribuția utilizatorilor. După fiecare ciclu iterativ, se obține feedback-ul clienților, iar produsul este apoi supus modificărilor necesare pe baza acelui feedback. Acest aspect aduce adaptabilitatea în cadrul proiectului.

Favorizează evoluția – Planificarea în procesul de dezvoltare Agile Iterative este o ispravă continuă, care permite spațiu pentru idei în evoluție, în loc de planificare extinsă care precede doar execuția și testarea în Waterfall.

Evaluarea riscurilor – Iterația agilă permite identificarea și atenuarea riscurilor la începutul dezvoltării pentru a evita scăderile de viteză mai târziu în timpul cronologic.

Livrare rapidă – munca este împărțită în cicluri mici, permițând membrilor echipei să-și dedice concentrarea și să livreze la timp. Mai mult decât atât, testarea este efectuată simultan în codificare și proiectare în fiecare iterație, ceea ce reduce foarte mult timpul necesar pentru a obține finalizarea.

Unde este folosită abordarea iterativă agilă?

Abordarea iterativă Agile este cea mai potrivită pentru proiecte sau afaceri care fac parte dintr-un domeniu în continuă evoluție. Proiecte care nu au un set definit de cerințe destinate unui set de timp definit. Pentru astfel de cazuri, Abordarea Iterativă Agilă ajută la minimizarea costurilor și resurselor necesare de fiecare dată când apare o schimbare neprevăzută.

nTask a fost creat folosind metodologia Scrum. Scrum permite lucrul în echipă independent folosind roata ADCT, pentru care diferite echipe nTask au lucrat în colaborare în sprinturi de două săptămâni (iterații).

Deoarece domeniul de aplicare al nTask evoluează continuu, iar completările sunt făcute săptămânal, abordarea iterativă permite echipei de dezvoltare nTask să comute înainte și înapoi pentru optimizări.

Brad Murphy, CEO al companiei de consultanță Agile Gear Stream, consideră că abordarea Agile Iterative este acum utilă pe scară largă în alte zone decât dezvoltarea de software.

El explică modul în care marketingul digital poate beneficia de pe urma abordării iterative prin utilizarea elementului de livrare frecventă pentru a colecta feedback-ul clienților. Feedback-ul solicitat rapid poate ajuta direct la îmbunătățirea iterațiilor ulterioare pentru a atrage un trafic mai mare.

Potrivit investigațiilor The Deloitte Center for Government Insights, 80% dintre proiectele IT federale majore s-au autodenumit „Agile Iterative” în 2017. Unul dintre motivele acestei creșteri a fost ușor de explicat prin reducerea timpului necesar pentru a finaliza un proiect în armonie. cu costul total al proiectului.

Un alt raport de la Deloitte din 2015 dezvăluie că bănci precum Barclays au început, de asemenea, să utilizeze abordări iterative, cum ar fi Scrum, pentru mai mult de 20% din auditurile lor interne. Barclays a recunoscut că beneficiază de SCRUM în domenii precum managementul riscurilor și planificarea.

Abordarea iterativă agilă nu se limitează doar la organizațiile IT și la firmele financiare. Walmart folosește abordarea iterativă agilă pentru audituri interne. Unul dintre numeroasele lor succese după introducerea Agile a inclus economia de timp în comparație cu abordarea tradițională de audit.

Ricky Barr, directorul general al Audit Intern, United Airlines, își rezumă experiența de a folosi Auditul Intern Agil de la Deloitte ca „un ciclu de audit mai rapid prin iterații în intervale de timp”.

Până acum 8 ani, multe corporații, cum ar fi marea majoritate a clienților Gartner, încă foloseau metodele tradiționale Waterfall pentru dezvoltarea aplicațiilor.

Dar cu beneficiile demonstrabile ale Agile de-a lungul anilor, care au variat de la creșterea valorii afacerii până la un impact organizațional puternic, comunitatea Agile s-a extins de la start-up-uri la mărci globale precum IBM și Cisco.