Che cos'è lo Sviluppo Agile del Prodotto?

Scritto da: Colin McMahon
1/23/2023

Tempo di lettura: 6 min

Lo Sviluppo Agile de Prodotto (Agile Product Development in inglese), consiste nell'applicazione della metodologia software a un processo di produzione fisico. In un certo senso, significa creare un prodotto in modo agile o, più semplicemente, creare l'hardware come si crea il software.

Lo sviluppo Agile non è una novità. Come il SaaS, il cloud e numerose tecnologie che ruotano attorno al concetto di trasformazione digitale, lo sviluppo Agile è considerato da molti un aspetto onnipresente del futuro. Eppure, per molti produttori di hardware, si crea una divergenza. Certo, molto probabilmente sanno che la metodologia Agile esiste, ma solo come filosofia di sviluppo software. Lo sviluppo prodotto Agile nel contesto dei prodotti fisici è una realtà del tutto diversa, che molti mettono ancora in discussione.

In questo blog, esploreremo lo sviluppo prodotto Agile da tutte le sue diverse angolazioni, dalle origini nel software ai valori e ai principi che ne dimostrano l'efficacia nello sviluppo prodotto hardware.


Manifesto Agile: storia dello sviluppo Agile nel software  

Non conosciamo con esattezza le origini dei principi dello sviluppo Agile, ma sappiamo quando è stata coniata la terminologia. Il Manifesto Agile è stato creato nel 2001, quando 17 sviluppatori software si riunirono per discutere del potenziale e delle strategie che sottostavano alle filosofie dello sviluppo leggero. Come suggerisce la storia, ciò riguardava esclusivamente il settore del software. Il manifesto può essere suddiviso in 12 principi fondamentali e quattro valori centrali, ciascuno dei quali è finalizzato ad agevolare livelli superiori di collaborazione, maggiore trasparenza e tempi di consegna dei prodotti più rapidi.

Dopo il suo debutto, il Manifesto Agile è diventato presto la norma in ambito software, considerato da molti come un vantaggio universale. L'utilizzo dello sviluppo Agile, fedelmente alla sua filosofia di progettazione, aumentava la produttività, migliorava i tempi di consegna dei prodotti e potenziava la comunicazione fra i team, soprattutto quando il lavoro veniva distribuito.

Eppure, nonostante tutti questi vantaggi nella sfera software, molte persone nel settore hardware avevano dubbi sull'applicabilità del metodo Agile. Il lavoro svolto nello sviluppo Agile viene suddiviso in sprint, periodi predefiniti di lavoro che di solito durano un determinato numero di settimane e terminano con un prodotto finale. Possibile nel software, apparentemente impossibile nell'hardware, almeno quando gli sprint devono essere settimane e se il risultato desiderato al termine di ogni sprint è unicamente un prodotto utilizzabile.

Tuttavia, quando guardiamo i valori e i principi, vediamo che è possibile operare degli adattamenti per supportare la metodologia Agile nello sviluppo prodotto. Vediamo nel dettaglio questi valori e principi per capire meglio la mentalità Agile.

agile-manifesto

I 4 valori fondamentali del Manifesto Agile

  • Gli individui e le interazioni più che i processi e gli strumenti
  • Il prodotto funzionante più che la documentazione esaustiva
  • La collaborazione col cliente più che la negoziazione dei contratti
  • Rispondere al cambiamento più che seguire un piano

 


I 12 principi fondamentali dello sviluppo prodotto Agile

Come accennato, i 12 principi dello sviluppo Agile sono stati scritti pensando allo sviluppo software; anche se il loro spirito è perfettamente applicabile allo sviluppo hardware, potrebbero essere necessari degli adattamenti per la creazione di un prodotto fisico anziché di uno digitale. Vediamoli nel dettaglio.

1. Soddisfare il cliente fin da subito e spesso

"La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua."

La comunicazione è fondamentale nello sviluppo Agile. Il cliente deve essere coinvolto nello sviluppo prodotto fin da subito e spesso, in modo che possa fornire un feedback accurato rispetto a ciò che desidera e alle sue aspettative. Così facendo si riduce il rischio di disallineamento e, se necessario, il team può portare più velocemente all'attenzione del cliente le sfide o gli ostacoli.

