L’abbiamo già visto: il Project Management garantisce l’ottimizzazione organizzativa dei progetti in un percorso condiviso e altamente efficiente. Crea un flusso di lavoro per step, distribuisce le mansioni secondo le capacità e il tempo a disposizione di ognuno, cerca soluzioni di miglioramento continuo e gestisce il flusso comunicativo interno ed esterno. Ma in cosa si distingue un Project Manager ICT da uno tradizionale?
Il Project Manager ICT: chi è e cosa fa
Il Project Manager ICT è una figura professionale altamente specializzata in ambito ICT che coordina e gestisce i progetti di sviluppo software all’interno di un’azienda. Deve avere competenze di business, di software management e di sviluppo software oltre a ottime doti comunicative e di leadership.
Deve essere in grado di:
- Coordinare il team di progetto;
- Saper analizzare il rapporto costi/benefici e il ROI;
- Pianificare budget, obiettivi e scadenze;
- Monitorare l’avanzamento del progetto e redigere report periodici;
- Rapportarsi con il cliente dall’avvio fino alla chiusura del progetto.
Il tutto massimizzando risultati economici e operativi.
In una Software House, un buon Project Manager deve avere caratteristiche diverse rispetto ad altri settori di applicazione. Il ciclo di sviluppo e di vita di un software è completamente diverso da quello di altri progetti, di conseguenza è necessario destreggiarsi tra:
- Politiche di governance dei progetti ICT;
- Metriche per la gestione e il controllo dei progetti;
- Formazione dei manager e dei diversi team di progetto;
- Procedure e standard dei processi di sviluppo del software;
- Ambienti di sviluppo, tecniche e tool disponibili.
Il ruolo del Project Manager in una Software House
Un generico processo di management si compone di attività messe in atto da un responsabile (manager o capo che sia) con lo scopo di pianificare e controllare l’operatività di altre persone e raggiungere gli obiettivi che i singoli non potrebbero raggiungere senza la cooperazione con altri membri del team.
Quando si parla di un progetto, il responsabile deve svolgere alcune attività che vanno poi a delineare il processo di Project Management (direzione e/o gestione di progetto). La struttura tipo di un generico processo direzionale si delinea in 6 fasi principali.
- Struttura di un generico processo direzionale:
- Avvio e definizione degli scopi;
- Definizione del problema;
- Definizione dei requisiti delle parti interessate;
- Definizione dell’ambito (scopi dell’iniziativa progettuale).
- Analisi di fattibilità e stima del prodotto software da consegnare e del processo da eseguire:
- Pianificazione del progetto in funzione degli obiettivi fissati in termini di tempi, costi, qualità, risorse umane, comunicazione, rischio ed approvvigionamenti.
- Esecuzione:
- Predisposizione del contesto di esecuzione con acquisizione delle risorse, attivazione degli impianti, costruzione della squadra ed avviamento del lavoro;
- Esecuzione delle attività pianificate;
- Comunicazione delle informazioni di progetto;
- Consegna dei prodotti intermedi e finali previsti.
- Controllo:
- Esecuzione dei controlli pianificati per monitorare il grado degli obiettivi prefissati con eventuali azioni correttive (feedback) verso il processo di esecuzione e di pianificazione.
- Chiusura:
- Rilascio del progetto al committente;
- Produzione dei consuntivi e valutazione dei risultati raggiunti rispetto ai preventivi;
- Rilevazione della soddisfazione delle parti interessate.
Tale struttura generica deve essere applicata alle particolarità di un progetto ICT sulla base del suo specifico ciclo di vita, che non si esaurisce nella sola creazione del software. In particolare le fasi sono:
- Definizione delle macro specifiche;
- Definizione dei requisiti (specifiche di dettaglio);
- System Design e strategia di integrazione;
- Sviluppo;
- Procedure di Test e Accettazione dei deliverable;
- Passaggio in produzione;
- Manutenzione.
Il Project Manager ICT è pertanto a capo di una serie di attività molto diversificate a partire dalla produzione degli ambienti di sviluppo fino alle analisi funzionali dei sistemi, dalla codifica ai test, dalle versioni e release alle documentazioni, dalle modifiche e configurazioni al controllo qualità e manutenzione.
Questa figura deve tradurre l’idea o la richiesta del cliente in step operativi precisi, nel rispetto dei tempi, dei vincoli di bilancio e della qualità esecutiva.
Quali sono i benefici tangibili che un Project Manager può apportare nella tua Software House?
Partiamo da una domanda fondamentale: cosa rappresenta per una Software House la figura del Project Manager?
- Diverse conoscenze analitiche, tecniche, sociologiche, psicologiche e di marketing;
- Necessità di governare i rilasci di più versioni e release secondo un programma temporale definito;
- Necessità conseguente di adottare un sistema evoluto per allineare differenti linee di prodotto;
- Necessità di unire in modo produttivo una gestione precisa con un modello di gestione flessibile e non eccessivamente rigido o vincolante.
Per comprendere l’impatto di questa figura in azienda, basta considerare che il Pulse of the Profession – una ricerca globale sull’impatto del Project Management pubblicata dal Project Management Institute – ha stimato che, per ogni miliardo investito, le organizzazioni perdano 122 milioni di dollari a causa di inefficienze sui progetti.
Quali sono, dunque, i veri valori aggiunti del Project Management nell’ambito delle Software House?
- Migliora l’efficienza dei progetti – La pianificazione di ogni step del progetto permette di incanalare le risorse verso il raggiungimento in tempi rapidi e qualitativamente significativi di ogni obiettivo di team;
- Aumenta qualità e quantità – La qualità deve essere lo standard di ogni progetto di sviluppo software. Ottimizzare le risorse e il tempo permette di raggiungere questo standard e di gestire più progetti attivi e ordini senza rinunciare ad offrire un servizio di ottimo livello;
- Migliora la soddisfazione del cliente – Uno dei problemi più diffusi nell’ambito ICT è quella di far incontrare le aspettative del cliente con il risultato raggiunto. Tempi di consegna, coerenza tra le fasi di sviluppo, aggiornamenti costanti, gestione di bug e assistenza devono essere gestiti con precisione e coordinazione per la piena soddisfazione del cliente;
- Migliora la crescita del team e della competitività della Software House – Una pianificazione efficiente è, prima di tutto, un diverso approccio al lavoro che trasforma la flessibilità necessaria in risorsa strategica per incrementare la produttività del team e la propria competitività sul mercato;
- Riduce i rischi – In fase di pianificazione, il Project Manager ICT mappa i rischi che si possono presentare durante tutte le fasi di sviluppo del software. Avere ben chiari punti di forza, di debolezza e i possibili rischi permette di pianificare anche eventuali azioni correttive.
Le Software House si trovano in un mercato altamente competitivo che è in costante e rapido mutamento. Il Project Manager ICT rappresenta una delle figure – all’interno di un team – che aiuta a determinare e a far distinguere un bel progetto da un ottimo progetto magistralmente realizzato. Quindi, la figura del Project Manager nella tua Software House dovrebbe diventare una risorsa fondamentale e irrinunciabile che permetta di mantenere standard qualitativi elevati e di ottenere risultati sempre migliori.
Salve qual’è il giusto percorso per diventare un project manager in una software house?
Ciao Alfio. Premesso che nello specifico molto dipende dal background educativo e professionale della persona che desidera fare questo percorso di carriera, in generale ci sono sicuramente alcuni passi che è possibile seguire per raggiungere l’obiettivo di diventare project manager in una software house.
-Acquisire competenze tecniche (comprensione dei principali linguaggi di programmazione, metodologie di sviluppo, architettura del software).
-Fare esperienza pratica in una software house, anche come sviluppatore, per capire come funziona lo sviluppo di software e le problematiche del processo.
-Seguire progetti per capire l’intero svolgimento: pianificazione, esecuzione e monitoraggio.
-Seguire corsi di formazione specifici e continuare sempre a sviluppare le proprie competenze, perché il mondo del software è in costante evoluzione. In questo sicuramente Instant Developer aiuta, perché è sempre al passo con l’evoluzione delle tecnologie.
Spero che questi consigli ti siano utili!