Agile

Tecniche di prioritizzazione agile: Padroneggiare Scrum & Metodi RICE

Uno dei principi dell'agilità è la semplicità, che include anche "l'arte di massimizzare la quantità di lavoro non terminato". Un modo efficace con cui i team agili raggiungono questo obiettivo è attraverso la definizione delle priorità.

In modelli ingegneristici quali Agile, Scrum, Lean Development, Extreme Programming e altri simili, la definizione delle priorità è una componente fondamentale. Vediamo cos'è, come funziona e come puoi ottimizzare il tuo lavoro con una buona definizione delle priorità di project management Agile.

Comprendere la definizione delle priorità Agile

Le tecniche di prioritizzazione agile aiutano i team a determinare su quali attività, funzionalità/funzioni o user story concentrarsi per prime, garantendo che il lavoro di maggior valore venga consegnato rapidamente. Tra i metodi più diffusi figurano MoSCoW, il modello Kano, la ponderazione relativa, il punteggio RICE e la matrice valore/sforzo. Questi strumenti guidano i team nel prendere decisioni più intelligenti e rapide in base all'impatto, allo sforzo richiesto e alle esigenze degli utenti.

Perché è importante la prioritizzazione agile?

La definizione delle priorità costituisce la base del lavoro dei team Agile durante ogni iterazione. Ciò contribuisce a:

  • Scegliere le funzionalità/funzioni che offrono il massimo valore al cliente
  • Creazione di incrementi personalizzati che rispondono alle esigenze dei clienti
  • Ottimizzazione dell'allocazione delle risorse verso ciò che conta davvero
  • Mitigazione dei rischi del progetto con la consegna tempestiva e costante di funzionalità/funzioni di alto valore
  • Adattarsi ai cambiamenti del mercato

In che modo la definizione agile delle priorità differisce dai modelli tradizionali di piano dello sviluppo?

Sebbene i risultati siano gli stessi, la metodologia agile è fondamentalmente diversa nel suo approccio. Ecco come.

Priorità tradizionalePriorità agile
Tutte le funzionalità/funzioni sono indispensabili, solo con sequenze diverseSolo una piccola serie di funzionalità/funzioni sono indispensabili, mentre le altre vengono continuamente aggiornate.
Basato sull'apporto di "modifiche" indesiderate a piani prestabilitiCostruito per adattarsi alle mutevoli esigenze del mercato
Basato su criteri prestabiliti per adattarsi ai pianiBasato su processi dinamici e iterativi
Concentrati sulla prevedibilitàConcentrati sull'adattabilità
Considera il feedback come un ostacolo al percorsoAccogli il feedback come un'opportunità per correggere la rotta

Ulteriori informazioni sulle differenze nella guida per principianti alle metodologie Agile di ClickUp.

Quattro livelli di priorità

Nella maggior parte dei modelli, i team assegnano una priorità alle proprie attività suddividendole in quattro livelli.

  • Critico/urgente: attività che richiedono attenzione immediata a causa della loro importanza e urgenza.
  • Alta: attività importanti ma meno urgenti rispetto alle attività critiche
  • Medio: attività importanti ma che possono essere rinviate se necessario.
  • Basso: attività meno urgenti o critiche rispetto ad altre

Prima di approfondire come applicare una tecnica di prioritizzazione agile nel tuo team, vediamo cosa comporta.

Componenti della prioritizzazione agile

La prioritizzazione agile prende in considerazione vari componenti per determinare su cosa lavora il team.

Esigenze dei clienti: le esigenze e le richieste dei clienti emerse dalla ricerca sull'esperienza utente, dal feedback degli utenti o dall'osservazione dei ticket/segnalazioni di bug.

Tendenze di mercato: evoluzione del mercato, tendenze, best practice e vulnerabilità di sicurezza

Valore aziendale: ricavi, redditività, soddisfazione dei clienti e altro valore aziendale derivante da ciascuna funzionalità/funzione.

Usabilità: eventuali preoccupazioni o lacune nella capacità del cliente di utilizzare il prodotto in modo completo ed efficace.

Compromessi: a cosa dovrebbe rinunciare il team come risultato della scelta di una particolare funzionalità/funzione?

