Engineering Business Intelligence

Pubblicato il 20/09/2007 da Stefano Cazzella in Business Intelligence

In un precedente post ho provato a identificare i principali fattori di rischio specifici di un progetto di Business Intelligence, disegnando una pittura a tinte fosche delle difficoltà che si possono incontrare nel condurre al successo un progetto di BI. Questa volta proviamo a identificare strumenti e strategie per controllare tali fattori di rischio e incrementare le probabilità di successo.

Engineering Approach

Gli aspetti di carattere “politico” inerenti la gestione del progetto (come la disponibilità di uno sponsor autorevole per il progetto, l’individuazione delle risorse economiche, il coinvolgimento delle strutture tecniche, ecc.) rivestono un ruolo importante nel successo dell’impresa, ma non offrono in generale garanzie sulla capacità effettiva di realizzare un sistema che sia in grado (oportunamente suportato dai giusti sponsor) di raggiungere l’agognato traguardo. Per mitigare il rischio di fallire l’obiettivo da un punto di vista realizzativo è necessario concentrarsi su aspetti più prettamente tecnici e organizzativi.

La realizzazione di un sistema software, e di un sistema di Busness Intelligence in particolare, è un’attività complessa. Tale complessità deve essere gestita affinché non prenda il sopravvento sugli esiti del progetto. Gli elementi che contribuiscono ad affrontare tale sfida sono:

  • approccio progettuale – applicazione di metodologie di lavoro predefinite; pianificazione e controllo delle attività;
  • approccio ingegneristico – adozione di architetture, tecnologie e best practices collaudate (dosando abilmente l’introduzione di soluzioni innovative); attenzione primaria alla progettazione tecnica.

Tali approcci sono applicati in molti altri settori dell’Ingegneria (con estrema naturalezza e senza destare grandi stupori) e contribuiscono efficacemente a ridurre il rischio di insuccesso (almeno dal punto di vista realizzativo). Nel settore civile/edile ad esempio il numero di cantieri abbandonati a metà dell’opera perché lo scheletro in cemento armato del palazzo crolla o il committente si è accorto che quanto in corso d’opera è profondamente diverso da quanto richiesto (es. lui voleva una villetta su tre piani e si sta costruendo un supermarket) sono decisamente inferiori rispetto al tasso di fallimento che si registra nel campo dei sistemi software. Con tale spirito di confronto ho proposto in apertura una sequenze di immagini relative alla realizzazione di un progetto edile, in modo da spronare tutti a verificare che quanto naturalmente applicato in quel contesto, lo sia anche nell’ambito dei propri progetti IT.

Approccio progettuale

Una metodologia di lavoro fornisce la guida per decomporre la macro attività “realizzazione del sistema” nelle diverse attività necessarie a produrre i risultati (deliverables) intermedi e finali che contribuiscono congiuntamente a realizzare il sistema. L’adozione di una metodologia aiuta a ripercorrere i medesimi passi che hanno già portato altre imprese analoghe al successo riproponendo un modello di processo produttivo (ossia un’organizzazione delle attività) già collaudato.

Il risultato dell’applicazione di una metodologia di organizzazione del lavoro/progetto è un piano di progetto (o diagramma reticolare) che riporti le diverse attività individuate e i legami di dipendenza che fra queste esistono (es. due attività sono legate quando un’attività necessita del risultato di un’altra per poter essere completata). Il piano andrà poi completato con le stime in termini di effort e durata delle attività, l’allocazione delle risorse e lo scheduling delle attività stesse.

Periodicamente è fondamentale verificare lo stato di avanzamento del progetto per monitorare eventuali ritardi o difficoltà e eventualmente ripianificare. In particolare vanno individuati e monitorati i percorsi critici (ossia quelli che contengono attività che se ritardate comportano un ritardo per l’intero progetto). Uno strumento efficace per controllare lo scostamento di tempi e costi fra quanto pianificato e quanto realizzato è costituito dal metodo dell'Earned Value che riassume graficamente (diagrammi a S) lo stato di avanzamento del progetto consentendo di verificare tempestivamente scostamenti eccessivi.

Approccio ingegneristico

Il cuore di un progetto ingegneristico è nella progettazione tecnica: tale attività ha il compito di definire, a fronte di un obiettivo (requisito) ben definito, le scelte tecniche che portano alla sua realizzazione. La progettazione tecnica rappresenta “le istruzioni di montaggio” del sistema a partire dai componenti di mercato disponibili. Tali scelte di natura tecnica vengono effettuate con l’obiettivo di massimizzare la qualità del risultato nel rispetto dei vincoli esterni esistenti: disponibilità di tempo, disponibilità delle risorse economiche, disponibilità di tecnologie già acquisite, ecc.

Le scelte tecniche sono guidate dall’esperienza maturata nel settore sui diversi aspetti realizzativi; tali esperienze vengono comunemente indicate come best practices ossia come indicazioni ricavate da esperienze reali raccolte in pubblicazioni, libri, blog tematici, ecc. In ogni progetto vengono abitualmente applicate le best practices che risultano più adeguate alla risoluzione del problema reale che si deve affrontare, lasciando spazio a personalizzazioni e sperimentazioni che contribuiscono all’individuazione di soluzioni innovative. Bilanciare correttamente innovazione e prassi consolidate è uno degli elementi più critici e che richiede maggiore competenza e esperienza personale, ma che al contempo consente di raggiungere risultati più ambiziosi.

Nella fase realizzativa, oltre alle attività di costante verifica della corretta applicazione delle specifiche tecniche prodotte, è essenziale curare l’organizzazione e la comunicazione del gruppo di lavoro. Spesso è necessario apportare modifiche in corso d’opera a quanto progettato per adattare il disegno alle esigenze reali e in questi casi è importante avere figure di riferimento nel gruppo di lavoro che siano in grado di partecipare attivamente alla definizione delle variazioni e coordinare le attività nei diversi ambiti per far si che queste siano correttamente recepite da tutti.

Vale sostanzialmente la metafora del veliero: fissata la rotta e pianificati i tempi di percorrenza di ciascuna tratta, per condurre il veliero in porto bisogna continuamente regolare le vele per far fronte al variare dei venti e delle correnti; serve quindi un equipaggio ben addestrato e coordinato in maniera efficace perché tutte le manovre siano condotte con perizia e armonia.

Nessun commento »

RSS feed for comments on this post. TrackBack URL

Lascia un commento