Un nuovo approccio per costruire un gruppo di lavoro capace di portare a termine il progetto nei tempi necessari
by Larissa T. Moss
All’interno di un team di progetto le attività di coordinamento, di assegnazione dei compiti, così come le attività di controllo e aggiornamento, sono tradizionalmente di competenza del project manager. Quest’ultimo è responsabile delle scadenze e di tutte le decisioni inerenti il progetto. I singoli membri sono invece responsabili delle attività loro assegnate e della relativa tempistica. Per esempio, l’analista dei requisiti raccoglie i requisiti applicativi per poi passarli alla persona che si occupa della modellazione dei dati la quale, a sua volta, ha il compito di creare la logica dei dati per poi girarla all’architetto del database che produce il modello fisico dei dati e, conseguentemente, le strutture di database; queste ultime vengono infine passate allo sviluppatore che ha il compito di creare l’applicazione.
Nel processo sopra descritto le uniche interazioni collaborative che coinvolgono l’intero team avvengono mediamente una volta la settimana, durante i consueti incontri che servono a fare il punto sull’avanzamento dei lavori. In progetti DW/BI, che devono essere realizzati in un timing compreso tra i 90 e i 120 giorni, un approccio di questo tipo si può rilevare inefficiente e di scarsa efficacia.
Project team di tipo self-organizing
Per riuscire ad affrontare con efficienza ed efficacia progetti agili DW/BI è utile ricorrere a un approccio Extreme Scoping in base al quale la funzione del project manager viene distribuita tra tutti i membri del team e non univocamente a un singolo project manager. Ne deriva un’organizzazione basata su un approccio definito self-organizing.
Core Team
Il core team dovrebbe prevedere un project manager di grande esperienza, un esponente della componente business in grado di prendere decisioni inerenti le politiche aziendali, una persona dell’enterprise information management (un data administrator esperto nelle discipline che riguardano la gestione dati quali modellazione logica, regole di normalizzazione, standard, tassonomia) e, infine, una persona con un profilo tecnico con grandi capacità tecnologiche e di programmazione che possa assumere responsabilità di lead developer o technical architect.
I membri del core team rappresentano il gruppo di gestione del progetto che sostituisce la funzione unica del project manager; devono essere in grado di gestire tutte le release software di un’applicazione in modo da assicurare continuità e mantenimento della conoscenza all’interno del progetto.
I core team sono team Swat (SoftWare Action Team) di tipo self-organizing. La loro peculiarità è caratterizzata dall’interazione tra tutti i membri. Ciascuno analizza il lavoro dell’altro, collabora sul rilascio dei progetti e assume decisioni. Sono previsti incontri giornalieri e, quando necessario, ciascun membro deve essere in grado di prendere in carico attività di altri membri. Il core team, infine, deve essere molto piccolo: la dimensione ottimale varia da 3 a 5 persone e non dovrebbe mai superare le 7 unità.
Development track team
I development track team sono delle estensioni del core team e non partecipano alle decisioni che vengono prese giornalmente in merito alla gestione del progetto. All’interno delle loro attività mantengono comunque delle funzioni simili a quelle del core team.
I più comuni track sono relativi ad attività ETL, sviluppo di applicazioni di BI, installazione e sviluppo di repository di metadata. Se il metadata non è una deliverable si devono prevedere almeno due paralleli development track team, primariamente ETL e sviluppo di applicazioni BI.
I development track team sono guidati dal lead developer o dal technical architect del core team. Si può anche scegliere di avere un lead developer o technical architect per ciascun development track se, compatibilmente con la disponibilità delle risorse, si ritiene che questo possa servire a supportare meglio l’organizzazione. I membri dovrebbero corrispondere a sviluppatori che hanno skill appropriati per il compito assegnato; la loro partecipazione deve essere mirata esclusivamente alla durata delle specifiche attività.
Un development track team deve essere ancora più piccolo di un core team: la dimensione ottimale deve comprendere 2 o 3 persone e non dovrebbe mai superare le 5 unità.
Extended team
I membri dell’extended team giocano un ruolo tradizionale e partecipano a progetti DW/BI in base alle esigenze e allo scheduling previsti. Non sono ingaggiati a tempo pieno, ma vengono coinvolti in alcune fasi del progetto; possono quindi essere chiamati a partecipare in modo intermittente in base alle necessità e ai loro skill. Tecnici e persone del business possono contribuire nello stesso modo in cui contribuiscono nei progetti tradizionali. Sono previsti ruoli di supporto con funzioni di tipo tecnico, operativo, di sicurezza, di auditing così come il coinvolgimento delle persone che, a livello business, sponsorizzano il progetto.
Il core team, il development track team e l’extended team costituiscono l’intero gruppo di progetto DW/BI.
BI Steering Committee
Il BI steering committee (comitato di coordinamento) è una componente di advisory costituita da business executives e senior business manager che comprendono le logiche BI e DW e che supportano attività estese a livello enterprise. I membri di questo gruppo si incontrano in modo regolare per discutere, pianificare, reclutare personale e trovare investimenti per iniziative business. Sono coloro che stanno dietro una determinata strategia DW/BI tesa a supportare i driver del business; finanziano il gruppo EIM per sviluppare iniziative di data governance in una dimensione enterprise globale; liberano persone del business dalle loro responsabilità operative in modo che possano partecipare al progetto del core team.
BI program manager
La gestione del programma di BI è guidata da un BI program manager che lavora direttamente con o per il BI steering committee. Il BI program manager svolge attività di assessment periodico volte a identificare nuove esigenze informative così come accertarsi della soddisfazione della componente business in merito al DW e alle applicazioni BI. Con il supporto dello steering committee, il BI program manager crea una strategia BI e rafforza le componenti di infrastruttura tecniche e non tecniche dell’ambiente BI. Lavorando con lo steering committee, il BI program manager assegna le priorità ai progetti BI/DW, determina le interdipendenze del progetto e coordina le risorse di progetto così come le attività che si creano attorno a queste interdipendenze.
L’interazione e la comunicazione del team
Le dinamiche di un team self-organizing sono diverse da quelle di un project team tradizionale. I membri del core team non sono infatti sempre presenti alle proprie postazioni. Collaborano, svolgono attività di brainstorming, risolvono problemi, prendono insieme decisioni nella war room dedicata al progetto; si incontrano giornalmente per analizzare lo stato e le derivable, discutere dei problemi e delle soluzioni possibili. Gli incontri possono durare solo dieci minuti, ma possono anche essere necessarie working session prolungate nel corso delle quali le attività dei singoli sono distribuite tra i vari membri del team, i quali lavorano su di esse il giorno stesso per poi fornire un report il giorno successivo.
Anche i membri dei development track team si incontrano giornalmente, ma solo per analizzare lo stato e le derivable all’interno del loro track: collaborano, fanno brainstorming, risolvono problemi, prendono decisioni su questioni inerenti il track di riferimento. La comunicazione con il core team, viene eseguita automaticamente dal lead developer o dal technical architect responsabile del development track team.
L’extended team, infine, si incontra con il core team una volta la settimana, di solito allo stesso giorno e alla stessa ora. All’avvio del progetto i membri del core team impostano lo scheduling degli incontri mentre sono gli sponsor a inviare le notifiche ai membri dell’extended team. Gli incontri possono avere la durata di un’ora o di soli dieci minuti, se non vi sono grossi problemi. L’obiettivo degli incontri settimanali è fare in modo che tutti i membri siano al corrente di tutto ciò che riguarda le attività del progetto.
Conclusioni
In sintesi, quando si vuole intraprendere un progetto agile di DW/BI si devono convertire i team di progetto tradizionali in team di tipo self-organizing. L’importante è tenere sotto controllo il numero dei membri, non eccedere nella dimensione. Tutte le attività di project management devono essere trasferite ai membri del core team e ci si deve garantire il coinvolgimento di un rappresentante della componente business. Il development track team deve prevedere 2 o 3 sviluppatori (per track, per project). Si deve inoltre fare attenzione nel coinvolgere i membri dell’extended team in base alle specifiche necessità.
—————————–
Larissa Moss
Larissa Moss è una senior consultant nei settori della Business Intelligence e nel miglioramento della qualità dei Business Information Systems. È fondatrice e presidente della Method Focus Inc. Ha una esperienza di 27 anni nel settore IT, i suoi articoli sul Data Warehousing, Project Management, Information Asset Management e Data Quality sono pubblicati regolarmente su The Navigator, DM Review, Journal of Data Warehousing e Analytic Edge. È co-autrice con Sid Adelman del libro Data Warehouse Project Management e con Shaku Atre del libro BI Roadmap: the complete lifecycle. È una frequent speaker alle Conferenze sul Data Warehousing e Crm negli Stati Uniti, Europa e Asia.
Presenterà a Roma per Technology Transfer il seminario “Approcci Agili al Data Warehousing e alla Business Intelligence” dal 20 al 21 Ottobre 2011