Decidere il livello di dettaglio necessario per un piano di rilascio
Pubblicato: 2022-08-23"Di quanti dettagli abbiamo bisogno per il nostro piano di rilascio?"
Questa è una domanda importante da porsi all'inizio di un progetto di sviluppo software o, nel caso di un team di prodotto di lunga data, prima dello sviluppo di una major release di un sistema.
La risposta a questa domanda determinerà la quantità di impegno iniziale che dedichiamo alla documentazione del nostro piano, nonché lo sforzo di cui avremo bisogno per mantenere il piano documentato nel tempo. Da un punto di vista agile, vogliamo sfruttare la pianificazione , che è pensare in anticipo alle criticità, ma non correre il rischio di pensare troppo o di prendere impegni troppo presto.
In breve, gli agilisti mirano a una pianificazione sufficiente.
Conosci il tuo contesto durante la pianificazione del rilascio
Un principio fondamentale per l'agilità aziendale è che il contesto conta: diversi team si trovano in situazioni diverse e devono adattare il loro approccio di conseguenza se vogliono essere efficaci.
Un'interessante implicazione di ciò è che non ci sono "migliori pratiche". Invece, tutte le pratiche sono di natura contestuale. Ogni pratica ha dei compromessi: funziona bene in alcune situazioni e si rivela una cattiva idea in altre.
Per scegliere un modo efficace di lavorare (WoW), è necessario comprendere i compromessi delle varie tecniche a tua disposizione, quindi selezionare la combinazione che funziona meglio per te data la situazione che affronti e le competenze e la cultura di le persone coinvolte. Riconoscendo questo, le seguenti opzioni di pianificazione del rilascio sono scelte piuttosto che prescrizioni.

Figura 1. L'obiettivo del processo Pianifica il rilascio.
Nella figura 1 viene visualizzato il diagramma dell'obiettivo del processo su come un team può pianificare la versione iniziale di una soluzione basata su software. Nota come un piano può riguardare pianificazione/tempo, costi, valore, considerazioni sul personale o loro combinazioni.
Correlati: come finanziare un progetto di sviluppo software
Uno dei punti decisionali che devi considerare è quanti dettagli acquisirai nel tuo piano, se del caso. Questo è il focus di questo articolo, come mostrato dal rettangolo rosso.
Puoi vedere sul diagramma degli obiettivi che ci sono otto punti decisionali che devi considerare quando pianifichi un rilascio e che ognuno di questi punti decisionali ha delle opzioni. Quando c'è una freccia accanto all'elenco delle opzioni, diciamo che le opzioni sono ordinate; quando non ci sono frecce, sono disordinate.
Nel caso delle opzioni ordinate, siamo stati in grado di classificare l'efficacia relativa delle opzioni, con le opzioni più efficaci in cima alla lista e le opzioni meno efficaci in fondo. È importante notare che le classifiche mostrate nella Figura 1 sono per i team software, anche se sospettiamo che le classifiche possano valere anche per i team non software.
Opzioni per il livello di dettaglio in un piano di rilascio
Credo che ci siano quattro opzioni per pianificare il rilascio di una soluzione; anche se riconosco che potrebbero essercene di più e che potresti essere in grado di combinare strategie. Come puoi vedere nella Figura 1, c'è una freccia accanto all'elenco delle opzioni che indica che è ordinato. Dal più efficace al meno efficace, le opzioni sono:
- Ondata continua : il piano viene aggiornato continuamente durante il rilascio, come un'ondata, con maggiori dettagli per il lavoro in arrivo e meno dettagli per il lavoro più avanti. Un piano a onda continua inizia come un piano di alto livello e i dettagli, a seconda dei casi, vengono aggiunti appena in tempo durante il rilascio.
- Di alto livello: il piano di rilascio indica le tappe principali , qualsiasi fase, qualsiasi iterazione/sprint (se il tuo team funziona in questo modo) ed eventuali dipendenze tra di loro. Non riguarda il lavoro dettagliato da eseguire. Invece, si fida che il team si organizzi da solo e faccia tutto ciò che è appropriato in quel momento.
- Dettagliato: il piano di rilascio contiene dettagli significativi sul lavoro da svolgere e può anche assegnare quel lavoro a ruoli o persone specifici. I dettagli sono identificati all'inizio del rilascio, durante un periodo che i team Agile e Scrum chiamano spesso "Sprint 0", Inception o Initiation. I dettagli vengono in genere aggiornati nel tempo man mano che il lavoro procede.
- Nessuno : il piano di rilascio non è affatto documentato. La pianificazione può ancora verificarsi, ma il piano stesso non viene acquisito.
Confronto delle opzioni di pianificazione dei rilasci
Come sottolineato in precedenza, non esiste una "migliore pratica", invece ogni pratica funziona bene in alcune situazioni e non così bene in altre. La Tabella 1 fornisce una panoramica dei compromessi associati alle strategie di dettaglio della pianificazione dei rilasci descritte sopra.

