Quando ho iniziato la mia carriera da analista, credevo che la parte più difficile di un progetto fosse fare il lavoro vero e proprio. Mi sbagliavo. La maggior parte dei progetti di machine learning e analisi avanzata fallisce o non va in produzione. Le cause di questi fallimenti spaziano da quelle organizzative a quelle operative. Tratteremo entrambi in questo articolo.

Seppur la capacità di eseguire il lavoro pratico è fondamentale per il successo del progetto, un aspetto spesso trascurato ha a che fare con la comunicazione con il cliente e la comprensione delle aspettative.

Come persone dal background prevalentemente tecnico, ci concentriamo spesso sul lavoro effettivo invece di curare la conversazione da uomo a uomo: deleghiamo (quando possibile) le e-mail, le riunioni e le conversazioni con i clienti a colleghi che ricoprono ruoli specifici come account e project manager.

Questa formula viene utilizzata perché funziona nella maggior parte dei campi, ma oserei dire che non funziona molto bene data science nel machine learning per diversi motivi.

Scriverò del perché la comunicazione e la definizione delle aspettative sono così importanti e come possono gettare le basi per il fallimento fin dall'inizio se mal considerate. Toccheremo argomenti di project management e approfondiremo alcuni punti specifici che sono cruciali per l'esito di un progetto di data science o ML.

Come menzionato, la maggior parte dei problemi si dividono in due categorie: problemi organizzativi e problemi operativi.

Gli aspetti organizzativi hanno a che fare con il modo in cui le persone gestiscono i propri progetti, il team, la comunicazione, il flusso di lavoro e altro ancora. Ha a che fare con le persone, non direttamente con l'expertise tecnica.

I problemi operativi hanno a che fare con il modo in cui le persone fanno le cose. È il codice scritto male, sono i commenti mancanti, l'incapacità di comprendere le metriche e le performance di un modello.

Alcuni problemi non rientrano in categorie distinte, ma possono anche rientrare in entrambe.

La gestione del progetto dev'essere lasciata ad un esperto di dati

Capire quale tipo di soluzione è la migliore per un problema specifico è la chiave per fornire un lavoro che soddisfi il cliente. Chi parla con il cliente deve essere in grado di fornire informazioni chiare e comprensibili sulla soluzione per risolvere le esigenze di quest'ultimo. Questa persona deve essere in grado di ricevere il brief del cliente, porre le domande corrette e parlare con il team di data science per comprendere e inquadrare il problema.

Il più delle volte, una persona che ha solo una visione di alto livello del campo non può porre le domande giuste o inquadrare correttamente il problema. Ciò potrebbe portare a problemi lungo la strada che possono avere un impatto sulla consegna finale o sulla fiducia del cliente, come la consegna di un modello inadeguato o il mancato rispetto delle scadenze. Per questo motivo, la comunicazione e gli aspetti gestionali di un progetto dovrebbero essere svolte da qualcuno che abbia conoscenze avanzate di data science.

Conosci il tuo cliente

Una persona esperta di dati che gestisce il progetto dovrebbe sempre investire tempo e conoscere il cliente a un livello più profondo. Poiché veniamo pagati, spesso ci comportiamo come se il cliente avesse sempre ragione e capisse il problema che sta cercando di risolvere. Questo è un errore grave.

Il cliente si rivolge a noi perché non ha idea di come risolvere il suo problema. Sta a noi capire cosa stanno cercando di dire, cosa stanno vivendo e come risolverlo, e spesso il cliente non lo comunicherà nel modo più chiaro perché non è un tecnico o oppure abituato a lavorare con i dati.

Chi si occupa della comunicazione è un traduttore di intenzioni e aspettative.

Mancanza di expertise

Data science e machine learning sono discipline relativamente nuove. Mentre molti stanno costruendo conoscenze e nuove tecnologie, lo stanno facendo testando e imparando usando i propri metodi. Non esiste ancora uno standard di settore e non lo sarà ancora per molto tempo.

