Maggio 2008

Sviluppo iterativo del software per i Dw

Un datawarehouse (Dw) non può essere definito in questo modo se non possiede due componenti fondamentali: la gestione dei dati (mettendone e mantenendone l’ordine nel caos) e la messa a disposizione degli stessi per gli utenti (realizzare le applicazioni di Business Intelligence). Sfortunatamente, la maggior parte delle imprese attribuiscono più enfasi a mettere a disposizione i dati piuttosto che a mantenerne un controllo effettivo. Questo è dovuto a parecchie ragioni. La gestione delle informazioni all’interno dell’intera impresa è più difficile e richiede maggiori sforzi, coordinamento e risorse rispetto alla realizzazione di soluzioni con semplici depositi di dati finalizzati alla BI. In secondo luogo, la razionalizzazione di dati ridondanti o incoerenti è un lavoro tedioso ed è molto meno gratificante del riuscire a incrementare significativamente la propria conoscenza di nuovi strumenti e tecniche di BI. La ragione principale, però, è che gli utenti all’interno delle imprese premono per ottenere rapidamente nuove funzionalità (in novanta giorni o meno) mentre “affinano” costantemente le loro richieste, e i team dei datawarehouse si adoperano per accontentarli. Il risultato finale è spesso una collezione di data mart indipendenti (non integrati) – sempre con la promessa di consolidarli in seguito – cosa che purtroppo avviene di rado. Ma questo dilemma ha un’altra soluzione? Potete “avere la vostra torta” (in termini di gestione dei dati) “riuscendo anche a mangiarla” (ovvero producendo rapidamente soluzioni)? Provate con “Extreme scoping”. Si tratta di un metodo di sviluppo iterativo che utilizza il concetto del “software release”, ovvero del “rilascio periodico di versioni software”. Richiede una struttura “auto-organizzata” del team di sviluppo, una partecipazione concreta degli utenti finali, una metodologia di sviluppo a spirale del Dw e una serie di piccoli aggiustamenti culturali.

Il concetto di “software release”

L’approccio allo sviluppo software tipo “big bang” per la costruzione dei datawarehouse è stato abbandonato da tempo. Attualmente, viene generalmente accettata l’idea che il Dw debba subire un’evoluzione e crescere nel tempo, aggiungendo un’applicazione di BI dopo l’altra all’interno del proprio ambiente elaborativo. Quello che non è ancora accettato è che non dovremmo nemmeno sviluppare le applicazioni di BI in maniera “big bang”. Questo significa che non dovremmo tentare di mettere in opera un’applicazione di BI completamente funzionante solamente alla fine di un progetto. Perché? Ma perché la prospettiva di trattamento dei dati di un Dw normalmente risulta troppo allargata e la schedulazione temporale del progetto è in genere troppo breve per realizzare tutte le attività utili per la gestione di dati a beneficio dell’intera impresa. Possono essere necessari novanta giorni solamente per analizzare e standardizzare parecchie dozzine di elementi dei dati, se i loro rispettivi nomi (sinonimi e omonimi), definizioni (significato semantico), domini (insiemi o range di valori validi) e regole dell’impresa (regole relative a dati e processi) risultino in disaccordo o vengano disputati tra diversi dipartimenti o singoli utenti all’interno della società. A questo punto, i team di progetto spesso abbandonano qualsiasi attività di gestione complessiva dei dati dell’intera azienda attivando solamente le funzionalità della applicazioni di BI completate secondo la schedulazione temporale del progetto.Un migliore approccio consiste nel dividere le applicazioni di BI in funzionalità da attivare in periodi multipli e successivi di 30-45 giorni; ovvero in rilasci di software da effettuare ogni 30-45 giorni. Ciascuna nuova release costituisce un progetto separato. In questo modo, ogni aggiornamento di software fornisce un sottoinsieme standardizzato e integrato degli elementi dei dati richiesti, insieme a un sottoinsieme delle funzionalità attese. Possono essere necessari parecchi rilasci per realizzare un’applicazione di BI completa. Tuttavia, questo approccio consente al team del Dw di lavorare su attività di gestione dei dati a livello dell’intera impresa, così come fornisce agli utenti del sistema l’opportunità di affinare le proprie richieste durante il processo di sviluppo delle applicazioni.

