Gennaio 2022
Prossimi eventi di questo docente::
Mag 26 – Mag 27 2022:
Moderne Architetture Applicative
Giu 20 – Giu 21 2022:
Sistemi Big Data real-time con Spark Streaming e Kafka
Cosa succede quando manca un team?
Stai avviando un pool di esperti dedicato ai dati e non sai da dove iniziare? Le singole squadre lavorano ma non producono i risultati che ti aspettavi e non sai perché? Ecco come adottare un modello unificato per creare un data team di successo
Per funzionare, i data team richiedono che tutte le loro parti siano complete e operino correttamente. Quando manca una delle squadre del data team, le altre ne soffriranno. Le organizzazioni e i membri del team non capiscono cosa succede veramente quando manca un team. Incolpano sé stessi o la tecnologia per i problemi che percepiscono. Invece, i problemi sono molto più profondi e richiedono cambiamenti più profondi per essere risolti. Ho scritto il saggio “Data Teams” proprio per aiutare il management a capire e scoprire come funzionano i data team di successo.
Partiamo da un malinteso
Per fare tutto serve solo una squadra, quella di data science. La verità è che occorrono tre team diversi per avere successo con i Big Data. Ogni team complementa gli altri e ne colma le eventuali lacune. Il team di data science è responsabile degli advanced analytics, che comprendono la creazione di modelli di machine learning. Il team di data engineering è responsabile dell’ingegneria e dell’architettura del software necessarie per eseguire analisi su larga scala. I data engineer sono i creatori di prodotti di dati che il resto dell’organizzazione inizia a utilizzare. Il team delle operations è responsabile di far funzionare tutto senza intoppi. Questa eccellenza operativa quotidiana consente alle aziende e ai clienti finali di fare affidamento sul sistema.
Ma che cosa succede quando manca un team? – La mancanza del team di data engineering comporta che non c’è il rigore dell’ingegneria del software che deve essere parte dei progetti Big Data. La mancanza dei data engineer significa che i data scientist agiscono come data engineer. I data scientist non dispongono delle competenze di ingegneria del software necessarie per progetti su larga scala. La mancanza di competenze di ingegneria del software si manifesta comunemente con il codice e i modelli del data scientist che sono “estremamente inefficienti” e “non robusti”. Significa anche che i data scientist hanno fatto le proprie scelte tecnologiche e architetturali, scelte che mancano di una solida base ingegneristica e spesso utilizzano la tecnologia sbagliata per il lavoro. Per il team delle operations, la mancanza di data engineer significa che il codice di data science non è valido dal punto di vista operativo. Il codice del data scientist ha problemi su larga scala, richiede troppo tempo per essere eseguito o non viene eseguito affatto. Il team delle operations trascorre il suo tempo cercando di tappare le perdite con le dita causate da una codifica scadente invece di migliorare l’efficienza operativa. La mancanza del team di data engineering è l’errore più comune che le organizzazioni commettono. La mancanza di team di data engineering è dovuta al fatto che il settore si è concentrato troppo sui data scientist e non ha compreso appieno le loro capacità. Anche dopo che un team di data engineer è stato istituito, si dovrà dedicare una notevole quantità di tempo a gestire il debito tecnico creato dai data scientist. I data team senza un team delle operations creano un sistema su cui i clienti, siano essi clienti finali o clienti aziendali interni, non possono fare affidamento. Ogni volta che questi clienti utilizzano il sistema, si chiedono se il sistema funzionerà questa volta o per quanto tempo sarà inattivo. L’adozione del sistema è fortemente inibita a causa di continui problemi operativi. Una mancanza di operations significa che i data engineer agiscono come ingegneri operativi, ma spesso non sono adatti per farlo: ci vorrà più tempo e si creerà un sistema meno stabile di quanto farebbe un ingegnere delle operations. Una mancanza di operations significa che il tempo del data engineer è dedicato a problemi operativi costanti invece che a scrivere codice.
Competenze specifiche ed eccellenza operativa – L’eccezione alla mancanza di team operativi sono le organizzazioni che praticano DevOps. In questi casi, il team di data engineering si occupa sia dell’ingegneria del software sia delle operazioni. Le organizzazioni che desiderano eseguire DevOps con sistemi Big Data dovranno comprendere i rigori operativi posti su un team che si occupa sia della codifica sia delle operazioni. La scarsa eccellenza operativa inibisce anche il team di data science. Tempi di attività e prestazioni scadenti significano che il modello non sta funzionando al livello previsto. Per esempio, il modello può fallire così spesso che il cliente finale vede raramente i risultati del modello e viene sempre utilizzata l’opzione di ripiego. La mancanza del team operativo è comune: di solito deriva da malintesi sulla continua necessità di eccellenza operativa quando si ha a che fare con i Big Data. I data team senza un team di data science sono limitati nel valore e nella pura complessità dell’analisi che il team può creare. Quando un team di data science manca, significa che il team di data engineering o un team di data analytics sta cercando di gestire gli advanced analytics. Anche se il team di data analytics non fa parte dei data team, potrebbe avere il background matematico per creare analisi avanzate. Tuttavia, mancheranno la programmazione e le competenze tecniche per eseguirle in modo efficace. Molti analisti di dati hanno competenze SQL rudimentali o GUI di programmi di analytics; il livello successivo di analisi richiede competenze di programmazione di livello intermedio. La mancanza di competenze di programmazione impedirà agli analisti di dati di fare data science. Alcuni data engineer avranno un background matematico, ma la stragrande maggioranza ha un background informatico. Questa mancanza di un background matematico e statistico limita la complessità delle loro capacità analitiche. La mancanza di un team di data science è relativamente rara. Ma non scommetterei mai sul successo di un data team senza la presenza dell’ultimo livello di creazione di valore, la squadra di data science.
Cosa fare quindi? Potrebbe essere successo che il tuo team o la tua organizzazione manchi di una delle squadre di cui ho parlato, e potresti riscontrare i problemi in prima persona come manager di un team o come cliente business che non dispone dei prodotti di dati giusti. È bene sapere che questi problemi non scompaiono da soli e ci vorrà uno sforzo concertato per risolvere i problemi attuali e quelli preesistenti.
Nel decimo capitolo del mio ultimo libro “Data Teams”, viene illustrato passo dopo passo il processo di creazione di uno o di tutti i data team, mentre i capitoli dal tre al cinque approfondiscono cosa fanno i team di data science, data engineering e delle operazioni, e quali sono le competenze richieste.