2. Il cambiamento è positivo

"Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente."

Lo sviluppo Agile accoglie il cambiamento nei requisiti, in qualsiasi fase si verifichi. In un tradizionale processo Waterfall, i cambiamenti nelle ultime fasi creano scompiglio; secondo l'approccio Agile, il cambiamento, anche in una fase avanzata dello sviluppo, deve essere accolto positivamente in quanto rappresentazione della realtà. Le esigenze del mercato, della concorrenza e del cliente cambiano ed evolvono in continuazione. Durante lo sviluppo di un progetto, è essenziale incorporare nuove informazioni nella progettazione finale.

3. Consegnare un prodotto funzionante in modo rapido

"Consegniamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi, preferendo i periodi brevi."

L'approccio Agile pone l'accento sulla semplificazione dello sviluppo prodotto. Il manifesto definisce l'obiettivo di consegnare almeno una volta ogni due mesi. Per la progettazione hardware, soprattutto con prodotti grandi e complessi, potrebbe non essere possibile rispettare questo breve periodo, ma è essenziale che ci siano obiettivi chiaramente definiti e controlli intermedi specifici per la raccolta e il rispetto dei feedback durante il progetto.

4. Promuovere la collaborazione quotidiana

"Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto."

Nella metodologia Agile, nessuno dovrebbe lavorare in modo isolato. La frequente comunicazione fra le parti interessate e gli sviluppatori assicura che il progetto abbia le risorse necessarie e vada nella direzione stabilita. Riunioni quotidiane in piedi sono comuni e si svolgono agevolmente con strumenti di collaborazione come i canali Slack e altre soluzioni basate su cloud in tempo reale.

5. Creare un ambiente di lavoro positivo

"Fondiamo i progetti su individui motivati. Diamo loro l'ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacità di portare il lavoro a termine."

L'empowerment è un elemento chiave dell'approccio Agile: le persone e i team devono sentirsi coinvolti nel successo del progetto e supportati in modi che consentano loro di concentrarsi sul proprio lavoro. Parte di questo principio non è soffermarsi sulle sconfitte o sugli errori; i team devono avere piuttosto la possibilità di correre rischi calcolati, provare cose diverse ed esaminare poi cosa ha funzionato e cosa no. Imparare dagli altri in ogni progetto è un aspetto essenziale del miglioramento iterativo.

6. La comunicazione faccia a faccia è la più efficace

"Una conversazione faccia a faccia è il modo più efficiente e più efficace per comunicare con il team ed all'interno del team."

Secondo il Manifesto, le comunicazioni dirette sono insostituibili. Nel 2001, per una persona media le videochiamate erano più futuro che realtà. Oggi, sono la norma. Distribuite o di persona, le interazioni faccia a faccia dirette sono insostituibili quando si tratta di ridurre l'incertezza e rafforzare la collaborazione dei team.

7. Il progresso si misura attraverso un prodotto funzionante

"Il software funzionante è il principale metro di misura di progresso."

Questo è un altro principio che può essere adattato allo sviluppo di prodotti fisici, dove "prodotto funzionante" è un concetto relativo. Potrebbero volerci due anni per sviluppare un nuovo dispositivo medico che soddisfi tutti i requisiti. Tuttavia, con lo sviluppo Agile, si può scomporre un progetto di grandi dimensioni in più parti di gestione e obiettivi, con feedback pianificati lungo il percorso. Anziché parlare di qualcosa che funziona, si tratta di fissare delle scadenze per raggiungere l'obiettivo finale di un prodotto fisico funzionante.

8. Lo sviluppo Agile deve essere sostenibile

"I processi agili promuovono uno sviluppo sostenibile. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante."

Lo sviluppo Agile è iterativo, il che significa che il prodotto evolve a un ritmo costante e continuo. Crea un piano di avanzamento che tiene conto delle risorse disponibili e dei requisiti di progetto. Il tempo deve essere integrato nel progetto per completare adeguatamente l'attività e riflettere sul processo nel suo insieme.

