Cosa fa un project manager in una software house

Il lavoro di un project manager

Intervista a Vito Scarangella, PM in BitBoss

Quella del project manager è una figura essenziale per ogni azienda che si occupa di sviluppo software, ma è anche una figura che secondo molti avrà un grande successo nei prossimi anni.

Cosa fa un project manager?

Detto in parole povere, il project manager (in particolare all’interno di una software house) è il responsabile di progetto e il suo compito è quello di interpretare i desideri e gli obiettivi del cliente per trasformarli in attività azionabili e atte a creare un prodotto finale che soddisfi le sue aspettative. Con la teoria ci siamo, ma se scendiamo nel pratico, cosa fa un project manager in azienda tutti i giorni? Come si organizza per riuscire a portare a compimento e, presumibilmente al successo, un processo e soddisfare quindi le aspettative del cliente?

Abbiamo fatto tutte queste domande a Vito Scarangella, project manager e sviluppatore di BitBoss, che attraverso una breve intervista ci ha spiegato la sua storia, come è arrivato a svolgere questo lavoro e cosa comporta fare il project manager in una software house. Ci ha fatto capire che sapersi relazionare con il cliente è parte integrante del lavoro di uno sviluppatore e che apprendere questa skill è fondamentale per la buona riuscita di un progetto digitale.

Vito, parlaci di te e di come hai iniziato a fare lo sviluppatore

Sono laureato in ingegneria del cinema al Politecnico di Torino e nonostante i miei studi accademici siano stati incentrati principalmente su temi legati alla grafica e al video making, il mondo della programmazione web mi ha sempre incuriosito e affascinato. Così, grazie all’aiuto di un amico, sono riuscito ad ottenere la possibilità di svolgere un tirocinio in una startup che aveva la necessità di sviluppare con Wordpress un portale per gestire le risorse interne. Grazie a questa prima esperienza, sono entrato in contatto con l’azienda con la quale ho lavorato fino all’anno scorso ed ho così intrapreso il percorso da sviluppatore.

Qual è il tuo ruolo all’interno di BitBoss, l’azienda in cui lavori attualmente?

Oltre ad occuparmi dello sviluppo, sono il project manager di alcuni dei progetti gestiti da BitBoss. Non è stato semplice per me iniziare ad interfacciarmi con i clienti. All’inizio sono stato supportato dal mio responsabile, soprattutto durante le primissime riunioni con il cliente, mentre ad oggi riesco a gestire in totale autonomia il rapporto con il committente. Sicuramente quello che ho imparato è che bisogna dare una visione al cliente durante il processo di sviluppo, in modo da aiutarlo ad immaginare il prodotto finale prima che sia completo. Un’altra cosa fondamentale è saper coordinare il lavoro degli altri sviluppatori: sembra una banalità, ma organizzare il lavoro del team in modo che sia performante e fornire loro il supporto necessario sono due dei fattori chiave per la buona riuscita di qualsiasi progetto digitale.

Cosa fa un project manager: qual è il compito più importante di questa figura in azienda?

Così su due piedi direi che è quello di riuscire a carpire le idee vaghe del cliente e trasformale in obiettivi per il cliente stesso. Se il cliente è d’accordo con l’obiettivo individuato, allora il primo passo è fatto e il project manager dovrà poi occuparsi di capire come raggiungerlo. Come farlo? Il segreto è riuscire a trasformare ogni obiettivo in una serie di micro attività da assegnare al team di sviluppo. Un bravo project manager è colui che fa da vero e proprio collante tra le idee del cliente e il coordinamento degli sviluppatori.

Un bravo project manager è colui che fa da vero e proprio collante tra le idee del cliente e il coordinamento degli sviluppatori.

Qual è il processo che utilizzi per suddividere un obiettivo in micro attività?

Il punto di partenza è sicuramente la prima riunione col cliente. La prima cosa che faccio è aprirmi un foglio su Evernote e fare un elenco puntato dei concetti chiave che caratterizzano il progetto. Alla fine dell’incontro rileggo i miei appunti e cerco di fare una lista dei task prioritari. A questo punto, creo il task su ClickUp. Solitamente, ad ogni punto su Evernote corrisponde un task su ClickUp. In linea di massima, ogni task deve avere la durata di un giorno, a meno che il task non sia particolarmente grande e complicato: in questo caso viene spezzettato. Come lo divido? Beh, credo che l’esperienza in questo caso valga più di tutto. Chi gestisce un progetto digitale deve avere la percezione di quanto tempo ci si mette a fare le cose, altrimenti si rischia di suddividere il lavoro in modo assolutamente inefficiente e così si finisce inevitabilmente per sforare i tempi di consegna.