Statistiche: i team Agile utilizzano un numero di tecniche statistiche come l'analisi di Pareto, l'analisi costi-benefici e l'analisi dei rischi per aiutarli a stabilire le priorità. Nel processo utilizzano anche vari modelli collaudati nel tempo.

Modelli di prioritizzazione nello sviluppo agile

Nonostante i parametri decisionali siano chiari, stabilire le priorità può essere difficile. Ad esempio, una ricerca sull'esperienza utente potrebbe suggerire che i clienti richiedono due cose in egual misura: un'app mobile e la personalizzazione. Di fronte a situazioni del genere, come stabilisci le priorità?

Utilizzando i vari modelli di prioritizzazione agile disponibili. Ne discutiamo alcuni di seguito.

1. Modello di prioritizzazione dei requisiti

Il modello di prioritizzazione dei requisiti aiuta a valutare e classificare le funzionalità/funzioni in base alla loro importanza, al loro valore e al loro impatto sugli obiettivi del progetto.

In questo modello, i team in genere classificano la funzionalità in esame su una scala da bassa, media, alta e urgente in base al suo potenziale di influire sugli obiettivi del progetto.

2. Modello Kano

Il modello Kano assegna la priorità alle funzionalità/funzioni che avranno il massimo impatto sui punteggi di soddisfazione dei clienti.

Come la maggior parte degli altri modelli, Kano si concentra esclusivamente sul cliente. Aiuta i team a identificare le funzionalità/funzioni che garantiscono un elevato livello di soddisfazione, che possono poi essere classificate in ordine di priorità effettuando un'analisi costi-benefici.

3. Prioritizzazione MoSCoW

La prioritizzazione MoSCoW classifica i requisiti in quattro livelli di priorità: Must-Have, Should-Have, Could-Have e Won't-Have.

Con questo framework, i team possono separare chiaramente ciò che è importante nell'immediato da ciò che può essere sviluppato nel lungo termine. Aiuta anche nella pianificazione agile delle capacità.

Modello di project management agile dei progetti di ClickUp
Modello di project management agile dei progetti di ClickUp

4. Poker con priorità

Conosciuto anche come planning poker, il priority poker è una strategia ludica in cui ogni membro del team utilizza delle schede per stimare il tempo/il lavoro richiesto/i punti storia necessari per ogni attività nel product backlog.

Incorporando le stime e i contributi di tutti, il priority poker è un modo trasparente per prendere decisioni di gruppo.

5. Test da 100 dollari

Il test dei 100 dollari è simile al priority poker, con alcune differenze. A ogni membro del team viene assegnato un budget ipotetico di 100 dollari, che può spendere per le funzionalità/funzioni in base al valore percepito. Si tratta di un metodo di definizione delle priorità ponderato, ideale per i contesti di gruppo.

L'obiettivo principale del test da 100 dollari è il valore per il cliente, che aiuta i team a concentrarsi sull'allocazione delle risorse limitate su ciò che produce il massimo ritorno sull'investimento.

6. Classificazione a stack

Lo stack ranking ordina ogni attività in base alla priorità, assegnando i ranghi più alti agli elementi essenziali e quelli più bassi agli elementi meno importanti. Per ogni sprint, il team seleziona gli elementi con ranghi elevati per lo sviluppo.

Ogni volta che un nuovo elemento viene aggiunto al backlog, il product owner lo confronta con le attività esistenti e gli assegna un rango, inserendolo nell'elenco delle priorità.

7. Costo del ritardo

Il modello di prioritizzazione basato sul costo del ritardo si concentra sulle conseguenze piuttosto che sui vantaggi.

Nel modello del costo del ritardo, i team quantificano l'impatto del rinvio di attività o funzionalità. Quindi assegnano priorità alle attività in base al costo potenziale del ritardo nella consegna. Considerare le conseguenze finanziarie del ritardo aiuta a prendere decisioni informate in materia di definizione delle priorità e allocazione delle risorse.

8. Matrice delle priorità

La matrice di priorità agile è uno strumento visivo che consente ai team Scrum di assegnare priorità alle attività in base all'importanza e all'urgenza. Comunica le priorità agli stakeholder e garantisce l'allineamento organizzativo fornendo ai team un quadro chiaro delle priorità, aiutandoli a concentrarsi prima sul completamento delle attività di alto valore.