9. L'eccellenza tecnica e una buona progettazione esaltano l'agilità

"La continua attenzione all'eccellenza tecnica e alla buona progettazione esaltano l'agilità."

Questo è un obiettivo sempre valido. Prestare attenzione ai dettagli lungo il percorso, per assicurare di seguire le best practice a ogni livello, rende più semplice cambiare rotta o adattarsi quando si incontrano ostacoli imprevisti.

10. Non c'è da vergognarsi nel perseguire soluzioni semplici

"La semplicità - l'arte di massimizzare la quantità di lavoro non svolto - è essenziale."

Questo principio si traduce molto bene nella progettazione del prodotto, dove le cose semplici sono quasi sempre le migliori.

11. I team auto-organizzati sono i migliori

"Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano."

Dare al team la possibilità di capire come realizzare il lavoro porterà ai risultati migliori.

12. È necessario integrare riflessioni regolari

"A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza."

I processi agili sono ciclici e una parte del processo deve essere dedicata alla riflessione e al conseguente adattamento. In questo modo si crea un'atmosfera di crescita e cambiamento positivo.

agile-methodology-750

Validità dello sviluppo Agile nell'hardware

Tenendo a mente i principi dello sviluppo Agile, vediamo come si applicano (e servono) all'odierno mercato ipercompetitivo dei prodotti fisici.

Innanzitutto, l'idea di più iterazioni sembra, a prima vista, negare l'applicabilità dell'approccio Agile nello sviluppo prodotto. Non è possibile produrre costantemente un prodotto utilizzabile solo per iterare subito sullo stesso nello sprint successivo, ripetutamente, fino a realizzare il prodotto finale. Questo ragionamento spiega in gran parte il motivo per cui molti produttori hanno considerato lo sviluppo Agile solo come strumento software.

La realtà, tuttavia, è più complessa e si riduce a una questione di adozione o adattamento. La semplice adozione dei principi del Manifesto Agile, in modo letterale, può creare requisiti irragionevoli per i produttori di hardware. L'adattamento dello sviluppo Agile in una mentalità hardware, al contrario, porta il meglio della metodologia Agile nell'ambiente di produzione. Approfondiamo questo concetto.

Ogni sviluppo prodotto ha un ciclo di vita, dalla concezione al rilascio del prodotto. Gli sprint sono semplicemente un modo diverso di suddividere le fasi del ciclo di vita. Il punto principale di uno sprint è avere un obiettivo diretto e raggiungibile. Nel software, questo si traduce solitamente nel rilascio di un prodotto. Per l'hardware, invece, l'obiettivo finale non deve essere così letterale. Il progresso misurabile è sufficiente e può aiutare a scomporre anche un complesso sviluppo hardware in segmenti chiari e coesi.

Anche i settori regolamentati come quello sanitario possono sfruttare la metodologia Agile. Se il ciclo di sviluppo di un prodotto medio dura due anni, i produttori dovrebbero pensare a cosa si può fare realisticamente in sei mesi. Un ciclo di due anni diventa quattro sprint, comprensivi di controlli e valutazione del prodotto. Utilizzando lo sviluppo Agile, i produttori si dotano di benchmark, controlli dei team e maggiore trasparenza nel processo di sviluppo hardware.

La realtà dello sviluppo prodotto Agile

L'idea di produzione hardware distribuita non è nuova. Infatti, per molte aziende la produzione distribuita è una realtà da decenni, se non di più. Lo sviluppo prodotto Agile significa semplicemente fornire ai produttori di hardware strumenti moderni per massimizzare la capacità per il lavoro distribuito. Ciò va oltre Zoom e altri software di videoconferenza e sfocia in una nuova mentalità che predilige la collaborazione tra team e migliora il dialogo e la cooperazione interni.

