Lo sviluppo iterativo è un approccio allo sviluppo del software incentrato sull’idea di spostare lo sviluppo ciclicamente, piuttosto che cercare di fare tutto in una volta. Questo metodo non è adatto a tutti i tipi di software, ma può essere molto utile e molto utile in alcune impostazioni. È importante notare che un malinteso comune sullo sviluppo iterativo è che sia non pianificato o spontaneo. Questo non è, infatti, il caso. In realtà è molto strutturato.
Nello sviluppo iterativo, le persone iniziano con le fasi di pianificazione di un progetto, passando attraverso queste fasi fino allo sviluppo e al rilascio del prodotto. Quando il prodotto viene rilasciato, i risultati arrivano dai test del prodotto e dagli utenti e questi risultati vengono raggruppati nella versione successiva. “Rilascio” può essere un termine fuorviante; lo sviluppo iterativo può comportare il rilascio interno di un prodotto nelle fasi iniziali, non il rilascio del prodotto al pubblico.
Gli sviluppatori che utilizzano questa tecnica presumono, accettano e in effetti si aspettano che i prodotti che sviluppano non saranno completati con un round. Piuttosto che cercare di prevedere tutti i potenziali problemi e le esigenze degli utenti, passano attraverso una serie di iterazioni per perfezionare e migliorare gradualmente il prodotto in modo che possa essere utile. Uno dei principali vantaggi dello sviluppo iterativo è che consente alle persone di rispondere rapidamente ai problemi e alle mutevoli esigenze perché le ricostruzioni, i rollback e i perfezionamenti sono strutturati direttamente nel processo di sviluppo.
Questo approccio allo sviluppo di solito implica una stretta cooperazione tra i membri del team che possono provenire da diversi dipartimenti all’interno di un’azienda. Coinvolgendo tutti a livello di base, le aziende possono ridurre i costi di sviluppo, incoraggiare l’innovazione e sviluppare prodotti che integrino più prospettive fin dall’inizio. Lo sviluppo iterativo richiede anche una grande quantità di ricerca e analisi poiché le persone rispondono alle pressioni del mercato, alle esigenze dichiarate di consumatori e clienti e al feedback interno sul prodotto in fase di sviluppo.
Questo processo è dinamico e può essere molto rapido. Alcune aziende possono avere cicli brevi come una settimana. All’inizio di ogni ciclo, gli sviluppatori si incontrano per identificare i cambiamenti che desiderano implementare e si concentrano su questi cambiamenti; man mano che emergono altri problemi, possono essere aggiunti ai successivi cicli di sviluppo. Questo incoraggia la concentrazione e aiuta le aziende a soddisfare le aspettative più facilmente; man mano che i prodotti in sviluppo iterativo iniziano a essere distribuiti al pubblico, gli utenti che stanno testando i prodotti possono seguire le modifiche pianificate e possono segnalare problemi ed essere certi che ci sia un intervallo di tempo prestabilito in cui queste cose verranno affrontate.