La struttura auto-organizzata del team

Un approccio ai rilasci software periodici richiede una struttura del team di sviluppo più dinamica. I gruppi di progetto tradizionali possono essere relativamente numerosi, sono frequenti équipe di dieci o più membri, ciascuno con specializzazioni particolari. E’ responsabilità del team manager coordinare le attività e assegnare i compiti a ogni appartenente al gruppo, prendendo le relative decisioni. I membri del team lavorano separatamente sulle singole attività loro assegnate e, una volta a settimana, l’intero gruppo si riunisce per la verifica dello stato di avanzamento del progetto. Questo modo di operare risulta però troppo lento. Le attività di comunicazione e di coordinamento tra i membri del team risultano inefficienti e soggette a errori, per non dire della mancanza di sinergia e di trasferimento delle conoscenze tra le persone del gruppo stesso.Una struttura di team più funzionale è costituita da un piccolo gruppo Swat (Software analysis and testing) formato da quattro o cinque generalisti. Stiamo parlando di una équipe auto-organizzata, definizione che significa che le attività vengono assegnate reciprocamente, che ciascuno concorre a coordinare e a verificare il lavoro degli altri, che tutti collaborano alle attività del progetto, che (insieme) prendono le decisioni e che, in caso di necessità, ognuno può prendere in carico le attività di un altro membro del team. Perché tutto questo possa funzionare, l’insieme delle specializzazioni del gruppo deve comprendere: grande attitudine alla gestione dei progetti, esperienza tecnica di alto livello, forte esperienza nella gestione dei dati (da non confondere con la progettazione o con l’amministrazione di database) e capacità di rappresentare e descrivere le attività dell’impresa (qualcuno, proveniente dall’interno dell’impresa, con l’autorità di prendere decisioni).

Ottenere la partecipazione degli utenti

Un prerequisito per applicare il metodo dei rilasci successivi di software e delle strutture di team dinamiche è la partecipazione delle persone dell’impresa alle attività di progetto. Questo richiede un coinvolgimento degli utenti molto più forte di quanto avvenga normalmente. Tradizionalmente, le persone dell’impresa partecipano a interviste mirate a definire i requisiti delle applicazioni, a sessioni Jad (Joint application design), a revisioni del progetto e a test di accettazione da parte degli utenti. Inoltre, i tecnici tendono a compiere tutto il lavoro di sviluppo senza coinvolgere le persone dell’impresa. Oltre a creare un’atmosfera “noi verso loro”, questo grado limitato di coinvolgimento porta il gruppo It a deduzioni e decisioni tali da produrre risultati insoddisfacenti. Questo modo di procedere è già abbastanza negativo in progetti con obiettivi e prodotti finali ben definiti ma, nei progetti di Dw nei quali obiettivi e prodotti sono spesso simili a un bersaglio mobile, può risultare catastrofico. Pensate solamente a quante volte sentiamo affermare che progetti di Dw sono in ritardo, sforano il budget, costano troppo, sono troppo complicati e che i prodotti ottenuti non corrispondono alle aspettative degli utenti.Il modo migliore per porre rimedio a questa situazione è fare in modo che le persone dell’impresa siano membri attivi full-time dei team di progetto di Dw. Questo significa che contribuiscono attivamente ai lavori relativi al progetto, come la pianificazione delle attività, l’analisi delle fonti dei dati, la loro modellazione da una prospettiva dell’azienda, la definizione a attribuzione dei nomi ai dati da trattare, la creazione di regole dell’impresa e di valori relativi ai diversi domini di applicazione, la determinazione della logica di validazione dei dati, la definizione di casi di test di integrazione e recupero dei dati, la valutazione dei risultati dei test e così via. Naturalmente, le persone dell’impresa non effettueranno questa attività in maniera isolata ma dovranno collaborare con gli altri membri del team assegnato al progetto.

La metodologia dello sviluppo a spirale del Dw

