Qual è l'approccio iterativo agile e dove è usato?
Per tenere il passo con la domanda del mercato, gli scenari in rapida evoluzione del business digitale hanno posto la pressione di montaggio sui CIO, per fornire uno sviluppo del software altrettanto veloce.
Secondo Gartner, un numero crescente di organizzazioni IT stanno optando perSviluppo agileper semplificaregestione di progettoe illustra il valore del business.
Il 12. Stato annuale di Agile Relazione ha rilevato che uno dei primi cinque ritiene ragioni per l'adozioneMetodologie agili, eraConsegna software accelerata, aumentando al 75% nel 2018. considerando che la pianificazione iterativa, con un aumento dell'88%, è stata la seconda tecnica agile più occupata nel 2018.
Qual è lo sviluppo iterativo agile?
I metodi Agile dello sviluppo del software sono più comunemente descritti come sviluppo iterativo e incrementale. La strategia iterativa è la pietra angolare delle pratiche agili, il più importante dei quali sono Scrum, DSDM e FDD. L'idea generale è quella di dividere lo sviluppo del software in sequenze di cicli ripetuti (iterazioni). Ogni iterazione viene rilasciata una durata fissa di tempo nota come timebox. Una singola timebox dura in genere 2-4 settimane.
Il modello iterativo agile è forse meglio spiegato da Craig Larman nel suo libroSviluppo agile e iterativo - Guida di un manager . Larman spiega che il modello funziona su una ruota ADTC (analisi, design, codice, test). Questo per dire che ogni ciclo di iterazione incorpora l'analisi del piano, il design, il suo codice e il test simultaneamente. La ruota ADTC è più tecnicamente indicata come il ciclo PDCA (Plan, design, controllo, regolazione). La squadra agile implementa il ciclo PDCA su ciascuna iterazione separatamente nel modo seguente:
P (Plan) - Pianificazione iterazione
In questo caso, la squadra collabora per discutere gli obiettivi per la prossima iterazione. Riassupa anche il lavoro svolto e determina il backlog del team richiesto per la prossima iterazione.
D (Design) - Esecuzione iterazione
Questo è il passo "Do" in cui si verifica lo sviluppo del software, il suo design e la sua codifica. Se è una seconda o terza iterazione, viene condotta anche il test di funzionalità. Il team raccoglie storie degli utenti e si prepara per il prossimo passo, che è la revisione dell'iterazione.
C (Verifica) - Revisione iterazione
Conosciuto anche come passaggio "Verifica", la revisione iterazione viene eseguita con il proprietario del prodotto. Il team mostra il risultato testato al proprietario del prodotto, che valuta quindi il lavoro completato e accerta se tutti i criteri sono stati raggiunti.
A (Regola) - Iterazione Retrospect
In questo caso, il team valuta l'intero processo dell'iterazione dal primo passo. Effettua essenzialmente su qualsiasi miglioramento raccolto nelle precedenti iterazioni. I nuovi problemi sono identificati insieme alle loro cause. Prima che la squadra avvia nuovamente il ciclo successivo, il backlog del team è raffinato per riferimento futuro.
Le iterazioni vengono ripetute per ottimizzazioni e improvvisazioni e, le lezioni apprese dai cicli precedenti vengono applicate nel ciclo successivo. Fino a quando un software completamente funzionale è pronto per colpire il mercato.
Benefici dello sviluppo iterativo agile
Gestione del progetto Agile.è stato creato come un'alternativa più flessibile al diversamente tradizionalmente rigidoApproccio cascata .
Il metodo della cascata è un approccio lineare che procede sequenzialmente da una fase a quella successiva, senza consentire allo sviluppo di tornare al passaggio precedente. Va da sé, il metodo della cascata causa ripercussioni imminenti, che includono ma non sono limitate a maggiori costi di sviluppo, consegna del software prolungata e input di risorse aggiuntive.
Sudhakar Gorti, CIO per le risorse dei dati ambientali concorda, " Uno dei principali vantaggi di Agile Over Waterfall è che si vede un delipenabile su base iterativa e il proprietario del prodotto può decidere di apportare modifiche al backlog del prodotto ".
Coinvolgimento del cliente- Lo sviluppo iterativo agile incoraggia il contributo dell'utente. Dopo ogni ciclo iterativo, si ottiene feedback del cliente, e il prodotto viene quindi sottoposto alle modifiche necessarie in base a tale feedback. Questo aspetto porta adattabilità nel quadro del progetto.
Favorisce l'evoluzione- La pianificazione del processo di sviluppo iterativo Agile è un'impresa continua, che consente lo spazio per idee in evoluzione, invece di una pianificazione approfondita che precede solo l'esecuzione e il test in cascata.
Valutazione del rischio- Agile Iterazione consente l'identificazione del rischio e la mitigazione all'inizio dello sviluppo per evitare gli urti di velocità in seguito lungo la timeline.
Consegna rapida- Il lavoro è diviso in piccoli cicli, consentendo ai membri del team di dedicare la loro attenzione e consegnare il tempo. Inoltre, il test è condotto simultaneamente nella codifica e nella progettazione in ogni iterazione, che riduce notevolmente il tempo necessario per raggiungere il completamento.
Dove è impiegato l'approccio iterativo agile?
L'approccio iterativo agile è più adatto per progetti o aziende che fanno parte di un ambito in continua evoluzione. Progetti che non hanno un insieme definito di requisiti destinati a una serie definita di tempo. Per questi casi, l'approccio iterativo agile aiuta a minimizzare il costo e le risorse necessarie ogni volta che si verifica un cambiamento imprevisto.
UDN Task Manager. è stato creato usando la metodologia Scrum. Scrum consente un lavoro di squadra indipendente utilizzando la ruota ADCT, per la quale variUDN Task Manager.Le squadre lavoravano in collaborazione in uno sprint di due settimane (iterazioni).
Dalla portata diUDN Task Manager.è in continua evoluzione, e le aggiunte vengono effettuate su base settimanale, l'approccio iterativo consente ilUDN Task Manager.Team di sviluppo per passare avanti e indietro per le ottimizzazioni.
Brad Murphy, CEO di Agile Consultancy Gear Stream, ritiene che l'approccio iterativo agile sia ora ampiamente riparabile nelle zone diverse dallo sviluppo del software.
Lui spiegaIl marketing digitale può beneficiare dell'approccio iterativo utilizzando l'elemento di consegna frequente per raccogliere feedback dei clienti. Il feedback rapidamente sollecitato può aiutare direttamente a migliorare le successive iterazioni per attirare il traffico più ampio.
Secondo le indagini del Centro Deloitte per le intuizioni del governoL'80% dei principali progetti IT federali si sono definiti "agili iterativi" nel 2017. Una ragione per questo aumento è stata facilmente contabile dalla riduzione del tempo adottata per completare un progetto in armonia con il costo totale del progetto.
Un altro rapporto di Deloitte nel 2015 rivela banche come Barclays ha anche iniziato a utilizzare approcci iterativi comeMischiasu oltre il 20% dei loro audit interni. Barclays ha ammesso di beneficiare dello scrum in settori come la gestione dei rischi e la pianificazione.
L'approccio agile iterativo non è limitato solo alle organizzazioni IT e alle imprese finanziarie.Walmart utilizza l'approccio iterativo agileper audit interni. Uno dei loro numerosi successi induzione post-agile comprendeva il risparmio di tempo rispetto al tradizionale approccio di audit.
Ricky Barr, amministratore delegato di Internal Audit, United Airlines, riassume la sua esperienza di impiegarsiAudit interno agile di Deloittecome "un tempo di audit più veloce attraverso iterazioni del tempo-boxed".
Fino a 8 anni fa, molte società comeGartner's.La maggior parte dei clienti ha ancora utilizzato i metodi tradizionali della cascata per lo sviluppo dell'applicazione.
Ma con i benefici dimostrabili di Agile nel corso degli anni, che vanno dall'aumento del valore commerciale per un forte impatto organizzativo, la comunità agile si è ampliata dagli start-up ai marchi globali come quello di IBM e Cisco.