Lo sviluppo del software e la gestione del progetto vanno insieme come il segno di minore e il segno di maggiore in una pagina HTML. In genere preferisci non vederne uno senza l'altro.

In questa guida, ti guideremo attraverso tutto ciò che rende speciale la gestione dei progetti software, incluso come funziona, come può essere utilizzato e come gestione di progetti di sviluppo software differisce da altre implementazioni dei processi di gestione del progetto.

Cos'è la gestione del progetto di sviluppo software?

La gestione del progetto software è l'uso di pratiche e sistemi di gestione del progetto per aiutare a raggiungere obiettivi relativi al software.

Viene utilizzato dai team di sviluppo software per fornire progetti di tutte le forme e dimensioni e, tra cui:

  • Sviluppo di un nuovo prodotto

  • Patch e aggiornamenti

  • Gestione della configurazione

  • Sviluppo di sistemi informativi

  • Sviluppo basato su test (TDD)

In poche parole, è probabile che qualsiasi progetto di sviluppo software sia abbastanza complicato da giustificare l'uso della gestione del progetto.

Quasi tutta la gestione dei progetti di sviluppo software è facilitata utilizzando un file piattaforma di project management. Questo è uno spazio di lavoro digitale condiviso in cui viene gestito il progetto.

Il processo di gestione del progetto di sviluppo software

La maggior parte dei progetti di sviluppo software procede attraverso le seguenti fasi:

  • Iniziazione

  • Pianificazione

  • Esecuzione

  • Completamento / valutazione

Fase # 1: iniziazione

Durante l'avvio, definiamo i requisiti di progetto più elementari. Potrebbe trattarsi di qualsiasi cosa, dalla creazione di un nuovo software alla riparazione di un software esistente con UX difettoso. Lo stakeholder incaricato e i leader del team di progetto dovrebbero documentare i requisiti su cui concordano come a carta del progetto. Una volta che la carta è stata approvata e firmata da tutte le chiavi stakeholder del progetto, il progetto inizia.

Fase 2: pianificazione

Segue la fase di pianificazione, in cui il team lavora insieme per formulare il schema del progetto. Uno dei principali risultati della pianificazione del progetto sono i risultati del progetto. Questi sono gli elementi che il progetto fornirà, che potrebbero spaziare dai nuovi prodotti software alle patch. È comune che i progetti software abbiano più risultati finali.

Un altro elemento importante della pianificazione è la definizione dei criteri che verranno utilizzati per misurare il successo del progetto. I criteri di successo ampiamente utilizzati per i progetti software includono obiettivi di qualità e se il progetto è stato consegnato nei tempi e nel budget. Fondamentalmente, cosa renderà il progetto un successo?

Una volta allineati i risultati finali e i criteri di successo, puoi passare alla pianificazione delle attività che compongono il lavoro del progetto. Gli elementi di questo processo di pianificazione includono:

  • Identificazione, creazione e assegnazione di compiti.

  • Specificare pietre miliari del progetto, che rappresentano punti di riferimento chiave nel viaggio verso il completamento del progetto.

  • Identificazione dipendenze tra le attività, dove il completamento di un'attività dipende dal completamento di un'altra attività.

  • Raggruppamento di attività collegate in elenchi di attività.

Fase 3: esecuzione

La fase di esecuzione di un file progetto software abbraccia il lavoro attivo del processo di sviluppo del software. Questo, come tutti gli sviluppatori sanno, rappresenta un'ulteriore serie di processi tra cui attività di progettazione, sviluppo, test e controllo qualità (QA). Questo lavoro dovrebbe essere completato attraverso la tua scelta flusso di lavoro di sviluppo.

Il ruolo della gestione del progetto durante la fase di esecuzione è in gran parte incentrato sul monitoraggio del progetto. Ciò include il monitoraggio dell'avanzamento del progetto rispetto al tempo disponibile e l'identificazione dei blocchi che potrebbero impedire il progresso del team.

Fase # 4: valutazione

Nella fase finale del ciclo del progetto, i team software dovrebbero incontrarsi (faccia a faccia o digitalmente) e valutare congiuntamente il progetto.

Chiedetevi: cosa ha funzionato veramente bene, cosa ci ha deluso o ci ha trattenuto, e ci sono stati insegnamenti che possono essere inseriti direttamente nella pianificazione del prossimo progetto? Le risposte a queste domande potrebbero essere fondamentali per il miglioramento del tuo team a lungo termine.

In qualche metodologie di project management, questo processo di valutazione è facilitato attraverso incontri chiamati retrospettive.

Sviluppo software <3 gestione agile del progetto