Ora che hai acquisito familiarità con alcuni modelli di prioritizzazione agile, esploriamo alcune altre tecniche che puoi applicare alle tue riunioni di pianificazione dello sprint.

Vista Carico di lavoro di ClickUp
Assegna le risorse e pianifica gli sprint in modo efficace con la vista Carico di lavoro di ClickUp.

Tecniche di prioritizzazione Agile

Alcune delle tecniche di pianificazione dei progetti più diffuse sono state adattate al metodo di lavoro agile per ottenere risultati straordinari. Di seguito sono riportate alcune delle più comuni.

La matrice di Eisenhower: 4 quadranti Gestione agile del tempo

La matrice di Eisenhower divide le attività in quattro quadranti: urgenti e importanti, né urgenti né importanti, non urgenti ma importanti e urgenti ma non importanti.

Questo semplice modello aiuta i team a chiarire le risposte a due domande: è importante che sia terminato? Deve essere terminato adesso?

RICE: tecniche di prioritizzazione agile bilanciate

RICE (Reach, Impact, Confidence, and Effort) classifica le funzionalità/funzioni in base al loro potenziale impatto e al lavoro richiesto.

  • Portata: quante persone prevedi di raggiungere nel periodo di tempo stabilito?
  • Impatto: quante conversioni/vendite/azioni ti aspetti?
  • Fiducia: quanto sei sicuro delle tue stime sui due fattori sopra indicati?
  • Lavoro richiesto: quanto lavoro richiesto occorre per completare questa funzionalità/funzione?

Weighted Shortest Job First [WSJF]

La filosofia Agile ritiene che le attività con il valore più alto e la durata più breve debbano essere completate per prime. Il metodo Weighted Shortest Job First si basa su questa teoria.

WSJF (stima) = Costo relativo del ritardo / durata relativa del lavoro

Matrice valore vs complessità/lavoro richiesto

Il modello valore/complessità mette semplicemente a confronto il potenziale valore aziendale (ricavi, profitti, acquisizione di clienti, ecc.) di una nuova funzionalità/funzione con il lavoro richiesto e la complessità per svilupparla.

Questo modello presenta anche opzioni su quattro quadranti, dando la priorità a quelle con un valore elevato e un lavoro richiesto minimo iniziale.

Prioritizzazione agile in Scrum

Solo perché abbiamo parlato di questo come di una definizione delle priorità "agile" non significa che non sia applicabile ai team di sviluppo software che seguono altri metodi.

Prioritizzazione in Scrum

I team Agile Scrum utilizzano regolarmente modelli e tecniche di prioritizzazione come parte del loro lavoro. I team estraggono funzionalità/bug dal backlog del prodotto per lavorarci durante ogni sprint. Le decisioni su quali elementi estrarre dal backlog vengono prese utilizzando un metodo di prioritizzazione agile.

Modello di matrice di prioritizzazione ClickUp
Utilizza il modello di matrice di prioritizzazione ClickUp per valutare le attività in base al loro impatto e al lavoro richiesto.

In questo caso, il titolare valuta gli elementi disponibili con un po' di backlog grooming. Utilizza uno dei modelli/tecniche di prioritizzazione che descriviamo di seguito per classificare le attività.

Ad esempio, se utilizzano il modello Kano, esamineranno le storie degli utenti per individuare le funzionalità/funzioni più richieste. Se utilizzano il modello WSJF, prenderanno in considerazione le ore-uomo disponibili, in modo da ottimizzare la gestione del tempo.

Prioritizzazione nello sviluppo snello

Lo sviluppo software snello privilegia il valore rispetto al volume, la flessibilità e il miglioramento continuo. La definizione delle priorità gioca un ruolo chiave nel rispetto di questi principi.

Aiuta i team a individuare le attività più importanti invece di limitarsi ad aumentare la velocità. Una regolare ridefinizione delle priorità contribuisce a rendere il processo più flessibile. I team Lean utilizzano anche riunioni di revisione per perfezionare il processo di definizione delle priorità, integrando il miglioramento continuo in tutto.

Se ti sembra troppa teoria, vediamo come funzionano nella pratica.

Prioritizzazione agile: istanze reali

La definizione delle priorità è una parte fondamentale dello sviluppo agile di software. Aiuta a separare il grano dal loglio. È utile e preziosa in un ampio intervallo di istanze. Ne discutiamo alcune di seguito.

