Gestire i progetti di Data Science: esiste una metodologia perfetta?

Autors: Fabrizio Sannicolò e Andrea Molinari | 23 September 2021

Nella prima newsletter di The Hub abbiamo presentato alcuni spunti del webinar del prof. Andrea Molinari che metteva in correlazione la complessità dei progetti di Data Science con le attuali metodologie di Project Management

Riprendiamo quel filone e oggi proviamo a presentare qualche dettaglio in più, anche se il tema necessita di vari approfondimenti visto che ingloba varie discipline (Project Management, Software Engineering, Data Science, Agile PM quantomeno…).

Partiamo da alcune evidenze oggettive.

Il mercato del lavoro cerca figure di PM afferenti al mondo del Data Science: si trovano  diversi annunci dove tuttavia si richiedono chiari ed evidenti hard e soft-skills tipiche del PM classico (time & cost & scope, controllo del progetto, risk, stakeholders, etc…), alle quali si aggiungono competenze di tecniche di gestione e analisi dati, tecniche di modellazione, AI, conoscenza python, R ecc…

Alla base di tutto resta il fatto che gestire un progetto di Data Science significa comprendere a fondo la finalità del progetto stesso, ovvero aumentare il valore dei dati attraverso tecniche e strumenti matematici come AI, machine learning, deep learning e data mining. Lo facciamo creando dei data products robusti, vendibili, profittevoli, utilizzando tutti gli strumenti e discipline dei progetti IT.

Gestire i progetti di Data Science - esiste una metodologia perfetta

La domanda vera alla fine può essere se per gestire un progetto di Data Science è sufficiente comporre abilmente tecniche di Project Management, Agile, Software Engineering e Data Science. E’ tutto ciò che serve? E, in definitiva, possiamo affermare che la loro combinazione intelligente produce il Data Science Project Management?

La nostra risposta è sì, se possiamo affermare che il risultato del nostro progetto è una soluzione software completa, perfettamente funzionante, installabile e manutenibile che facilità l’obiettivo finale del cliente attraverso l’uso intensivo e la valorizzazione dei dati rispettando i classici vincoli di progetto.

La risposta è no, invece, se il progetto di Data Science, come spesso purtroppo accade, galleggia all’interno di situazioni non ben chiarite con il committente, come gli onnipresenti proof-of-concept, le demo, i prototipi, i MVP ecc. (TreasureHuntNIC: professionalism). In questi casi, infatti, l’obiettivo primario di mostrare qualcosa di interessante al cliente il prima possibile, e soprattutto di capire se i dati (non il software) davvero ci diranno qualcosa e saranno in grado di rispondere a ciò che l’utente cerca (o vuole cercare), di solito prevale sull’impostazione metodologica di un ciclo di vita completo del progetto. Si comincia subito a lavorare sui dati, si comincia a curiosare, sperimentare, con il tipico approccio “try & err” oppure con varie sessioni, iterate in numero non predeterminato, di addestramento di modelli, reperimento e configurazione dei training set ecc.

Applicare quindi un metodo di lavoro il più strutturato possibile ad un progetto di Data Science vede quindi alcune pre-condizioni necessarie, e spesso non sufficienti:

  • un team skillato il più possibile sui vari ambiti di gestione del progetto: normalmente, informatici da un lato e data scientists dall’altro non hanno questo background, oppure non lo ritengono “core” per le loro attività;
  • l’assenza nel team di qualsiasi preconcetto verso qualsivoglia metodo / metodologia delle varie discipline coinvolte e citate;
  • la conseguente predisposizione all’ibridazione delle competenze, a lavorare insieme, a non considerare la scrittura di software “tradizionale” come figlia di un dio minore, oppure le sperimentazione sui dati e gli script python come qualcosa di esoterico e poco vendibile;
  • una profonda conoscenza di Project Management e degli strumenti correlati, che vanno sagomati e adattati ma che devono essere il driver finale del progetto, in termini di rispetto dei vari vincoli di progetto, ambito, tempi, budget, rischi e quant’altro;
  • la disponibilità delle varie anime del team a lasciar guidare il progetto ad una figura deputata a questo, sia questa scrum master, project manager, project owner o qualsivoglia etichetta o ruolo;
  • evitare di creare black box applicative e attività che non siano chiare al resto del team, a chi lo coordina e soprattutto a chi lo comprerà.

Certamente la metodologia perfetta non esiste, ma il “best-of-breed” di varie metodologie provenienti dai vari ambiti interessati è la nostra risposta. Lavorare internamente per l’adattamento di metodologie provenienti dal mondo del data mining / data science, l’utilizzo di metodologie di Project Management come quella del PMI, l’adozione di strumenti di gestione del team riferiti ai vari mondi Agile per la produzione del software o di qualsiasi altra metodologia di ingegneria del software valida e conosciuta dal team, questa è la chiave vincente. Questo mix va calibrato sul team, sul cliente, sulle policy aziendali ecc., e nella nostra esperienza rappresenta la carta vincente per condurre a termine progetti di data science, progetti molto sfidanti e quindi ancor più pericolosi per la sostenibilità del business.