E’ un fatto ben conosciuto che le metodologie di sviluppo nell’ambito dell’intero ciclo di vita dei sistemi tradizionali non siano applicabili nei progetti di Dw. Queste vecchie tecniche “a cascata” sono adatte per realizzare prodotti stand-alone, come i sistemi di acquisizione e accumulo dei dati, ma non supportano lo sviluppo iterativo di un Dw e, inoltre, non comprendono la gestione dei dati a livello dell’intera impresa. In aggiunta, il metodo a cascata presenta una forte rigidità.Per contro, le metodologie a spirale per i Dw hanno punti di ingresso e di uscita flessibili, progettati specificatamente per supportare uno sviluppo iterativo del software di gestione. Queste nuove tecniche contengono attività specifiche per il datawarehousing e la gestione dei dati dell’impresa, comprese le attività a carico delle persone dell’azienda. Supportano anche lo sviluppo di applicazioni in parallelo, come funzioni Etl (Extract, transform, load), applicazioni front-end, soluzioni con metadati e così via. Il beneficio più significativo delle metodologie agili è che forniscono la struttura necessaria per i rilasci software e stimolano la partecipazione degli utenti.

Piccoli aggiustamenti culturali

Il metodo “Extreme scoping”, ovvero dei rilasci software successivi, funziona. È stato applicato e verificato da molti team di Dw, così come da gruppi di sviluppo operativo che sottoscrivono la validità dello sviluppo agile e della programmazione estrema (Xp). Non si tratta di una tecnica difficile da adottare, ma richiede un piccolo (in alcune organizzazioni non tanto piccolo) aggiustamento culturale. I team di progetto dei Dw debbono imparare i metodi dello sviluppo agile e le tecniche Xp, confrontandosi con nuove strutture del gruppo, con lo spostamento dei ruoli e delle responsabilità, con i principi dell’amministrazione completa dei dati e con il nuovo approccio allo sviluppo del software, basato sui rilasci parziali relativi a singole funzionalità. Le persone dell’impresa debbono abbandonare il loro atteggiamento “attendista” e fare proprio il programma di BI. Quest’ultimo impegno viene espresso dal grado di interesse e coinvolgimento nel progetto da parte delle persone interessate. Guardando indietro nel tempo alle conversioni di sistemi Erp di qualche anno fa, sarebbe difficile trovare un progetto Erp senza la partecipazione attiva full-time degli utenti coinvolti nelle attività attuali del progetto Erp, dalla mappatura dei dati fino ai test di funzionalità. I progetti di Dw che soffrono della sindrome per la quale le persone dell’impresa “non trovano il tempo” per partecipare (lasciando spesso incredulo chi pone la domanda), attualmente soffrono di mancanza di rispetto da parte dei manager. Questi progetti non hanno veri sponsor tra i manager esecutivi per la gestione dei dati dell’impresa, un aspetto che rappresenta una parte fondamentale del datawarehousing. Questi possono essere condannati a tranquillizzare le persone dell’impresa con soluzioni di BI basate su semplici contenitori di dati, almeno per il tempo presente. Ma per quelle imprese che desiderano attivare una vera gestione dei dati in aggiunta alla loro messa a disposizione degli utenti, l’aggiustamento culturale non dovrebbe risultare molto difficile.

Rieducare gli utenti

I team di progetto di Dw non possono affrontare il rischio di fare il passo più lungo della gamba (senza soffocare). Al contrario, debbono rieducare e reindirizzare gradualmente gli utenti che insistono verso il raggiungimento di obiettivi di “richiesta minima” (ovvero funzionalità completa e i dati necessari per supportarla) in tempi sempre più ristretti. “Extreme scoping” rappresenta un veicolo effettivo per raggiungere lo scopo. Le persone dell’impresa continueranno a ricevere “risultati rapidi”, imparando nel contempo le complessità e i benefici della realizzazione di un ambiente di BI integrato. Avranno l’opportunità di “vivere” i progetti di Dw partecipando attivamente come membri del team di progetto, affrontando le medesime sfide e soddisfazioni provate nel passato dai soli team tecnici di Dw. In aggiunta, questo nuovo approccio allo sviluppo vivrà a lungo, annullando l’attuale spaccatura esistente tra l’impresa e l’IT.