Ottenere un prodotto minimo funzionante (MVP)

Un prodotto minimo funzionante è un prodotto con funzionalità/funzioni sufficienti ad attrarre i primi utenti, che possono utilizzarlo, convalidare l'idea e fornire un feedback significativo.

Ma come si fa a sapere quali funzionalità rendono un prodotto minimamente funzionante? È qui che possono aiutare le tecniche di prioritizzazione.

  • La matrice di prioritizzazione delle funzionalità aiuta a identificare quali funzionalità/funzioni devono essere sviluppate ora e quali in un secondo momento.
  • WSFJ aiuta a identificare le funzionalità/funzioni che offriranno i massimi vantaggi nel minor tempo possibile.
  • La matrice valore/complessità aiuta a identificare le funzionalità/funzioni che garantiranno il massimo impatto nella durata più breve possibile.

Creare un design incentrato sull'utente nella prioritizzazione Agile

Ogni team agile intende creare un design incentrato sull'utente. Si parte con l'intenzione di soddisfare le esigenze del cliente. Tuttavia, con il passare del tempo, quando entrano in gioco tutte le complessità della gestione del prodotto, i budget, le risorse e le esigenze della concorrenza prendono il sopravvento. Di conseguenza, i team possono distrarsi.

La prioritizzazione agile offre un quadro di riferimento che consente ai team di rimanere sulla strada scelta. Strumenti come i profili, le user story e le sessioni di feedback aiutano a riportare l'attenzione sul cliente. I team possono giocare a Priority Poker o assegnare punti alle user story che ritengono più importanti sulla base del loro test da 100 dollari.

Utilizzo del modello Kano per la soddisfazione del cliente

La soddisfazione del cliente è sempre considerata un evento postumo. Le organizzazioni conducono sondaggi per comprendere i livelli di soddisfazione dopo la consegna del prodotto/servizio. Ciò ritarda la tua capacità di sviluppare prodotti agili che soddisfino in modo proattivo le esigenze degli utenti.

La prioritizzazione agile inverte questa tendenza. Spinge i team a concentrarsi sulle attività che ritengono possano essere necessarie e desiderate dal cliente. Il modello di prioritizzazione Kano è particolarmente efficace per creare un design incentrato sull'utente, concentrandosi sulle funzionalità/funzioni che hanno un maggiore impatto sulla soddisfazione del cliente.

Determinare il ROI nello sviluppo agile dei prodotti attraverso la definizione delle priorità

Finora abbiamo parlato di come creare valore aziendale con la prioritizzazione agile. Uno dei modi in cui i team misurano il valore aziendale è attraverso il ROI. Alla fine di ogni sprint o trimestre, i team possono chiedersi:

  • Quali nuove funzionalità/funzioni hanno contribuito all'acquisizione di nuovi clienti?
  • Quali sono le funzionalità/funzioni più utilizzate che contribuiscono alla soddisfazione dei clienti?
  • Quali funzionalità distintive portano alla fidelizzazione dei clienti?

In questo modo, potrai quantificare il ROI, imparare dalle decisioni passate e continuare a stabilire le priorità in modo efficace.

Priorità agile per le funzionalità di sicurezza

Uno degli aspetti critici della definizione delle priorità delle funzionalità da sviluppare è comprendere il loro impatto sulla sicurezza informatica. I professionisti certificati in sicurezza dei sistemi informativi (CISSP) identificano e danno priorità alle funzionalità/funzioni relative alla sicurezza che richiedono maggiore attenzione.

Si concentrano sulle funzionalità di sicurezza e sugli aspetti di sicurezza di ogni funzionalità/funzione relative a codice, rete e integrazioni, per costruire una solida linea di difesa per il cliente.

Durante questi processi, i team Agile ottengono un numero di vantaggi e affrontano sfide legate alla definizione delle priorità. Vediamo quali.

Vantaggi della prioritizzazione agile

Chiarezza per una maggiore soddisfazione del cliente: la definizione agile delle priorità riunisce l'intero team per prendere decisioni su ciò che è importante per il cliente. Questo crea chiarezza di pensiero, che porta a coerenza nell'azione, con il risultato di un'esperienza cliente fluida.