I progetti di sviluppo software sono spesso gestiti secondo gestione agile del progetto i principi. Ciò ha molto senso, dato che l'agile è stato inventato dagli sviluppatori di software.

Agile è un insieme di principi che costituiscono la base delle principali metodologie di gestione dei progetti come scrum e kanban. È alla base del pensiero alla base della maggior parte dei processi di project management contemporanei.

Secondo Agile Alliance, l'approccio agile può essere suddiviso nei seguenti principi:

  1. Soddisfare il cliente attraverso la consegna tempestiva e continua di software prezioso

  2. Accogli il cambiamento e sfruttalo per il potenziale vantaggio del cliente

  3. Fornisci software funzionante frequentemente, in tempi brevi

  4. Le persone dal lato business e sviluppo del team dovrebbero lavorare insieme a stretto contatto, giorno per giorno

  5. I membri del team dovrebbero essere pienamente supportati e affidabili per svolgere il loro lavoro

  6. Le conversazioni uno a uno sono il modo migliore per trasmettere le informazioni

  7. Il software funzionante è il miglior indicatore di progresso

  8. La velocità di lavoro, i progressi e l'utilizzo del software dovrebbero essere sostenibili

  9. Ci dovrebbe essere un'attenzione costante all'eccellenza tecnica e al design efficace

  10. Semplicità

  11. Le squadre dovrebbero essere abilitate ad auto-organizzarsi

  12. Al team dovrebbero essere date regolari opportunità di riflettere su se stessi e auto-organizzarsi

Prestare attenzione a questi principi di solito si rivela una mossa saggia per i team di sviluppo software, quindi ti consigliamo di incorporarli tutti e 12 nel processo di gestione del progetto.

La gestione agile dei progetti è stata gradualmente messa insieme dagli ingegneri del software, negli ultimi decenni del XX secolo. Oggi, tutti i tipi di team lo usano per fornire i loro progetti, inclusi dipartimenti governativi, agenzie creative, sviluppatori web e, naturalmente, ingegneri del software. Non abbiamo dubbi che gli ingegneri del software continueranno a lungo a utilizzare i principi di gestione dei progetti creati dalla loro professione per costruire cose utili per il futuro.

undefined

Software project manager: ruolo e responsabilità 

La maggior parte dei team di sviluppo software trarrà vantaggio dalla collaborazione con un software specializzato responsabile del progetto. Questa persona guida il team attraverso il processo di gestione del progetto. È probabile che siano ben qualificati per gestire progetti software, con una combinazione di conoscenza dello sviluppo software ed esperienza di gestione dei progetti.

Le responsabilità comunemente elencate nelle descrizioni del ruolo di responsabile del progetto software includono:

  • Guida e assistenza a progetti software

  • Fornire rapporti sullo stato delle parti interessate

  • Leader nel controllo delle modifiche (questo processo garantisce che le modifiche a un deliverable rientrino nei parametri accettati)

  • Comunicazione del progetto

  • Gestire più progetti contemporaneamente

  • Creazione e manutenzione della documentazione del progetto

  • Misurare le prestazioni del progetto utilizzando strumenti e metriche appropriate

Un'altra cosa che il project manager del software deve fare bene è comunicare. In particolare, dovranno fungere da intermediario tra il cliente o il committente e il team di sviluppo. Questo aiuta gli sviluppatori del team a concentrarsi sul fare ciò che sanno fare meglio e offre anche agli stakeholder incaricati della messa in servizio un punto di contatto coerente.

Il project manager deve anche fare tutto il possibile per garantire che il processo di gestione del progetto continui a funzionare. Dovranno garantire che il team svolga il proprio lavoro secondo la metodologia di gestione del progetto prescelta, ottimizzando al contempo il processo di gestione del progetto per farlo funzionare per il team.

Puoi gestire un progetto software senza un project manager?

O per scelta o per necessità di budget, alcuni team di sviluppo software utilizzano un approccio di project management senza il coinvolgimento di un project manager. Se suona come il tuo team, stai certo che i compiti di gestione del progetto possono essere generalmente eseguiti perfettamente dai membri regolari del team di sviluppo software.

Se hai intenzione di prendere la gestione del progetto "in team", assicurati di avere queste tre cose in atto:

  • Forti capacità di gestione del progetto nel team. Ciò si ottiene meglio attraverso la formazione e la pratica. Un buon modo per portare tutti i membri del team al passo con i tempi è far sì che la responsabilità della gestione del progetto ruoti all'interno del team da un progetto all'altro.

  • Chiara assegnazione dei compiti di gestione del progetto ai membri del team, in modo che tutti sappiano chi sta facendo cosa in ogni progetto.

  • Una piattaforma intuitiva per la gestione dei progetti, con un attento supporto al cliente.