Correlati: modello di piano di progetto gratuito
Quando conosci i compromessi associati a un'opzione, puoi prendere una decisione migliore su quale approccio è più adatto alla situazione che devi affrontare. Scelte migliori portano a risultati migliori.
Tabella 1. Confronto di ciascuna strategia per il livello di dettaglio in un piano.
| Opzione di finanziamento | Vantaggi | Svantaggi |
| Onda rotolante | ·Molto efficace in ambienti fluidi, in particolare quando i requisiti si evolvono rapidamente o quando i membri del team non sono ancora completamente conosciuti. ·Funziona bene con il budget ad onda continua perché allinea le pratiche di finanziamento continuo con la pianificazione continua. ·Consente ai team di produrre scadenze e budget onesti per i propri stakeholder. | ·Richiede flessibilità da parte degli stakeholder, perché rimuove il (confortante) senso di falsa prevedibilità a favore di fornire loro la capacità di guidare e guidare il team verso il successo. |
| Alto livello | ·Funziona bene per team esperti che non necessitano di molti dettagli del piano. ·Utile per fornire agli stakeholder una previsione di alto livello per ciò che verrà consegnato nel tempo e per identificare le dipendenze con altri team. ·Fornisce un certo senso di “prevedibilità” senza sostenere i costi di una pianificazione dettagliata. | ·Può essere scomodo per le persone che cercano il falso senso di sicurezza che viene fornito con piani dettagliati. |
| Dettagliato | · Pratico solo per iniziative banali in cui il grado di incertezza relativo ai requisiti e alla tecnologia è basso e il programma è effettivamente prevedibile. ·Spesso giustificato dalla necessità di essere conformi alle normative, anche se le normative raramente richiedono una pianificazione anticipata dettagliata. | ·Fornisce un falso senso di prevedibilità alle parti interessate quando viene applicato in situazioni in cui i requisiti variano (che è la stragrande maggioranza delle situazioni). ·Richiede uno sforzo significativo, e solitamente non necessario, per mantenerlo più avanti nel ciclo di vita man mano che la situazione si evolve. ·Spinge il morale della squadra verso il basso. |
| Nessuno | ·Adatto per iniziative semplici ea basso rischio in un ambiente altamente collaborativo. ·Nessun sovraccarico di documentazione. | ·Non fornisce trasparenza alle parti interessate che non collaborano attivamente con il team. |
La scelta è buona quando si pianifica il rilascio
Se vuoi essere efficace, devi abbinare il tuo approccio alla situazione che affronti. Poiché team diversi affrontano situazioni diverse, un unico approccio non si adatta a tutti e, invece, è necessario disporre di scelte che tu capisca e che puoi applicare in modo appropriato.
Ancora più importante, devi essere preparato ad evolvere il tuo approccio man mano che la tua situazione si evolve. Come mostra questo articolo, hai una gamma di scelte per il livello di dettaglio per il tuo piano di rilascio. La nostra raccomandazione è di fare il meglio che puoi nella situazione che affronti e di cercare sempre di imparare e migliorare.
Sia che tu pianifichi in dettaglio o segua un framework agile e pianifichi più liberamente, lasciando spazio aperto per l'iterazione, devi comunque pianificare. ProjectManager è un software di gestione dei progetti basato su cloud che ti offre la flessibilità di pianificare come meglio credi. Con le schede kanban, i diagrammi di Gantt e un dashboard in tempo reale che fornisce dati aggiornati una volta avviato il piano, sei sempre consapevole dei cambiamenti e puoi reagire rapidamente. Verifica tu stesso con questa prova gratuita di 30 giorni.