Collaborazione: la definizione delle priorità non è un'attività che spetta a una sola persona. I team Agile si riuniscono con gli stakeholder aziendali per prendere decisioni collettive. Questo rafforza la collaborazione e crea una titolarità della comunità.

Concentrati sul ritorno sull'investimento: i team Agile utilizzano la prioritizzazione per calibrare la loro attenzione verso il ritorno sull'investimento, che si tratti di validazione da parte dei clienti, ricavi o redditività. Ad esempio, un team che sta sviluppando un MVP potrebbe concentrarsi sulle funzionalità/funzioni minime indispensabili.

Cambiamenti adattabili e dinamici: quando i team stabiliscono le priorità delle funzionalità/funzioni da sviluppare per ogni sprint, sono in grado di rispondere alle richieste del mercato, alle esigenze dei clienti, agli incidenti di sicurezza o ai momenti di svolta.

Retrospettive: prendere decisioni informate utilizzando tecniche di prioritizzazione aiuta a monitorare le prestazioni. Nelle retrospettive, i team possono discutere le intenzioni e i risultati per adeguare la linea d'azione futura. Nel tempo, possono creare modelli agili per garantire ripetibilità e coerenza.

ClickUp Sprints
Crea sprint della durata compresa tra una settimana e un mese con l'approccio Agile in ClickUp

Le sfide della prioritizzazione agile e come superarle

Troppi cuochi: spesso, quando si coinvolgono tutti gli stakeholder, si rischia di ottenere troppe opinioni, aspettative irrealistiche e dibattiti irrisolti.

Un product owner o uno Scrum master deve stabilire standard chiari, facilitare conversazioni produttive e discussioni a tempo determinato per arrivare a una decisione.

Confusione nel contesto: è normale che i membri del team interpretino la stessa funzionalità/funzione in modo diverso, classificandola/assegnandole priorità a modo loro.

I titolari di prodotto devono investire tempo ed energie nella creazione di un contesto chiaro. Scrivere user story dettagliate, delineare i criteri di accettazione e chiarire il significato di "must have" e "should have" sono ottimi modi per raggiungere questo obiettivo.

Equilibrio: in tutte le operazioni di definizione delle priorità, trovare un equilibrio tra i guadagni a breve termine e gli obiettivi a lungo termine può rappresentare una sfida.

Gli strumenti di project management come ClickUp Obiettivi aiutano a tracciare una linea chiara tra l'uno e l'altro, con un monitoraggio continuo dello stato dei progetti.

Obiettivi ClickUp
Fissa gli obiettivi e effettua il monitoraggio dei progressi su ClickUp Goals

Allocazione delle risorse: essere flessibili a volte può sembrare come lavorare verso un obiettivo in continuo movimento. Ciò influisce sull'allocazione delle risorse e sul morale del team.

I gestori dei team devono comunicare in modo proattivo per aiutare i team a comprendere i vantaggi dell'adattabilità. Ogni volta che prendi una decisione importante, coinvolgi il team nel processo decisionale in modo che possa comprenderne l'importanza.

Detto questo, ecco come puoi implementare metodi di prioritizzazione agile efficaci nella tua organizzazione.

Implementazione della prioritizzazione agile

La prioritizzazione agile è fondamentalmente la capacità di prendere decisioni chiare ed efficaci su cosa non fare. Ciò può creare timori e rimpianti che possono essere alleviati solo con un processo solido.

Ecco una panoramica del processo che puoi seguire.

Stabilisci i tuoi obiettivi

Gli obiettivi, come suggerisce il nome, sono ciò che intendi raggiungere con il tuo prodotto. Comprendere questo aspetto aiuta a pianificare il piano giusto con la definizione delle priorità. In questa fase, definisci anche i tuoi limiti/vincoli, come budget, risorse, tempistiche, ecc.

ClickUp Docs è un ottimo modo per documentare tutto questo in modo qualitativo, sulla base del quale puoi impostare dei traguardi su ClickUp Obiettivi.

Formattazione avanzata e comandi slash in clickup-docs
Documenta ogni obiettivo con facilità utilizzando ClickUp Docs.

Identifica gli stakeholder

Una buona definizione delle priorità del progetto richiede i giusti decisori. Identifica e coinvolgi gli stakeholder nel processo. In genere, gli stakeholder includono:

  • Team aziendale, sponsor del progetto o rappresentante del cliente
  • Product owner
  • Mascherina Scrum
  • Teams di ingegneri
  • Ma soprattutto, gli utenti