Oggi la comunicazione e la collaborazione sono più importanti che mai. Nel mercato c'è una crescente incertezza, dovuta in parte alle aspettative dei clienti. I clienti sanno cosa vogliono e lo vogliono velocemente, il che riduce il time-to-market atteso. Le organizzazioni devono anche essere pronte a combattere l'incertezza nelle supply chain, le mutevoli condizioni globali e una serie di altre complicazioni.

Lo sviluppo prodotto Agile applica il meglio del Manifesto Agile, tra cui una maggiore comunicazione interna tra i reparti e le parti interessate, frequenti controlli dello sviluppo prodotto, obiettivi chiaramente definiti e una struttura di team auto-organizzati ed estremamente motivati, e porta tutto questo nella sfera dell'hardware.

Le organizzazioni non devono adottare completamente l'approccio Agile per vederne i vantaggi. Ogni azienda è diversa e lo sviluppo Agile è concepito per essere flessibile. Come accennato prima, il percorso verso il successo spesso passa per l'adattamento più che per l'adozione. Lo sviluppo prodotto Agile aiuta le organizzazioni a innovare più velocemente fornendo prodotti eccellenti e affrontando l'incertezza in un mondo sempre più volatile.


 

 

Principali vantaggi e svantaggi dello sviluppo prodotto Agile

Qualsiasi approccio allo sviluppo prodotto presenterà vantaggi e svantaggi. Conoscerli in anticipo aiuta il team a sfruttare le parti migliori della metodologia Agile e a mitigare potenziali inconvenienti. Per un approfondimento, leggete I 3 vantaggi fondamentali dello sviluppo prodotto Agile

Vantaggi principali:

  • Elevato livello di collaborazione: team interfunzionali autonomi sono la colonna portante dello sviluppo prodotto Agile. Anziché avere un team di progettazione che lavora a un prototipo, lo finalizza e lo mostra al team di produzione, avete due punti di vista che collaborano tra loro e che possono individuare le sfide nelle prime fasi del processo.
  • Frequenti interazioni con clienti e parti interessate e feedback: uno degli elementi caratteristici dello sviluppo Agile è realizzare una dimostrazione in grado di mostrare i progressi a fronte di un obiettivo più ampio. Uno dei principali motivi alla base di questo è ottenere il feedback di clienti, utenti e parti interessate a intervalli prestabiliti. Ciò aiuta a dare la priorità alla successiva iterazione di un prodotto e mantiene il team concentrato sui clienti.
  • Scelta ideale per sprint mirati: la metodologia Agile suddivide i grandi progetti in sprint più piccoli, dove tutto lo sforzo viene dedicato al raggiungimento di un obiettivo concordato. Ha la capacità di far sembrare più gestibili i progetti più grandi e di migliorare i risultati poiché il feedback viene incorporato durante tutto il processo.

Svantaggi principali:

  • Curva di apprendimento nei primi progetti agili: per molti, soprattutto nello sviluppo prodotto, l'approccio Agile rappresenta un nuovo modo di lavorare. Potrebbe richiedere del tempo e alcuni adattamenti prima che tutti siano operativi.
  • Elevata dipendenza alla comunicazione: tutti i membri dei team devono comunicare e partecipare allo sforzo collaborativo. Le ripartizioni nella comunicazione possono raddoppiare il lavoro.
  • Importanti cambiamenti culturali necessari per l'adozione su larga scala: uno degli elementi caratteristici della metodologia Agile è la formazione di team interfunzionali. Per estendere l'approccio Agile all'intera azienda, devono esserci sostenitori in tutta l'organizzazione.

agile-strengths-weaknesses

Quattro suggerimenti chiave per un efficace processo di sviluppo prodotto Agile

 

1. Diffondere i valori e i principi dello sviluppo Agile

Probabilmente, la metodologia Agile rappresenterà un cambiamento nel modo in cui i team e le aziende approcciano lo sviluppo prodotto. Per preparare e coinvolgere i team, esplorate il significato di sviluppo prodotto Agile, in particolare i suoi valori e principi, e scoprite come mettere in pratica tali principi adattandoli ai vostri progetti.

2. Predisporre strumenti per un modo di lavorare Agile