Durante il tuo percorso, ti è mai capitato di proporre al cliente un prodotto che non l’ha pienamente soddisfatto?

Certo, la maggior parte delle volte capita quando i clienti non hanno le idee chiare sul progetto. La mancanza di chiarezza prima e durante il processo di sviluppo fa sì che tutto il team lavori nell’incertezza, spesso improvvisando quelli che possono essere i requisiti e le funzionalità del progetto. A questo punto o si cerca di far ragionare il cliente, oppure si procede per tentativi, anche qui guidati dall’esperienza, sperando di trovare la soluzione giusta nel più breve tempo possibile. C’è un altro fattore che influenza negativamente l’andamento di qualsiasi progetto digitale: l’eccessivo interventismo del cliente. Spesso i committenti di un prodotto digitale non hanno competenze tecniche, ma solo idee da concretizzare e vogliono imporsi sulle scelte del project manager. In questo caso bisogna far capire loro che si sta lavorando nel loro interesse e che devono fidarsi delle nostre decisioni.

La mancanza di chiarezza prima e durante il processo di sviluppo fa sì che tutto il team lavori nell’incertezza, spesso improvvisando quelli che possono essere i requisiti e le funzionalità del progetto.

Parliamo di lavoro da remoto: quali sono i pro e contro?

Il pro è sicuramente la comodità di non dover raggiungere un posto fisico. Per quanto ami Torino, il traffico è una cosa che non sopporto! Mi sono fatto un piccolo calcolo: andando tutti i giorni in ufficio, in un mese passo 28 ore nel traffico… un bel po’ di tempo perso! Il contro è sicuramente la perdita di contatto con i colleghi: con alcuni ho stretto un legame di amicizia, mi dispiace non condividere la scrivania con loro! Personalmente poi penso che quando si è a casa sia più facile perdere il focus, perché le distrazioni sono tante. In ufficio sono decisamente più produttivo.

Quali canali utilizzi per aggiornarti su argomenti relativi al tuo lavoro?

Youtube è sicuramente uno dei canali su cui mi informo maggiormente. In particolare, sono uno che apprende molto visivamente, quindi i tutorial sono per me il miglior modo per tenermi aggiornato e colmare eventuali carenze tecniche.

Tornando a parlare di sviluppo vero e proprio, secondo te come cambierà il mondo dello sviluppo tra 5/10 anni?

Penso che in futuro serviranno minori competenze per sviluppare un prodotto digitale. Questo perché immagino che si creeranno delle piattaforme che prevedono un sviluppo non tramite codice, ma attraverso la composizione di logiche, di componenti che generano un risultato complesso. Lo scenario futuro che immagino è altamente influenzato da quella che è l’intelligenza artificiale: ad oggi, esistono già piattaforme in cui vengono scritti comandi sulla tastiera come: “ Voglio un software che faccia questo, quello e quest’altro…” e in cui l’intelligenza artificiale genera in automatico un risultato di un certo livello.

Quindi ritieni che il ruolo dello sviluppatore verrà meno, oppure che dovrà semplicemente evolversi in qualcosa di diverso?

Dire quale sarà il trend prevalente mi risulta difficile: quello che penso è che stiamo andando verso un mondo in cui il cliente avrà la possibilità di comporre quasi in autonomia il prodotto digitale che ha in mente. Di conseguenza, se con l’intelligenza artificiale la scrittura del codice verrà automatizzata, allora il ruolo dello sviluppatore sarà quello di istruire la macchina in modo che automaticamente riesca a generare quello che il cliente si aspetta.

E per quanto riguarda le software house? Come dovrebbero evolversi per rimanere competitive sul mercato?

Innanzitutto bisogna prendere come riferimento le aziende americane. Sopratutto per quanto riguarda il settore dello sviluppo web, l’Italia è decisamente più indietro rispetto alle aziende oltreoceano. Come ho anticipato prima, avvicinarsi il più possibile al machine learning e alla data science è fondamentale per rimanere vivi e competitivi sul lungo periodo.

E a livello di tecnologie utilizzate? In che direzione si sta andando secondo te?

Ad oggi Python è il linguaggio di programmazione più utilizzato al mondo. Questo perché è decisamente più flessibile e di più facile manutenzione rispetto a Php, il linguaggio che attualmente sto utilizzando nell’azienda in cui lavoro. Di conseguenza, sarà fondamentale ampliare le conoscenze personali e aziendali in questa direzione.