Imposta i backlog

Per stabilire le priorità, hai bisogno di una serie di opzioni. I backlog di prodotto e sprint nella metodologia agile/Scrum sono progettati proprio per consentire questo.

Creare un elenco delle funzionalità da prendere in considerazione sullo strumento di project management agile di ClickUp aiuta a visualizzare tutte le attività in un unico posto. Usa la lavagna online ClickUp per collaborare. Trascina e rilascia le funzionalità nelle varie fasi utilizzando la vista Kanban.

ClickUp-Lavagna online
Collabora senza sforzo con le lavagne online ClickUp

Scegli il tuo modello di definizione delle priorità

Come hai visto sopra, esistono decine di modi per stabilire le priorità degli elementi per il tuo sprint. Scegli quello più adatto a te. Coinvolgi gli stakeholder e assicurati che tutti comprendano il processo. Conduci un paio di sessioni di simulazione della definizione delle priorità per appianare eventuali difficoltà iniziali.

Rivedi e modifica

Monitora attentamente i risultati della tua definizione delle priorità. Raccogli i feedback degli stakeholder e ottimizza continuamente.

Non sai da dove iniziare? Avvia il modello di gestione agile Scrum di ClickUp e personalizzalo in base alle tue esigenze.

Assegna le priorità e crea prodotti di successo con ClickUp

Se osservi qualsiasi framework di prioritizzazione, noterai che si concentra più su cosa non costruire che su cosa costruire. Dalla matrice di Eisenhower al modello MoSCoW, solo uno dei tanti livelli riguarda l'azione immediata.

Tuttavia, i team di sviluppo hanno spesso difficoltà con la prioritizzazione agile. Lo strumento di project management ClickUp vuole proprio evitare questo problema. Le funzionalità complete di ClickUp per i team di sviluppo software ti consentono di creare il prodotto giusto nel modo giusto al momento giusto.

Elenchi di funzionalità/funzioni, tipi di attività, dipendenze, lavagna Kanban, liste di controllo ecc. sono tutti progettati per fornirti le informazioni necessarie per prendere decisioni.

Dai priorità a ciò che conta. Prova ClickUp gratis oggi stesso.

Domande frequenti sulla definizione delle priorità Agile

1. Qual è il modello di definizione delle priorità in Scrum?

La prioritizzazione in Scrum consiste nello scegliere o "estrarre" gli elementi giusti dal product backlog su cui lavorare durante uno sprint. I modelli più utilizzati sono la prioritizzazione basata sul rischio, sul valore, sulle opportunità e sulla dipendenza.

2. Qual è il metodo di definizione delle priorità in Agile?

La prioritizzazione agile utilizza vari metodi come Kano, MosCoW, priority poker, costo del ritardo, RICE, ecc.

3. Che cos'è la matrice delle priorità in Agile?

La matrice delle priorità in Agile classifica le attività in un quadrante in base all'importanza e al lavoro richiesto.

4. Che cos'è il modello di prioritizzazione dei requisiti?

Il modello di prioritizzazione dei requisiti aiuta a valutare e classificare le funzionalità/funzioni in base alla loro importanza, al loro valore e al loro impatto sugli obiettivi del progetto.

5. Qual è la priorità più alta nella metodologia Agile?

La priorità più alta nella metodologia agile è "critica". Se utilizzi un modello di prioritizzazione diverso, come MoSCoW, la tua priorità più alta sarebbe "must have".

6. Che cos'è la definizione delle priorità dei requisiti di sistema?

La prioritizzazione dei requisiti di sistema consiste nell'identificare le funzionalità/funzioni più importanti che il tuo sistema deve fornire. Questo aiuta a evitare lo scope creep, la prioritizzazione di elementi di scarso valore, lo spreco di risorse, ecc.

7. Cosa viene considerato prioritario in Agile?

I team Agile stabiliscono le priorità di ciò che deve essere realizzato nel prossimo sprint/iterazione. Potrebbe trattarsi di nuove funzionalità/funzioni, miglioramenti o correzioni di bug.

8. Quali sono i 4 livelli di prioritizzazione delle attività?

Critico/urgente, alto, medio e basso