Neural Project InstituteCertificazione di project management per l'era dell'IA

Guida al project management per settore · IT, software e digitale

Project management del software: ciclo di vita, ruoli, metodi, KPI

Il project management del software è la pianificazione, il coordinamento e la consegna di prodotti e funzionalità software, dalla discovery e dai requisiti, passando per progettazione, sviluppo, test e rilascio, fino al miglioramento continuo. Poiché il software è facile da modificare ma difficile da stimare, la maggior parte dei team software gestisce il lavoro in brevi iterazioni e misura l'avanzamento in base al software funzionante anziché ai documenti.

Punti chiave

  • Il project management del software lavora per brevi iterazioni perché i requisiti evolvono e le stime sono incerte.
  • Scegliete Scrum, Kanban, DevOps o un approccio plan-driven in base al lavoro, non per abitudine.
  • Monitorate la delivery con le metriche DORA e di flusso, e il successo con le metriche di risultato.
  • Usate gli issue tracker degli sviluppatori per il lavoro a livello di codice e una piattaforma come Wrike per la pianificazione interfunzionale.

Che cosa rende diverso il project management del software

  • I requisiti evolvono. Spesso gli utenti sanno che cosa vogliono solo quando vedono qualcosa di funzionante.
  • La stima è incerta. Gran parte del lavoro consiste nel risolvere problemi nuovi, quindi i team fanno previsioni con intervalli e throughput storico anziché con date fisse.
  • La delivery può essere continua. Con test e deployment automatizzati, i team possono rilasciare molte volte a settimana.
  • Debito tecnico. Le scorciatoie prese per rispettare una data rallentano il lavoro futuro se non vengono ripagate; vedi debito tecnico in Scrum.
  • La qualità è integrata. Code review, test automatizzati e monitoraggio sostituiscono le grandi fasi di test a fine progetto.
  • Prodotto e progetto si sovrappongono. Molti team software sono team di prodotto stabili nel tempo, quindi il "progetto" è spesso un rilascio, un insieme di funzionalità o un nuovo prodotto.

Per una panoramica di come i team applicano i valori Agile nel codice, vedi Sviluppo software Agile.

Il ciclo di vita dello sviluppo software (SDLC)

FaseCosa succedeOutput principali
DiscoveryComprendere utenti, problemi e obiettivi; testare le idee con ricerche e prototipiDefinizione del problema, visione del prodotto, primi prototipi
PianificazioneDefinire l'ambito, prioritizzare il backlog, pianificare rilasci e capacitàProduct backlog, piano di rilascio, roadmap
DesignUX design, architettura e approccio tecnicoProgetti, decisioni architetturali, criteri di accettazione
SviluppoScrivere codice in piccoli incrementi con revisione e test automatizzatiIncrementi funzionanti e testati
Test e assicurazione qualitàTest automatizzati, esplorativi, di prestazione e di sicurezzaRisultati dei test, difetti risolti
Rilascio e deploymentDistribuire in produzione, spesso tramite una continuous delivery pipelineFunzionalità rilasciata, note di rilascio
Gestione e miglioramentoMonitorare, supportare gli utenti, misurare i risultati e riportare quanto appreso nel backlogMetriche, incidenti, nuovi elementi di backlog

Nei team Agile queste fasi si svolgono in modo continuo all'interno di ogni iterazione anziché una sola volta in sequenza; vedi il ciclo di vita dello sviluppo Agile.

Ruoli chiave

RuoloResponsabilità principali
Product owner / product managerÈ responsabile della visione del prodotto e ordina il backlog in base al valore; vedi product owner Scrum
Engineering managerGuida gli ingegneri, le assunzioni, la crescita e le pratiche di delivery
Tech lead / architettoÈ responsabile della direzione tecnica e della qualità
DeveloperProgettare, sviluppare e testare il software
QA / test engineerStrategia di test, automazione e test esplorativi
UX / product designerRicerca sugli utenti e progettazione dell'interfaccia
Scrum master o delivery leadFacilita il processo e rimuove gli impedimenti; vedi Ruolo dello Scrum master
Technical project manager o program managerCoordina dipendenze tra team, tempistiche e rischi; vedi technical project manager
DevOps / SREPipeline di build, infrastruttura e affidabilità

Metodologie per i progetti software

ApproccioQuando è adattaNote
ScrumTeam di prodotto che sviluppano nuove funzionalità con feedback regolari dagli stakeholderSprint a durata fissa con planning, review e retrospettiva
KanbanTeam di manutenzione, piattaforma e supporto; flusso continuoLimiti WIP e metriche di flusso al posto degli sprint
Extreme Programming (XP)Team che vogliono una forte disciplina ingegneristicaPair programming, test-driven development, integrazione continua
DevOpsTeam che sviluppano e gestiscono i propri serviziAutomatizza la delivery e condivide la responsabilità delle operations
Waterfall o modello a VContratti ad ambito fisso e software regolamentato o safety-criticalFasi formali, documentazione e verifica
Framework scalatiMolti team su un unico prodottoVedi SAFe e LeSS

Confrontate le opzioni in Agile vs Waterfall e Kanban vs Scrum.

Documenti e modelli essenziali