La maggior parte delle persone oggi ha una conoscenza superficiale di argomenti fondamentali come l'algebra lineare, l'analisi matematica e gli algoritmi. Una percentuale molto ridotta di persone che studia questi concetti avanzati ha effettivamente esperienza pratica sul posto di lavoro. Questo costringe le aziende ad “arrangiarsi” su problemi che potrebbero essere risolti con soluzioni più efficienti.

Questo non si applica solo ai data scientist. L'intero ciclo di vita del progetto dipende da più team che interagiscono tra loro, ad esempio il team di data science con il team di software engineering. La maggior parte dei programmatori ha poca conoscenza di come è strutturato un progetto di machine learning e questo può avere un impatto negativo sul successo della tua campagna.

Cattiva comunicazione tra colleghi e mancanza di collaborazione

Spesso il problema risiede nell'incapacità degli analisti di comunicare i risultati al top management. Questo è usuale in aziende non specializzate nell'analisi dei dati che si limitano a coprire il servizio come un addendum ai loro altri servizi.

Idealmente, l'analista medio dovrebbe avere un certo grado di competenza nello storytelling e nella visualizzazione dei dati, mentre gli stakeholder dovrebbero avere un certo grado di conoscenza tecnica.

Un altro problema che potrebbe avere un impatto sulla consegna è la leadership del team. I progetti dovrebbero essere guidati da persone con esperienza in quella nicchia. Ad esempio, se un data scientist senior ha esperienza nell'industria alimentare, ha senso che guidi un progetto che ha come cliente un proprietario di una catena di ristoranti.

La mancanza di una buona leadership può essere devastante e ferisce il team e i suoi membri su più livelli:

  • obiettivi poco chiari portano ad aspettative poco chiare
  • spreco di risorse a causa di una sperimentazione inconcludente
  • percezione negativa della squadra, sia dall'interno che dall'esterno
  • il dubbio pervade le menti dei membri

Bisogna dare la priorità ad avere una persona valida alla guida del team squadra.

Infrastruttura dati mancante

Noi data scientist abbiamo un grosso problema: non possiamo lavorare senza dati. È ancora peggio quando ci vengono forniti dati poco usabili dai nostri clienti. Come si può immaginare, una cattiva infrastruttura dati è spesso il vero colpevole dell'incapacità del data scientist di fornire un modello utilizzabile.

Se possediamo una società di consulenza di data science, assicuriamoci di poter lavorare con i dati del cliente prima di accettare il lavoro.

Progetti tecnicamente irrealizzabili

Ci sono alcuni progetti che a volte non si possono completare. Se il tuo commerciale vende servizi che non possono essere coperti adeguatamente, allora c'è un grosso problema nella tua azienda. Ecco perché hai bisogno di persone esperte di dati nel tuo team, a partire proprio dal team sales.

Quando questo accade significa che c'è una mancanza di conoscenza e allineamento tra i team, nonché l'incapacità di coprire servizi specifici. "Machine Learning" e "Data Science" sono parole d'ordine in questo momento: non lasciare che sia il cliente a decidere quale sia la soluzione adatta al suo problema. Se lo sapessero, non avrebbero il problema in primo luogo.

KPI non realistici, diagrammi di Gantt fatti a caso e promesse non realistiche rompono le relazioni con i clienti e sprecano risorse, il tutto a spese della tua azienda.

Conclusione

Per ricapitolare, ecco un elenco (incompleto) di eventi che potrebbero interrompere il tuo progetto di machine learning e portare ad uno spreco di risorse

  • chi gestisce il progetto non è esperto di data science e non può comunicare in modo efficiente con il cliente
  • il cliente viene preso troppo sul serio (o il contrario): ricorda sempre che sei l'esperto e il cliente non ha la più pallida idea di come risolvere il suo problema. Se lo sapessero non ci avrebbero interpellato in primo luogo
  • Mancanza di expertise nel team
  • Cattiva comunicazione e incapacità di collaborare in modo efficiente tra e all'interno dei team
  • Il cliente non ha dati o la sua infrastruttura è mal gestita
  • accettare progetti tecnicamente irrealizzabili