La metodologia Agile richiede comunicazioni frequenti e in tempo reale fra i team interfunzionali. I team necessitano di strumenti per supportare questo modo di lavorare. L'e-mail non è sufficiente quando si lavora con file di progettazione grandi e complessi. Per lo sviluppo prodotto Agile, strumenti come soluzioni CAD e PLM native per il cloud sono nettamente migliori rispetto ai precedenti strumenti basati su file/installati. Integrate questi prodotti fondamentali con strumenti avanzati di comunicazione e collaborazione come Slack, Miro, Smartsheet, JIRA e altri. Disporre di sistemi condivisi accelera la collaborazione tra più parti interessate e team, compresi partecipanti esterni come progettisti freelance, fornitori e partner.

3. Lo sviluppo Agile non è tutto o niente

Quando i team passano a un approccio più Agile, non è una questione di tutto o niente. Potrebbero esserci delle parti della metodologia Agile che semplicemente non funzionano per la vostra azienda. Accogliete ciò che funziona, tralasciate il resto e concentratevi sul miglioramento continuo dei processi.

4. Dedicare tempo a controlli e riflessioni

La metodologia Agile realizza gli obiettivi negli sprint con controlli intermedi pianificati per le dimostrazioni e i progressi da condividere. Assicuratevi che i team abbiano inoltre tempo non solo di iterare sul prodotto ma anche di fornire un feedback sul processo. Fate in modo di incorporare il feedback sul prodotto e sul processo nello sprint successivo. In un'ottica di crescita, i team hanno la libertà di sbagliare e imparare dai loro passi falsi.

Qual è la differenza tra l'approccio Agile e l'approccio Waterfall?

Sia Agile sia Waterfall sono metodologie di gestione del progetto utilizzate per l'esecuzione e la gestione; tuttavia, si differenziano molto l'uno dall'altro.

L'approccio Agile dà priorità allo sviluppo iterativo, con team che operano nell'arco di settimane o mesi per sviluppare e ottimizzare rapidamente i prodotti seguendo un feedback dei clienti quasi costante. Nella metodologia Waterfall, invece, ogni processo segue un percorso lineare: i processi attraversano le fasi in un'unica direzione e i passi indietro sono quasi impossibili o, quanto meno, troppo costosi da praticare o sostenere. L'accento è posto sull'ottimizzazione in ogni fase prima di poter avanzare.

L'approccio Agile predilige i cicli rispetto alle fasi. Gli sviluppatori e le parti interessate collaborano a un progetto, fornendo feedback lungo il percorso. Gli obiettivi si raggiungono in "sprint", di solito dettati direttamente dalle indicazioni del cliente. Un cliente richiede un prodotto e gli sprint dei team, convogliando tutto lo sforzo nel soddisfare questo primo obiettivo delineato. Il cliente fornisce poi un feedback e il team apporta le modifiche, iterando su una progettazione precedente per creare rapidamente un nuovo prodotto. Gli sprint sono tendenzialmente brevi (giorni o settimane) e si concentrano sul raggiungimento di obiettivi rapidi e piccoli, anziché prediligere risultati enormi. Con la metodologia di progettazione Agile, il feedback e le conversazioni iniziano durante la fase di progettazione.

Domande frequenti

  • L'approccio Agile è solo per lo sviluppo software?

No, i principi e i valori fondamentali della metodologia Agile trovano applicazione ben oltre lo sviluppo software. Sebbene sia iniziato con il software, le aziende ottengono il valore di un approccio più flessibile, adattivo e collaborativo alla gestione dei progetti.

  • Quali sono le 5 fasi della metodologia Agile?

La metodologia Agile prevede 5 fasi, che offrono struttura al processo ma non sono passaggi da seguire di per sé. Sono concepiti per sovrapporsi ed essere rivisti all'emergere di nuove informazioni o esigenze.

1. Concezione

In questa fase si gettano le basi del lavoro per qualsiasi progetto Agile: si definiscono la visione e i risultati da raggiungere.