DocumentoScopoModello
Product backlogElenco ordinato di tutto ciò di cui il prodotto potrebbe aver bisognoModello di product backlog
User storyRequisiti scritti dal punto di vista dell'utenteModello di user story
Piano dello sprintSprint goal e lavoro selezionatoModello di sprint planning
Piano di rilascio e roadmapChe cosa viene rilasciato e quando, ad alto livelloModello di piano di rilascio, modello di product roadmap
Documento dei requisitiPer il lavoro ad ambito fisso o su commessaModello di documento dei requisiti di business
Note della retrospettivaMiglioramenti concordati dal teamModello di sprint retrospective
registro RAIDRischi e dipendenze tra teamModello di registro RAID

Tenete accanto a questi documenti gli architecture decision record e una definition of done; vedi Definition of Done.

KPI per il project management del software

KPICosa misuraUso tipico
Frequenza di deploymentCon quale frequenza il codice arriva in produzioneCapacità di delivery (metrica DORA)
Lead time delle modificheTempo dal commit alla produzioneVelocità del flusso (metrica DORA)
Tasso di fallimento delle modificheQuota di deployment che causano un malfunzionamentoQualità dei rilasci (metrica DORA)
Tempo di ripristino del servizioQuanto rapidamente vengono risolti i malfunzionamentiResilienza (metrica DORA)
Cycle timeTempo dall'avvio del lavoro al completamentoPrevisioni e individuazione dei colli di bottiglia
Throughput o velocityLavoro completato per settimana o per sprintPrevisione dei rilasci
Difetti sfuggitiBug individuati dopo il rilascioEfficacia dei test
Metriche di risultatoAdozione, conversione, retention o successo nelle attivitàSe il software genera valore

Vedi Metriche e KPI Agile per saperne di più.

Sfide comuni

  • Date fisse con ambito fisso. Fissate la data e rendete flessibile l'ambito, e fate previsioni con intervalli basati sul throughput passato.
  • Debito tecnico crescente. Riservate capacità in ogni sprint per il refactoring e il lavoro sulla piattaforma.
  • Dipendenze tra team. Mappatele in modo visibile, allineatevi su milestone condivise e usate uno scrum of scrums o un meccanismo di sincronizzazione simile.
  • Troppo lavoro in corso. Applicate limiti WIP e completate prima di iniziare.
  • Misurare l'output, non i risultati. Collegate i rilasci agli obiettivi degli utenti e del business, non solo agli story point.

Software per il project management del software

I team di sviluppo hanno bisogno di un issue tracker collegato ai repository di codice e alle pipeline CI/CD, oltre a board, backlog e report sugli sprint. Product manager e delivery manager hanno bisogno anche di roadmap, viste delle dipendenze tra team e report leggibili da chi non è un ingegnere.

Jira è ampiamente usato dai team di ingegneria per il tracciamento delle issue. Wrike è l'opzione all-in-one più completa nelle nostre classifiche degli strumenti quando il lavoro software deve essere pianificato insieme a marketing, supporto, design e altri reparti, con board Agile e viste Gantt in un unico luogo. Vedi anche Strumenti software per Scrum.

Modelli gratuiti per questo argomento

Sfoglia tutti i modelli

Domande frequenti

Che cos'è il project management del software?

Il project management del software è la pianificazione, il coordinamento e la consegna di prodotti e funzionalità software, dalla discovery, passando per sviluppo, test e rilascio, fino al miglioramento continuo.

Quali sono le fasi del project management del software?

Le fasi dell'SDLC sono discovery, pianificazione, progettazione, sviluppo, test, rilascio e gestione e miglioramento, di solito ripetute in brevi iterazioni.

Qual è la metodologia migliore per il project management del software?

Scrum è adatto ai feature team, Kanban al flusso continuo e al supporto, le pratiche DevOps ai team che gestiscono i propri servizi e Waterfall o il modello a V al lavoro ad ambito fisso o regolamentato.

Che cosa sono le metriche DORA nel project management del software?

Quattro misure di delivery del programma DevOps Research and Assessment: frequenza di deployment, lead time delle modifiche, tasso di fallimento delle modifiche e tempo di ripristino del servizio.

Chi si occupa del project management del software in un team Agile?

Le responsabilità sono condivise: il product owner gestisce le priorità, il team pianifica il proprio lavoro, lo Scrum master facilita e un technical project manager può coordinare tra più team.

Come si fanno le stime nel project management del software?

Usate stime relative come gli story point oppure fate previsioni basate su throughput e cycle time storici, ed esprimete le date come intervalli.

Quali documenti si usano nel project management del software?

Un product backlog, user story, piani degli sprint, piani di rilascio, roadmap, una definition of done e, per il lavoro su commessa, un documento dei requisiti.

Quali software si usano per il project management del software?

Issue tracker come Jira collegati ai repository di codice, più una piattaforma come Wrike quando il lavoro software deve essere pianificato con altri reparti.

Come si gestisce il debito tecnico nel project management del software?

Rendetelo visibile nel backlog, riservate capacità a ogni iterazione per ridurlo e includetelo nelle discussioni di pianificazione con il product owner.

Qual è la differenza tra project management del software e product management?

Il product management decide che cosa costruire e perché; il project management del software si concentra su come e quando viene consegnato.

Quali competenze richiede il project management del software?

Comprensione del processo di sviluppo, pratiche Agile, gestione di rischi e dipendenze, comunicazione con stakeholder tecnici e di business e previsioni basate sui dati.