Processo iterativo è una di quelle parole che, come Agile, ci fa subito pensare a qualcosa che ha a che fare coi team di sviluppo. Ma in un modo o nell'altro, la maggior parte dei team usa le iterazioni e usare un metodo iterativo può aiutarti a ridurre i rischi, gestire l'efficienza e approcciare i problemi in un modo più flessibile e dinamico.
Se vuoi provare il processo iterativo, questo articolo fa al caso tuo. Ti spiegheremo come definirlo e come implementarlo all'interno del tuo team.
Il processo iterativo è la pratica di creare, rifinire e migliorare un progetto, un prodotto o un'iniziativa. I team che usano il processo di sviluppo iterativo creano, testano e verificano fino a che non sono soddisfatti del risultato finale. Puoi pensare al processo iterativo come a un metodo per tentativi che avvicina il progetto al suo obiettivo finale.
I processi iterativi sono una parte fondamentale delle metodologie snelle e del project management Agile, ma questi processi possono essere implementati da qualsiasi team, non solo da quelli Agile. Durante il processo iterativo, migliorerai costantemente il design, il prodotto o il progetto fino a che tu e il tuo team sarete soddisfatti del deliverable di progetto finale.
Un processo non è iterativo quando tu e il tuo team collaborate per creare un prodotto finale senza necessariamente provare nuove idee lungo il percorso. Solitamente, i processi che non sono iterativi richiedono più tempo durante le fasi di concettualizzazione e creazione, in modo che tutto funzioni come previsto durante la fase di test.
Il processo waterfall è il più comune tra i processi non iterativi. In questo modello, tu e il tuo team definirete le fasi di progetto prima dell'avvio. Ogni fase inizia quando quella precedente viene completata. I requisiti e le risorse verranno bloccati prima che il progetto inizi e il team eviterà il più possibile di modificare il piano di progetto.
Ad esempio, immagina di lavorare con un'agenzia di design per creare un ebook. Prima devi consegnare il copy completo per l'ebook. Quindi l'agenzia di design prenderà il copy e creerà i design. Infine, il tuo team interno revisionerà l'ebook per assicurarsi che tutto sia OK. Questo è un esempio del modello waterfall, perché ogni fase dipende dal passaggio precedente (in questo caso, non puoi revisionare l'ebook finché non ne è stato creato il design).
In base al tipo di team in cui lavori e al tipo di progetto che gestisci, i processi non iterativi possono essere complicati, perché non danno la possibilità al tuo team di effettuare iterazioni e di migliorare continuamente il prodotto. Poiché ci sono molte incognite e sorprese, i team di sviluppo solitamente usano processi iterativi invece che processi non iterativi, ma qualsiasi tipo di team può trarne vantaggio.
La maggior parte dei team usa il design incrementale e i processi iterativi in modo intercambiabile e, in pratica, spesso vanno di pari passo. Tuttavia, esiste una differenza tra i due termini.
Durante un processo iterativo, il tuo team lavora per rifinire e migliorare il progetto in base al feedback o alle nuove informazioni ricevute. La chiave del processo iterativo è apprendere per tentativi: il progetto migliora col tempo come risultato di queste modifiche.
Nel design incrementale (a volte chiamato sviluppo incrementale), nuove funzionalità vengono aggiunte e caratteristiche migliori vengono create avendo come base la prima versione o il deliverable. Per gestire un processo di design incrementale, i team creeranno intenzionalmente una versione base dell'ultimo deliverable del progetto per farlo uscire il prima possibile (come dice il vecchio mantra di Facebook: "Muoviti rapidamente e rompi le cose"). Quindi, il team itererà e migliorerà la versione iniziale creando incrementi e includendo più funzionalità rispetto alla versione iniziale. Continuerà a farlo fino a che il deliverable ha tutte le funzionalità che servono.
La maggior parte dei team che usano i processi iterativi usano anche il design incrementale e viceversa. I processi iterativi di buona qualità sono anche incrementali, così da poter migliorare continuamente il deliverable originale. I design incrementali di buona qualità sono anche iterativi perché bisogna essere in grado di reagire al feedback del cliente e cambiare rotta se necessario.
Prova Asana per gestire i tuoi progettiMolti team di progettazione usano il processo iterativo per sviluppare nuove funzionalità, implementare correzioni di bug ed eseguire test A/B di nuove strategie. Spesso un team di progettazione creerà alcune iterazioni che pensano essere ugualmente promettenti, per poi testarle sugli utenti. Prenderà quindi nota dei punti deboli e dei successi, per poi continuare a sviluppare la soluzione che ha avuto i test migliori.
Potrebbe sorprenderti scoprire che la maggior parte dello sviluppo del prodotto è un processo molto iterativo. Pensa a qualsiasi oggetto tecnologico personale che hai comprato per te: probabilmente ne esisteva una versione precedente a quella che hai acquistato e probabilmente una versione successiva. Pensa allo sviluppo dei cellulari negli anni, come le casse siano diventate sempre più piccole e portatili nel tempo o addirittura come i frigoriferi della stessa marca sono cambiati per adattarsi ai nuovi bisogni delle famiglie. Tutti questi sono processi iterativi.
Alcuni team di marketing adottano processi iterativi, altri invece no. Ma, in parte, molti aspetti del marketing sono iterativi. Ad esempio, alcuni team di marketing potrebbero testare diversi copy pubblicitari per vedere quali creano più coinvolgimento oppure inviare due versioni di una newsletter per fare un confronto delle percentuali di clic. In alternativa, i team di brand marketing potrebbero usare processi di design iterativo per identificare le immagini che funzionano meglio per il loro pubblico.
Anche se la maggior parte del lavoro coi clienti di un team commerciale non è iterativo, alcune delle attività potrebbero beneficiare dall'utilizzo di processi iterativi. Ad esempio, un team commerciale potrebbe adottare un approccio iterativo all'invio di email "a freddo". Potrebbero far inviare ai propri rappresentanti alcune email con un oggetto diverso e analizzare i risultati. Quindi il team potrebbe implementare per il futuro gli oggetti che hanno avuto più successo.
Il processo iterativo ti può aiutare durante il ciclo di vita di un progetto. Durante le fasi del processo iterativo, gli obiettivi e i requisiti ti serviranno come punto di partenza del progetto. Quindi, il tuo team effettuerà test, creerà prototipi e farà delle iterazioni per raggiungere il miglior risultato possibile. Ecco come.
Durante questa fase del processo iterativo, definirai il tuo piano di progetto e allineerai gli obiettivi di progetto generali. Questa è la fase in cui definirai tutti i requisiti obbligatori, ovvero tutto ciò che deve succedere per far sì che il tuo progetto venga portato a termine con successo. Senza questa fase, corri il rischio di eseguire l'iterazione senza però raggiungere i tuoi obiettivi.
Durante questa fase, tu e il tuo team vi concentrerete sulle esigenze aziendali e i requisiti tecnici del vostro progetto. Se nella prima fase avete definito i vostri obiettivi, nella seconda farete un brainstorming per trovare una progettazione che alla fine vi aiuterà a raggiungere i vostri obiettivi.
Durante la terza fase, il tuo team creerà la prima iterazione del deliverable del progetto. Questa verrà creata utilizzando le informazioni raccolte durante l'analisi e la progettazione e dovrebbe mettervi in condizione di farvi raggiungere l'obiettivo fondamentale del progetto. Il livello di dettaglio e il tempo investito in questa iterazione dipenderanno dal progetto.
L'iterazione ora a disposizione verrà testata in qualsiasi modo abbia senso. Se state lavorando al miglioramento di una pagina web, ad esempio, potreste eseguire un test A/B confrontandola con la pagina web attuale. Se state creando un nuovo prodotto o una nuova funzionalità, prendete in considerazione un test di usabilità da effettuare con alcuni clienti potenziali.
Oltre ai test, dovresti anche consultare gli stakeholder del progetto. Chiedi la loro opinione sull'iterazione e di fornire un feedback.
Leggi: Cos'è il ciclo di Deming (Pianificare - Fare - Verificare - Agire)?Dopo la fase di test, il tuo team valuterà il successo dell'iterazione e si allineerà sui cambiamenti da effettuare. Questa iterazione raggiunge gli obiettivi del progetto? Perché? Perché no? Se c'è qualcosa da cambiare, puoi ricominciare il processo iterativo ritornando alla seconda fase per creare la prossima iterazione. Ricorda che la pianificazione e gli obiettivi iniziali dovrebbero essere gli stessi per tutte le iterazioni. Continua lo sviluppo usando come base l'iterazione precedente finché non ottieni un deliverable che ti soddisfi.
Se ricominci il processo iterativo, assicurati che tutti siano allineati sugli obiettivi del progetto. Il processo iterativo può richiedere settimane o mesi, in base al numero di iterazioni che verranno effettuate. Basare l'iterazione sugli obiettivi del progetto ogni volta che ricominci il processo iterativo ti può aiutare a non perdere la rotta.
Il modello iterativo non funziona per tutti i team, né per tutti i progetti. Di seguito elenchiamo i pro e i contro del processo iterativo per il tuo team.
Pro
Aumento dell'efficienza. Poiché il processo iterativo si basa su tentativi ed errori, può aiutarti a raggiungere il risultato desiderato più rapidamente di un processo non iterativo.
Aumento della collaborazione. Invece che lavorare partendo da piani e specifiche predeterminate (la cui creazione richiede molto tempo), il tuo team collabora attivamente.
Aumento dell'adattabilità. Mano a mano che si imparano nuove cose durante le fasi di implementazione e di test, è possibile modificare l'iterazione per meglio raggiungere gli obiettivi, anche se ciò significa fare qualcosa che non era stato pianificato all'inizio del processo iterativo.
Più economicamente vantaggioso. Se devi modificare l'ambito del progetto, avrai solamente investito nel processo la minor quantità di tempo e impegno.
Possibilità di lavorare in parallelo. A differenza di altre metodologie non iterative, ad esempio il metodo a cascata, le iterazioni non dipendono necessariamente dal lavoro che le precede. I membri del team possono lavorare su numerosi elementi del progetto in parallelo, il che può ridurre le tempistiche generali.
Ridotto rischio a livello di progetto. Nel processo iterativo, i rischi vengono identificati e affrontati durante ogni iterazione. Invece che risolvere rischi di grandi dimensioni all'inizio e alla fine del progetto, lavori regolarmente per risolvere rischi di basso livello.
Feedback degli utenti più affidabile. Quando hai a disposizione un'iterazione con cui gli utenti possono interagire o che possono vedere, possono darti un feedback incrementale relativo a ciò che funziona e a ciò che non funziona.
Contro
Maggior rischio di slittamento del progetto. Poiché il processo iterativo si basa su tentativi ed errori, il tuo progetto potrebbe svilupparsi in maniera inaspettata e superare l'ambito del progetto originale.
Pianificazione e requisiti inflessibili. La prima fase del processo iterativo consiste nel definire i requisiti del progetto. Modificare questi requisiti durante il processo iterativo può interrompere il flusso del tuo lavoro e causare la creazione di iterazioni che non sono d'aiuto allo scopo del progetto.
Cronologie vaghe. Poiché i membri del team creeranno, testeranno e verificheranno le iterazioni finché non raggiungono una soluzione soddisfacente, la cronologia iterativa non è definita chiaramente. Inoltre, i test per diversi incrementi possono avere durate variabili, che hanno un impatto sulla tempistica generale del processo iterativo.
In fin dei conti, ogni team può imparare qualcosa dal processo iterativo. Quando possibile, affronta il lavoro con un approccio di apprendimento per tentativi. Quando sei in dubbio, fai affidamento sulla flessibilità e sulla collaborazione. Inoltre, che tu decida di applicare un metodo iterativo o meno, cerca sempre di migliorare continuamente il tuo lavoro.
Per ulteriori suggerimenti, leggi il nostro articolo sulle 25 competenze essenziali del project management.
Prova Asana gratuitamente