Le domande a cui rispondere in questa fase sono:

  • Quale sarà il risultato di questo progetto? Quali sono i requisiti e gli obiettivi?
  • Chi è coinvolto? Chi completerà le attività richieste? Chi fornirà feedback e indicazioni? Chi gestirà il progetto? Devono essere prese in considerazione tutte le parti coinvolte, sia interne sia esterne (ad esempio i clienti e così via).
  • In che modo collaborerà il team? Quali strumenti utilizzerà non solo per raggiungere l'obiettivo ma anche per migliorare la comunicazione?

Partire da una visione consente di mettere tutto sul tavolo (chi, cosa, come e quando) e le fasi successive iniziano ad affinarsi.

2. Osservazione

È una fase di brainstorming in cui tutti mettono le carte sul tavolo e tutti gli aspetti vengono presi in considerazione in un processo collaborativo. La valutazione determinerà gli obiettivi raggiungibili e quelli che non si possono conseguire, dati i parametri del progetto (ad esempio, risorse, tempo e così via).
Questa fase fornirà al team un quadro contenente i generali requisiti preliminari del prodotto, una chiara idea del carico di lavoro richiesto ai vari membri del team, un piano delle tempistiche di consegna (solitamente in fasi), i rischi e le dipendenze individuati e mitigati e una stima dei costi.

3. Esplorazione

Il progetto è in pieno svolgimento e il team esegue attività sul prodotto in base alla visione e alle tempistiche. Tuttavia, ci saranno degli imprevisti ed è qui che l'approccio Agile è davvero efficace. Attraverso controlli e comunicazioni frequenti, si gestisce il carico di lavoro, si mantengono le best practice e si affrontano eventuali sfide. I team devono collaborare secondo necessità e coinvolgersi a vicenda negli aspetti rilevanti. Occorre eseguire controlli pianificati regolarmente con tutte le parti interessate in vari punti dello sviluppo prodotto.

4. Adattamento

Quando emergono nuove informazioni durante il processo di sviluppo prodotto, è necessario apportare modifiche e correzioni. Questa è la fase di adattamento (e molto probabilmente richiede anche un riallineamento con le fasi di osservazione e di esplorazione). Cruciale in questa fase è cercare indicazioni dalle varie parti interessate, ciascuna con diversi punti di vista ed esperienze. In altri termini, quando il progetto genera risultati concreti, è necessario analizzare se raggiunge l'obiettivo. La fase di adattamento prende in considerazione questi diversi feedback, definisce i miglioramenti necessari e delinea il piano per l'iterazione successiva.

5. Chiusura

Anche se l'approccio Agile è ciclico e iterativo, ogni progetto deve giungere a un termine. Quando il prodotto va in produzione o una funzionalità chiave viene aggiornata, ovviamente si può celebrare il traguardo raggiunto ma occorre anche fare il punto nel processo, analizzarlo, raccogliere i feedback e incorporare gli insegnamenti nel progetto successivo.

  • Perché l'approccio Agile è efficace per lo sviluppo prodotto?

La metodologia Agile è efficace perché tiene conto del fatto che lo sviluppo prodotto non è un processo lineare; crea un quadro che consente ai team di rispondere in modo efficace al cambiamento, ai rischi e all'incertezza. Pone l'accento sulla collaborazione, sull'inclusività e sulla flessibilità. Pone inoltre i clienti al centro del processo e del prodotto, il che in ultima analisi consente una migliore progettazione.

 

La transizione verso la metodologia Agile

Lo sviluppo prodotto Agile sta prendendo sempre più piede nell'ambito dei prodotti fisici. Scoprite perché e come realizzarlo in modo efficace. Leggete il white paper
Tags: Agile Trasformazione digitale SaaS

Informazioni sull'autore

Colin McMahon

Colin McMahon is a senior market research analyst working with PTC’s Corporate Marketing team, helping to provide actionable insights, challenging perspectives, and thought leadership on trends, technologies, and markets. Colin has been working professionally as a research analyst for many years, and he enjoys examining and evaluating just how large the overall impact of digital transformation technologies will be. He has a passion for augmented reality and virtual reality initiatives and believes that understanding the connected ecosystem of people and technology is key to a company fully realizing its potential in the 21st century.