Tattiche di gestione del progetto consigliate per i team di sviluppo software

Sebbene un approccio di gestione del progetto generico di solito funzioni per la gestione dei progetti di sviluppo software, consigliamo di incorporare i seguenti metodi specializzati nel processo:

Tecniche di stima del progetto

L'ambito di un progetto software può essere difficile da definire. Come possiamo stimare quanto lavoro ci vorrà affinché un team crei qualcosa che è nuovo per loro e forse anche nuovo per tutti?

La stima del progetto software è difficile anche per ingegneri software esperti ed è un problema particolarmente impegnativo per le parti interessate non tecniche, che potrebbero non avere l'intuizione dello sviluppatore per la complessità delle attività di sviluppo del software.

Possiamo superare la sfida di stimare l'ambito del progetto di sviluppo software utilizzando sistematicamente tecniche di stima del progetto. Ti consigliamo di esplorare le seguenti opzioni:

  • Stima analoga

    , dove gli elementi dell'ambito del progetto sono stimati sulla base del confronto con elementi simili di progetti precedenti.

  • Stima parametrica, dove misure come il costo medio di scrittura di un certo numero di righe di codice vengono utilizzate per stimare il costo del progetto.

  • Tecnica di revisione della valutazione del programma (PERT)

Gestione dell'ambito del progetto

I progetti software possono essere vulnerabili a eccessivi scope creep, noto anche come feature creep. Non abbiamo dubbi che il solo pensiero di questo sia sufficiente per dare ad alcuni di voi i beffardi.

Lo Scope Creep è il punto in cui i requisiti di un progetto aumentano notevolmente durante la durata del progetto. C'è da aspettarsi un certo grado di creep, ma troppo può impedire che i progetti vengano consegnati in tempo e nel budget.

La prima e migliore precauzione che puoi prendere contro lo scope creep è adottare un approccio critico e completo alla pianificazione del progetto. È di gran lunga preferibile identificare un potenziale problema durante la fase di pianificazione, piuttosto che durante l'esecuzione del progetto, poiché ciò ti consentirà di pianificare attentamente una soluzione alternativa, piuttosto che aggiungere le funzionalità del progetto al volo. Durante l'esecuzione del progetto, è possibile scongiurare un eccesso di portata attraverso un'attenta gestione delle modifiche al progetto.

Gestione del rischio di progetto

'Rischio di progetto’ è un termine specifico per la gestione del progetto che potrebbe non significare esattamente ciò che ti aspetti. Un rischio di progetto è qualsiasi evento al di fuori di un progetto che potrebbe influenzare il risultato del progetto in meglio o in peggio. Potrebbe trattarsi di qualsiasi cosa, dal lancio inaspettato di un prodotto software concorrente, al cambiamento nel comportamento degli utenti derivante da una pandemia globale, a uno stormo di uccelli che volano attraverso la finestra del tuo ufficio e beccano tutti i tuoi computer in milioni di pezzi con i loro piccoli becchi affilati .

Inutile dire che alcuni rischi sono più degni di essere monitorati di altri. Il modo più conveniente per monitorare un rischio di progetto è aggiungere rischi alla piattaforma di gestione del progetto. Questo ti ricorderà di continuare a controllare il fattore di rischio, in modo da poter continuare ad adattare il tuo piano per soddisfare i fattori situazionali emergenti.

Strumenti di gestione dei progetti per i team di sviluppo software

I team di sviluppo software tendono a utilizzare un file strumento di gestione del progetto per aiutare a realizzare il loro progetto. Questo strumento fornisce un'area di lavoro del progetto digitale in cui i membri del team possono collaborare e tenere traccia di tutte le parti in movimento del progetto. Tutti i processi di gestione del progetto dovrebbero essere facilitati da questo strumento.

Alcuni team di sviluppo software possono scegliere di integrare i loro strumenti di terze parti preferiti con il loro strumento di gestione dei progetti. Ad esempio, l'integrazione di Teamwork con Dropbox consente ai team di allegare file alle attività in Teamwork direttamente dai propri account Dropbox. Se prevedi di integrare uno strumento di terze parti con il tuo strumento di gestione dei progetti, assicurati di controllare se l'integrazione è facilitata, poiché la creazione della tua integrazione su misura potrebbe rivelarsi difficile o addirittura impossibile.

Con il giusto strumento di gestione dei progetti dalla tua parte, il tuo processo di gestione dei progetti sarà attrezzato per funzionare senza problemi e fornire un ottimo software.