Motore di ricerca semantico in ambito enterprise per facilitare la gestione delle informazioni

Nella primavera del 2015 abbiamo effettuato una riunione con un nostro cliente storico per riprogettare alcune componenti del suo parco applicativo, che ha le seguenti caratteristiche:

  • applicativi differenti, ognuno con le sue informazioni (parco dati);
  • ogni applicativo gestisce le informazioni e il modo di reperirle in maniera differente;
  • l’utente deve conoscere i percorsi di ricerca specifici per ogni applicativo;
  • i dati sono disomogenei tra gli applicativi, di conseguenza per trovare o gestire una determinata informazione può rendersi necessario effettuare ricerche su più applicativi.

Nel corso della riunione è emersa l’idea di creare un motore ricerca semantico Google style per valorizzare e facilitare la gestione dell’enorme insieme di informazioni memorizzate e gestite dai vari applicativi:

  • oltre 1000 servizi;
  • applicazioni e integratori per un totale di 1200 installazioni;
  • oltre 13 milioni di anagrafiche.

Motore di ricerca Imola Informatica

Il motore di ricerca è una soluzione un po’ fuori dagli schemi:

  • l’utente ricerca un’informazioni sui dati di tutti gli applicativi contemporaneamente; è poi il motore di ricerca a suggerire all’utente su quali applicativi specifici è presente l’informazione ricercata.
  • è possibile, attraverso il motore di ricerca, aprire l’applicativo che gestisce o contiene l’informazione, facilitando e velocizzando il lavoro quotidiano dell’utente.

Per ottenere un risultato analogo si dovrebbe riprogettare ed integrare gli applicativi con costi decisamente superiori. Il motore di ricerca fornisce una nuova modalità di ricerca mantenendo le logiche di scrittura e l’indipendenza delle applicazioni.

Perché un motore di ricerca semantico? Le informazioni hanno un significato specifico all’interno degli applicativi di provenienza. Il motore di ricerca deve mantenere questa peculiarità e contemporaneamente utilizzarla per raggruppare e categorizzare le informazioni. Le tecnologie semantiche sono utili per raggiungere l’obiettivo in quanto, da un lato consentono di creare un modello di alto livello con all’interno tutti i significati attribuibili alle informazioni e dall’altro permettono di mappare sul modello le informazioni gestite dai sistemi, così da renderle omogenee per l’utilizzatore finale. Ad esempio, il concetto di anagrafica della persona è unico, ma le singole istanze sono trattate differentemente da applicativo ad applicativo (informazioni gestite, persistenza, … ): quando un motore di ricerca le indicizza, deve riconoscere che si tratta di anagrafiche di persona e, nel caso, di una stessa persona.

Il risultato ottenuto è una visione dei dati ad alto livello che mantiene allo stesso tempo l’eterogeneità delle fonti dei dati.

Il supporto dell’approccio semantico consente inoltre di mettere le informazioni in relazione le une con le altre. Ad esempio: una persona ha un indirizzo inerente ad una città; la città, a sua volta, è un concetto legato a molte altre informazioni . Si crea quindi un grafo navigabile di relazioni. Il grafo è estendibile senza modificare le informazioni indicizzate.

In questo modo è possibile eseguire ricerche su informazioni di tipo differente evitando la replicazione. Ad esempio: cercando “Imola”, si può ottenere Imola come città, ma navigando il grafo si possono ottenere tutte le aziende che hanno delle sedi a Imola e quindi le persone che vi lavorano.

Utilizzando un motore di ricerca tradizionale, si sarebbero potuti ottenere risultati analoghi mettendo in ogni blocco di informazioni anche le altre informazioni ad esso correlate, ad esempio indicizzando le anagrafiche assieme alle informazioni sulla città, l’azienda in cui si lavora e quant’altro. Senza il motore semantico le correlazioni sono pensate durante l’indicizzazione dei dati, con il supporto semantico occorre conoscere il modello e durante la ricerca navigare il grafo per un adeguato numero di livelli. Un’eventuale cambio di correlazioni porta da un lato a dover modificare tutti i dati indicizzati, dall’altro a cambiare solamente il modello semantico.

Le performance cambiano. Il supporto semantico risulta meno performante in quanto deve risolvere i livelli di navigazione del grafo. I dati sono denormalizzati in entrambi i casi, garantendo le prestazioni su grosse moli di dati. Si tratta di un piccolo costo da pagare per avere una elevata dinamicità nell’aggregazione dei dati.

Per il POC che abbiamo implementato abbiamo usato:

  • Virtuoso come storage (Triple Store), che fornisce anche un endpoint SPARQL;
  • SPARQL come linguaggio di interrogazione;
  • OWL / RDF come linguaggio per la modellazione delle informazioni di dominio (modello);
  • JAVA per il front-end.

Dal punto di vista architetturale Virtuoso rappresenta lo strato di persistenza, mentre il front-end Java implementa il layer di presentazione, in cui presentiamo dinamicamente le informazioni ricercate, un layer di logica applicativa che permette di attuare:

  • logiche di autorizzazione;
  • logiche autenticazione;
  • logiche di reperimento di dati per contestualizzare i risultati della ricerca;
  • un layer di accesso ai dati.

Per quanto riguarda la presentazione Google style delle informazioni, oltre ad elencare i dati e a creare i “link” per aprirli nei corrispondenti applicativi, è stato anche introdotto un sistema che mostra dinamicamente le informazioni correlate al singolo risultato della ricerca, in modo tale da contestualizzarlo, ampliarlo e facilitare quindi l’operatore nell’individuare l’informazione di suo interesse. Cercando ad esempio “Mario Rossi”, oltre al nome ed il cognome vengo mostrati il codice fiscale, il luogo di residenza e l’azienda pressa la quale lavora.

Motore di ricerca Imola Informatica - Risultati

Il Proof Of Concept (POC) è stato realizzato in 10-15 giornate, avendo una piena conoscenza del dominio. Il cliente ha apprezzato il POC, che verrà evoluto ampliando il numero di concetti all’interno del modello e la quantità di informazioni presenti, modificando di conseguenza l’interfaccia grafica.

 

Andrea Ravagli

Francesco Panico

Normanno Cacciari

Complicato e Complesso. Cosa fare di diverso?

Ho dedicato il post precedente a chiarire -spero- la differenza tra situazioni Complicate e Complesse, vista l’ambiguità della lingua parlata italiana in proposito.

Nella realtà quotidiana non è facile distinguere nettamente le due situazioni, che spesso compaiono insieme creando terreno fertile per valutazioni errate.
E’ infatti molto frequente che si estragga una parte del problema, la si definisca -correttamente- Complicata, e da lì si ottenga la conferma che lo stile giusto di gestione è quello di sempre.
Parto innanzitutto a definire lo stile di gestione “ di sempre” che ha portato organizzazioni e società a risultati sensazionali, frutto di miglioramenti iniziati a inizio secolo scorso e tuttora in corso. 
E’ uno stile adatto ai Sistemi Complicati, che posso riassumere nel modo seguente:
  • Prendere decisioni – trovare la scelta migliore
  • Definire i ruoli e responsabilità – per le attività che vanno svolte
  • Definire il piano – utilizzando le priorità e la catena di comando
  • Governare – decidere e dire agli altri cosa devono fare
  • Controllare – allineare e mantenere il focus sull’obbiettivo

Building

Con questo approccio siamo andati sulla luna, abbiamo costruito edifici e città, abbiamo trapiantato cuori, faremo ancora milioni di cose nuove. Farlo è familiare, dà un senso di sicurezza, ha portato a grandi risultati. Perché confutarlo?

Ecco la mia risposta.

Perché oggi frequentemente non basta, e non mi sembra opportuno accontentarsi.
Mi sembra abbastanza evidente che a fronte di situazioni in cui semplice, complicato e complesso si mischiano occorra pensare meglio ad approcci migliori, che facciano distinzioni e gestiscano in modo appropriato le diverse parti.
Ci sono molte situazioni in cui è possibile attribuire una Responsabilità: per andare sulla luna Houston ha la responsabilità,  il chirurgo ha la responsabilità del trapianto,  l’ingegnere ha la responsabilità dell’edificio o del piano regolatore.
La Responsabilità dà il potere di gestire con lo stile descritto sopra.
Ma ci sono casi in cui la eventuale Responsabilità non dà questo potere: quando il risultato emerge da una creazione non possibile con la coercizione, dalla collaborazione, dall’interazione delle varie parti.
Basta pensare ad un bambino recalcitrante o ai dipendenti di una azienda o agli abitanti di una città, per rendersi conto che le relazioni non permettono di prevedere un controllo efficace, qualsiasi buon piano io abbia fatto.

Se i risultati che vogliamo ottenere dipendono dalla collaborazione e co-creazione e non possediamo espliciti e definitivi strumenti di controllo, allora probabilmente lo stile che abbiamo usato finora non è il migliore.
Quale stile funziona meglio nei Sistemi Complessi?

  • Costruire le relazioni – pattern utili di interazione
  • Sense making – interpretazione allargata della situazione
  • Loose coupling – supporto alle Comunità di Pratica e aggiunta di autonomia
  • Apprendimento – agire/imparare/pianificare nello stesso tempo
  • Osservare cosa emerge – costruire sulle evidenze di buon risultato

child

By Tom Jacobs

Quando non possiamo specificare -in senso ingegneristico- né determinare cosa vogliamo ottenere, dobbiamo adeguare il nostro stile e abilitare i risultati intervenendo sul sistema.
Quando non è possibile pensare che con una correzione si aggiusti tutto, allora devo cercare i punti di leva che devo cambiare per migliorare il sistema.
Ad esempio posso cambiare quello che le persone fanno, e dovrò quindi cambiare le regole attuali, che faranno cambiare le relazioni, le reti e i comportamenti, e sarò costretto a cambiare gli strumenti.
Parlando di organizzazioni cambieranno le regole, le norme tacite di comportamento, come vengono gestiti i conflitti, gli errori, il potere, le linee guida e le checklist.

Il bello è che probabilmente se mi comporto nello stesso modo in due comunità diverse -aziende, quartieri, città, mercati-, otterrò due risultati diversi: magari buoni risultati, ma diversi. 
I risultati dipendono dal contesto, dal momento, dalla cultura e dai valori della comunità e lo stile diverso, in ultima analisi, consiste nel tenerne conto.

Complicato o complesso ?

Mi è servito un sondaggio tra colleghi e clienti per decidere di scrivere con l’obiettivo di chiarire la differenza tra complicato e complesso, che nel linguaggio comune vengono utilizzati in modo pressoché intercambiabile.

Ho scoperto con sorpresa che il linguaggio che utilizzo normalmente non è affatto chiaro agli altri, ma immediatamente mi sono sorpreso di essermi sorpreso.
Quindi cerco di chiarire i termini, per poi parlare delle implicazioni.
Con COMPLICATO definiamo un problema o una situazione che siamo in grado di descrivere compiutamente, di cui siamo in grado di definire una strategia e un piano per affrontarlo, dei tempi e delle milestones per arrivare a un risultato che siamo in grado di descrivere.
Con COMPLESSO definiamo invece una situazione in cui non siamo in grado di definire una serie di milestones precise, dei tempi precisi e un risultato preciso da raggiungere.
Sono definizioni un po’ grossolane rispetto a quanto si trova in letteratura, ma secondo me rendono bene l’idea.
Uso alcuni esempi tipici per tradurre in pratica:
COMPLICATO: assemblare un mobile dell’IKEA, mandare un razzo sulla luna, smontare e rimontare un orologio, costruire una barca.
La complicazione può venire dalla vastità del compito e dagli skill molteplici che sono necessari, ma se della situazione conosco cosa so fare e cosa non so fare,sono comunque in grado di descrivere i passi certi per arrivare ad una risoluzione.
COMPLESSO: crescere bene un figlio, impostare un piano strategico – che funzioni -, gestire un gruppo di persone, realizzare un progetto software grosso che non ho mai fatto prima, gestire un’azienda, o l’IT di una azienda.
Complexity Cloud
In altre parole, se esiste una ricetta, pur con molti ingredienti e con molti step, se anche non ho alcuni degli ingredienti e non so fare alcuni step, posso comunque procurarmi ciò che manca ed essere pressoché sicuro del risultato. E si tratta di situazioni complicate.
E’ abbastanza chiaro che tutte le volte in cui sono coinvolte persone non come “ingranaggi di un orologio”, cioè esecutori di procedure, ma come elementi portanti di un’attività che ha interconnessioni ed evoluzioni nel tempo, siamo di fronte a problemi complessi.
I sistemi complicati sono predicibili. Li possiamo prendere, separare nelle parti, capire le interazioni, e riprodurre. A meno di errori di esecuzione, sono in grado di ripetere l’evento.
Per i sistemi complessi non è così. Per quanti figli io possa avere non ne usciranno mai due uguali, per quante aziende abbia gestito non potrò mai garantire che fare le cose che ho fatto in una farà funzionare la prossima. I sistemi complessi sono in larga parte impredicibili, e quando li sollecito con un’azione non so con certezza cosa aspettarmi (a meno che non sia un peccatore cronico di “overconfidence”).
L’incertezza è sovrana, averlo fatto bene una volta non dà garanzie per la prossima, non ho garanzie di successo. Molte volte non riesco nemmeno a definire esattamente cosa sia il successo.
Per riassumere:
Sistemi complicati (come costruire una barca)
  1. Le formule sono critiche e necessarie
  2. Riuscire una volta garantisce che anche la prossima riuscirà
  3. Servono livelli di esperienza adeguati nei diversi campi coinvolti
  4. Ci sono molte similitudini (se non uguaglianza) tra le ripetizioni
  5. Ci sono alti livelli di certezza sul risultato
Sistemi complessi (come crescere un figlio o gestire un gruppo di persone)
  1. Le formule hanno un’applicazione limitata
  2. Riuscire una volta dà esperienza, ma non garantisce il risultato ripetibile
  3. L’esperienza è necessaria, ma non sufficiente
  4. Ogni persona o gruppo è unico (e cambia nel tempo) nelle caratteristiche, e le relazioni sono fondamentali
  5. Ci sono bassi livelli di certezza sui risultati
Una prima conclusione che si può trarre è che lo stile con cui si affrontano situazioni complicate e complesse non può essere lo stesso.
Mentre per le prime ho una relazione diretta tra causa ed effetto, cosa che mi permette uno stile di monitoraggio e gestione consolidato e abbastanza ripetitivo, per le seconde le indicazioni devono servire a capire i trend e i modelli di comportamento del “sistema” per giurarlo nella direzione giusta tenendo conto che un’azione provocherà sicuramente reazioni che non sono in grado di predire con certezza.
Prossimamente cercherò di illustrare gli stili più appropriati per affrontare situazioni complicate e complesse, sempre cercando di essere molto pratico.

Al ritorno dalla Complexity Management Summer School

Tag

,

Vi risparmio la faccia tra il compatimento e il sarcastico di mio figlio quando gli ho detto un paio di mesi fa: “A cavallo di luglio e agosto vado per dieci giorni a seguire un corso”.

“Spero che ne valga la pena” gli ho risposto, e adesso posso dire che ne valeva proprio la pena. Quindi vorrei condividere l’esperienza della partecipazione alla Complexity Management Summer School.

 Image
Innanzi tutto è stata una fatica fantastica.
Dieci giorni e parecchie notti di una intensità pazzesca, con una batteria di “docenti” e ospiti da favola e una ventina di alunni estremamente “intriganti” per varietà di estrazione: dal fotografo professionista, al direttore d’ospedale, al responsabile della innovazione, all’imprenditore belga, al responsabile dell’Enterprise Architecture di una banca, all’HR, alla Social Responsability, e così via.
I docenti restavano a disposizione per 4-5 giorni di cui 1 e mezzo a fare lezioni, giochi, laboratori e “community” o consulenze personali (anche in team) per il resto del tempo.
Diciamo che ci si poteva “ubriacare” facilmente con le diverse sfaccettature della complessità: l’aspetto filosofico, sociologico, tecnologico, organizzativo sono stati quelli più nettamente emersi durante il “corso”.
Per farla molto breve quello che ho imparato è che c’è un tipo di complessità oggettivamente evidente ma spesso non considerata: la complessità sociale.
Il fatto cioè che in qualsiasi aggregato di persone ognuna è un individuo con una sua visione di sé, degli altri (come genere) e del mondo ai vari livelli che si intersecano (la famiglia, le comunità in cui vive -città, azienda, etc.-) e che porta questo suo “essere e credere” nelle interazioni che ha con gli altri, influenzando con la sola sua presenza il comportamento di ognuna di queste.
Alla faccia del disegnare le organizzazioni con rettangoli e frecce!!
Tenere conto della complessità sociale significa tenere conto di questo aspetto, e quindi essere consapevoli della realtà che il comportamento degli aggregati di persone è largamente impredicibile, quindi occorre guidarlo dolcemente piuttosto che prescrivere. La prescrizione influenza i comportamenti pressoché sempre in modo negativo, e sono veramente pochi i casi -almeno nel knowledge work- in cui una prescrizione viene vista come una indicazione chiara da supportare.
La mia conclusione è che tutte le organizzazioni sono socialmente complesse per definizione e gli stili correnti di gestione (command and control) vengono sopportati ma non supportati, con la conseguenza diretta che le persone si difendono anziché partecipare.
Un po’ di riferimenti sui docenti, per chi avesse interesse a leggere.
Alberto De Toni e, particolarmente didattiche le slide 
Alberto Gandolfi su Google Scholar
Valerio Eletti  con un sacco di belle presentazioni 
e l’ospite “off the records” che ci ha mostrato che è possibile cambiare le organizzazioni:
Beppe Carrella e il suo BClab e il suo eBook scaricabile “Provocazioni Manageriali” 
Chi è interessato a qualche approfondimento, non deve fare altro che chiedere.

Enterprise (Linked) Open Data

Tag

, , , , , ,

WildHorsesHeaderDopo aver letto questo bell’ articolo di Giovanni Meduni e fresco di una stimolante collaborazione nell’ambito dell’International Open Data Day Italia 2013, mi sento portato a pensare che Open Data sia la strada giusta per portare il dato ad uno stadio evolutivo superiore, in cui esso nasca già con una sua dignità ed un diritto/dovere di crescere, aggregarsi ad altri dati ed evolvere all’interno di un ecosistema vivo e aperto di informazioni in cui poter esprimere il suo vero potenziale grazie all’infinita gamma di possibili riusi che ne potrebbero essere fatti. Ma siamo sicuri che ciò valga solo per il Web?

Andiamo oltre
Proviamo a fare subito un piccolo passo avanti e superare la storia del dato aperto. Proviamo cioè ad immaginare cosa potrebbe significare Open Data se il contesto di applicazione non fosse più quello delle sterminate e infinite praterie del West…pardon…del Web. Immaginiamo di liberare i dati nel “giardino di casa” o nel “parco cittadino”, in un ambiente cioè i cui confini siano sempre sufficientemente ampi da non imbrigliare il dato ma non tanto sconfinati da rallentarne e diminuirne l’immediata percezione del cambiamento generato.
Sto pensando all’ Open Data applicato ad un contesto enterprise, in particolare a quelle aziende che per struttura, numero di dipendenti, estensione territoriale e di mercato potremmo chiamare “Big Enterprises“.
Negli ultimi anni, per motivi professionali, mi sono trovato spesso a che fare con problematiche di gestione della conoscenza in contesti molto ampi di grandi gruppi aziendali (principalmente bancari e assicurativi). Mi riferisco in particolare a tutte quelle attività volte a gestire problematiche che vanno sotto il nome di Enterprise Information Management [EIM].

Vi sono contesti specifici dove tali problematiche risultano particolarmente evidenti, come quello della Governance IT e dell’Enterprise Architecture, in cui i responsabili dell’IT, i manager business e i vari CIO, CTO e CEO di questi grandi ecosistemi informativi si accorgono che l’incisività della loro azione passa inesorabilmente per la possibilità di accedere e manipolare le informazioni in maniera nuova, libera da schemi predefiniti e da vincoli tecnologici e con la possibilità di integrare, disgregare e riaggregare (mesh-up) i dati in maniera rapida, naturale e il più possibile dinamica.

L’esperienza sul campo
Per quella che è la mia esperienza,molto spesso i clienti ritengono di non possedere molte delle informazioni necessarie al raggiungimento dei loro obiettivi. Nel 90% dei casi ciò è falso (e forse nel restante 10% non è del tutto vero).
In realtà quello che serve per capire un AS-IS, disegnare un TO-BE e definire una opportuna roadmap, quasi sempre esiste già  ma non si riesce a vedere o ad utilizzare direttamente. Il dato è nascosto, sepolto sotto tonnellate di applicazioni special purpose, imprigionato come una mummia nel ghiaccio dei complessi sistemi informativi dell’azienda, ridondato e aggrovigliato all’interno di innumerevoli database e data warehouse sotto forme diverse, per non parlare dei troppi casi in cui è umiliato ed esiliato all’interno di fogli excel sui desktop delle singole persone.

Il risultato è un ecosistema complicato di dati stagnanti, prigionieri di schemi e viste opportunamente assemblate in dati momenti storici e in alcuni casi poi riadattati forzatamente per ulteriori scopi. Questo è un ecosistema morto!

Un rischio sempre dietro l’angolo
Quando si dimostra che tali informazioni possono essere restituite tramite una non facile operazione chirurgica e di restauro informatico, si corre il rischio di ricadere inesorabilmente nello stesso errore andando a predisporre le basi per un nuovo ecosistema che le reimprigioni per ulteriori ere geologiche.

Proprio per evitare questo rischio credo si potrebbe pensare di introdurre l’illuminante pratica dell’Open Data a livello enterprise. Sarebbe infatti lecito porsi una domanda: se tale pratica nasce per liberare definitivamente il dato e a ridargli nuova linfa vitale e dignità su scala planetaria per quale motivo non dovrebbe poter funzionare su una scala più piccola come quella aziendale?

Un possibile percorso
Ma cosa si dovrebbe fare per rendere operativa tale pratica che potremmo chiamare senza grande sforzo di fantasia “Enterprise (Linked) Open Data“?
Senza voler entrare nei dettagli tecnici proviamo ad elencare una serie di macro step propedeutici all’introduzione della pratica degli Open Data a livello enterprise:

  1. Censimento e definizione della topologia dei dati: quali aree aziendali prendere in considerazione e come organizzare i relativi dati in cataloghi e dataset.
  2. Specificare i formati: .pdf (pessimo), .xls (si può fare di meglio), .csv/tsv(decente), .xml (buono), rdf/owl (optimum!)
  3. Estrazione dei dati dalle fonti individuate nei formati prescelti
  4. Predisposizione di una piattaforma centrale (o federata) di servizi per la gestione dei dati, la loro classificazione, integrazione, ricerca e pubblicazione
  5. Definizione di un processo di lifecycle dei dati aperti
  6. Definizione delle policy di sicurezza e permission di accesso ai dati aperti

Per i più virtuosi
(7.) Volendo completare l’opera ci si può spingere ancora oltre e pubblicare i dati in modalità “Linked Open Data” (LOD) ossia sfruttando tecnologie semantiche come RDF, OWL, URI e SPARQL per dare ai dati una semantica esplicita, formale e renderli naturalmente interconnessi (tramite URL come avviene già per le pagine html), univoci, ricercabili e navigabili. Tutto in un colpo solo! Che meraviglia eh?… Vabbé ma questo è uno step solo per i più virtuosi.

Valore aggiunto
Una volta che i dati saranno così ben organizzati, aperti, classificati, ricercabili e facilmente integrabili fra loro, cosa avremo ottenuto di fatto? Quale potrebbe essere il reale e percepibile valore aggiunto di un tale approccio in ambito aziendale?
Proviamo a stilare un elenco di macro effetti benefici (a breve e a lungo termine):

  • I dati non sarebbero più il mezzo con cui esercitare un potere che normalmente alimenta rischiose pratiche di presidio dei vari domini di competenza all’interno dell’azienda.
  • Sì avrebbe un significativo e drastico calo della necessità di commissionare periodicamente assesment informativi ad aziende di consulenza esterna.
  • Sì avrebbe una considerevole semplificazione nel processo di sviluppo di nuove applicazioni “data-consumer” e di “data-integration”.
  • Semplificazione e gestione trasparente del patrimonio informativo dell’azienda tramite processi strutturati, condivisi e formali come da best practice di EIM.
  • Ottimizzazione dei processi di comunicazione e condivisione delle informazioni fra le diverse aree aziendali.

…e ne avrei altri…ma provate a pensarci e vedrete che vi verranno in mente anche a voi.

L’hai fatta troppo facile!
Ho sicuramente e volutamente semplificato il tutto perchè l’obiettivo di questo post non era tanto quello di descrivere una soluzione basata su Open Data ma piuttosto di proporre tale approccio in un contesto diverso da quello canonico del web e provare quindi ad immaginarne quali ne potrebbero essere gli immediati effetti benefici.
Per esperienza sono quindi consapevole che nella pratica vi sarebbero diverse problematiche con cui ci si scontrerebbe, prima fra tutte e non banale la sensibilizzazione del cliente stesso in merito a tali pratiche di EIM, la difficoltà di censire i dati rispetto alle varie sotto strutture aziendali, la reticenza dei vari responsabili a condividere i propri dati e la necessità imprescindibile di definire delle politiche di sicurezza precise sugli accessi ai dati.
Il mio ottimismo però (qualcuno direbbe “sei giovane!“) mi porta a pensare che, se è vero che l’Open Data ultimamente sta diventando una realtà in un campo così ostico e per sua natura inerziale come la PA Italiana, beh allora mi sento abbastanza confidente che tutte le possibili problematiche appena esposte possano essere superate in un ambito come quello delle grandi aziende (che dovrebbe essere) più portato ad ottimizzare e innovare.

Think positive…and open!

– MATTEO BUSANELLI –
mbusanelli(AT)imolinfo.it

“Come possono gli open data rivoluzionare gli spostamenti ferroviari in Gran Bretagna?”

Tag

,

Ho assistito oggi, 01/02/2013, a una lecture presso ODI, Open Data Institute, istituto, appunto, fondato a Londra nel corso del 2012 con lo scopo di promuovere l’evoluzione degli open data al fine di ricavarne valore dal punto di vista economico, ambientale e sociale.

ODI propone con cadenza settimanale incontri come quello odierno, gratuiti e per un numero limitato di partecipanti, una trentina circa, con il doppio fine sia di trattare gli argomenti indicati che di divulgare la notizia della propria presenza nelle comunità di interesse. Maggiori informazioni in merito sono reperibili nella sezione FAQ e nel calendario del relativo Web site.

La mia visita aveva innanzitutto la natura di primo approccio e lo scopo di osservare l’istituto in termini generali, nel senso di non strettamente legati alla lecture a cui ho assistito. In tale ottica, l’atteggiamento degli organizzatori, tra loro stessi e rispetto ai visitatori, è caratterizzato da:

  • apertura (“we are open by default” attaccato alle pareti con esplicito riferimento non solo ai dati);
  • ricerca del dialogo;
  • facilitazione delle connessioni e collaborazioni;
  • condivisione delle risorse (nome rete e password per l’accesso al WiFi interno sono facilmente individuabili anche nella sala adibita alla lecture, caffè e thé sono gratuiti, e così via).

In termini particolari, quindi scendendo nel dettaglio della lecture (il cui titolo originale era “How can Open Data Revolutionise your Rail Travel?”), e a prescindere dai dati tecnici, non rilevanti per Gruppo Imola, è possibile individuare alcuni output che ritengo valgano per qualunque contesto in cui gli open data si vogliano considerare, esplicitati dal citato relatore o da me dedotti:

  • dove c’è un finanziamento pubblico (cioè proveniente dalla tassazione dei cittadini) devono esserci open data, cioè tali dati devono essere disponbili. Se i dati non sono disponibli è lecito anzi necessario lottare, tramite ricerca e dimostrazioni tecnologiche dei conseguenti vantaggi, per far sì che vengano resi disponibili;
  • si percepisce una funzione sociale degli open data, al fine di preservare il singolo cittadino dal possibile monopolio economico di chi possiede i dati e non li rende disponibili. Le possibilità offerta dagli open data e la loro efficacia in questo senso sono innegabili;
  • al fine di comprendere qualunque set di open data è innanzitutto necessario capire l’istituzione (o l’istituto) che li produce.

ODI ha inviato a oguno dei partecipanti le slide utilizzate nel corso della lecture e l’audio della stessa, entrambi in lingua inglese.

ODI_01022013_01

A livello di considerazioni personali l’esperienza è stata più che positiva, sia in termini dell’istituto nel suo complesso che grazie alla preparazione, alle idee e all’atteggiamento del relatore, Jonathan Raper di Placr Ltd, il quale è riuscito, per i 28 minuti del suo monologo, a far in modo che lo stato delle ferrovie in Gran Bretagna diventasse la mia priorità più alta.

Per i motivi appena citati ho già provveduto all’iscrizione a una ulteriore lecture, in data 22/02/2013, dal titolo “Building an open world“.

Matteo Manzini (mmanzini[at]imolinfo.it)

I perché sulle architetture

Questo post nasce da uno spunto (un video) che mi fa ricordare i dibattiti a cui partecipo nelle aziende che frequento.

I dibattiti, le riunioni, le chiacchiere informali a cui mi riferisco riguardano la necessità, le motivazioni, i vantaggi di avere un Gruppo Architetture formalizzato e operante, cosa fa e come lo fa, che ruolo deve avere, che relazioni con gli altri gruppi deve avere, che potere deve avere e a chi deve fare capo, se si deve occupare solo di IT o anche d’altro, …. e tutto ciò che si può collegare a questo tema.

Le situazioni e il tenore degli argomenti varia moltissimo da azienda a azienda, e in alcune occasioni i ragionamenti sfociano in autentica gazzarra ideologica; dipende molto dai partecipanti e dalla cultura e mentalità dell’azienda e degli individui. Quasi mai se ne esce sereni e migliori, perché il dibattito ristagna quasi sempre su domande di questo tipo, in modo dipendente da situazione e maturità dell’azienda:

  • che cosa è e perché serve avere un gruppo architetture?
  • perché delle architetture non basta che se ne occupino i progetti (NDR come si è sempre fatto, cioè non occupandosene quasi mai se non a livello di tecnologie da scegliere)?
  • ma perché ci deve essere qualcuno a cui raccontare cosa fa un progetto “al suo interno”?
  • ma gli architetti si devono occupare solo della parte IT o anche della organizzazione (cioè del modo in cui si svolgono le attività – nell’IT e/o anche fuori-)?
  • il modello architetturale SOA è meglio di un modello a Silos e perché?
    • Tutte queste domande sono lecite e al tempo stesso le risposte, quali esse siano, sono indimostrabili matematicamente quindi insoddisfacenti per chi è prevenuto. Ed è la quasi totalità dei casi.

      La constatazione pratica è che chi non vuole convincersi di un cambiamento per sue valide ragioni individuali ha tutte le possibilità di giustificare il suo atteggiamento, e nessun argomento, se non dimostrabile matematicamente, lo convincerà per il solo fatto che non vuole essere convinto.

      Lo spunto che mi ha fatto decidere di scrivere è un video che ha scatenato un dibattito tra la tribù che sostiene che l’Enterprise Architecture è una disciplina a livello aziendale e quella che sostiene che è una disciplina IT e a quella parte deve rimanere limitata.

      Questo video mi piace perché è efficace per tutti quelli che non hanno dimestichezza con la globalità di un IT e non hanno presente la “complessità emergente” che negli anni sta caratterizzano i Sistemi Informativi. Spesso questo connubio porta alla sottovalutazione dell’impatto di un singolo progetto sul tutto, visto che la prospettiva da cui il progetto guarda le cose è individuale, ma il video sottolinea bene l’importanza di collegare una decisione al tutto e non solo al singolo obiettivo.

      Ci sono però altri aspetti che non condivido affatto:

    • il video ha un titolo errato, in quanto quella di cui si parla non è come il titolo farebbe pensare Enterprise Architecture bensì IT Architecture
    • viene trattato solo un aspetto, la riduzione o la non generazione di inutile complessità, che non è certo la sola ragione per cui l’architettura deve esistere: quindi rischia di essere riduttivo e deviante
      • Al di là di questi “difetti” lo considero uno strumento di consapevolezza probabilmente efficace in qualche caso, quindi meritevole di essere diffuso.

        Eccolo.

        Disagreement rather than consensus

        Tag

        , , ,

        To make more effective decisions, develop disagreement rather than consensus.

        Peter F. Drucker

        Introduzione

        Pochi giorni fa ho iniziato una discussione su Linkedin (Vedi gruppo Strategie competitive e modelli di business) che partiva da questa citazione.

        L’idea l’avevo in testa da qualche mese, perché sulla lavagna del mio capo compare una scritta simile:
        “Non stai facendo al meglio il tuo lavoro se non sei in disaccordo con me almeno una volta al giorno”.

        Ci riflettevo anche perché avevo la necessità di spiegare l’azienda ad alcuni colleghi più giovani,
        e perché abbiamo un’organizzazione orizzontale: a mio parere, più difficile spiegare di quelle classiche.

        Non volevo però fare un “auto citazione”, ma volevo piuttosto qualcosa che venisse dalla letteratura, ma senza dover spiegare Viable System Model [VSM], System Thinking [ST] o la Cibernetica [KYB].

        Nella discussione facevo notare come la critica fosse alla base di una buona decisione,
        mentre spesso siamo di fronte a dei modelli organizzativi a “pensiero unico”.
        Ovvero modelli in cui il capo ha ragione per definizione e nessuno osa contraddirlo,
        pena l’esclusione dai ruoli che contano e derisione da parte dei colleghi.

        Costruire invece di distruggere

        Nella discussione ho sottolineato una differenza fra critica e critica costruttiva,
        però mi hanno fatto notare che tale differenza non esiste, in quanto o si trova una soluzione che mette insieme i pezzi, oppure si aprono due strade differenti.

        Io, invece, ritengo che esistano delle critiche fatte per distruggere e altre fatte per costruire.
        In particolare mi lascia perplesso l’idea che alla fine della discussione, se non si trova un accordo, allora si aprono delle strade alternative.

        Trovo questa situazione estrema e in generale da scongiurare, perché la tensione in azienda sarebbe forte e sarebbero a rischio anche i rapporti umani presenti, oltre alla qualità percepita dal cliente e il fatturato.

        Inoltre ritengo che la critica non debba proprio essere fatta con l’obiettivo di intraprendere una strada a scapito di quella originalmente proposta, ma deve essere fatta prima di scegliere una strada, e per ponderare la decisione in maniera più profonda.

        Credo cioè che la critica serva per far affiorare i punti di vista e le informazioni meno evidenti o addirittura sconosciute, e non certo per mettere in discussione la decisione per un particolare interesse.

        Come si sviluppa il dissenso

        Sviluppare il dissenso è tutt’altro che facile.

        Da noi lo si fa introducendo persone con caratteri e obiettivi personali molto diversi fra loro.

        Non esiste una gerarchia, ma un responsabile del progetto che ha l’obbligo di coniugare
        l’interesse del progetto con quello dell’azienda … e non solo quello del progetto come se fosse un’entità isolata rispetto all’azienda stessa.

        Inoltre i responsabili di progetto cambiano spesso e quindi tutti si ritrovano con diversi ruoli
        su diverse iniziative su diversi clienti in tempi abbastanza ravvicinati.

        In un contesto del genere il dissenso è abbastanza fisiologico come l’abitudine al cambiamento.

        Dico fisiologico, ma certamente non indolore 🙂

        A volte si rischia molta confusione e in qualche caso si sente addirittura parlare di disorganizzazione.

        E’ per questo che è importante la presenza di un responsabile.
        Dando l’effettiva connotazione al termine, esso non è il capo ma colui che si fa carico
        di trovare un equilibrio tra le tante posizioni presenti e di spiegare le sue decisioni.

        Non può ignorare l’opinione di qualcuno o addirittura soffocare le opinioni, o quanto meno non è nel suo interesse, perché a breve potrebbe cedere il suo ruolo e vedersi smontate le sue teorie (e i suoi giochetti).

        Voi cercate il dissenso ? e come ?

        Carriera

        In questo tipo di organizzazioni è anche difficile parlare di carriera, almeno nella sua percezione classica.

        Non ci sono poltrone su cui sedersi in eterno, non sei giudicato in base al numero dei tuoi subalterni, i numeri dei tuoi progetti sono irrilevanti rispetto a quelli dell’azienda.

        Non ho nemmeno una risposta inattaccabile su cosa vuol dire carriera in un’organizzazione orizzontale.

        Ti piace quello che fai ?
        La tua parola viene riconosciuta come importante ?
        Ci sono sempre cose nuove da imparare ?
        Condividi le responsabilità e non ti senti solo ?
        Non sei mai il colpevole ma uno di quelli che devono trovare la soluzione ?
        Non sei escluso dai temi importanti ?

        Non so se hai fatto carriera e non so se è merito dell’organizzazione, ma andare al lavoro potrebbe non essere così brutto 🙂

        E voi come vi trovate al lavoro ?
        E a cosa date il merito o la colpa ?

        Referenze

        [VSM]
        http://en.wikipedia.org/wiki/Viable_system_model

        [ST]
        http://en.wikipedia.org/wiki/Systems_thinking

        [KYB]
        http://it.wikipedia.org/wiki/Cibernetica

        [Gruppo Imola]
        http://www.linkedin.com/company/imola-informatica

        [Mirco Casoni]
        it.linkedin.com/in/mcasoni

        Per tentare un salto di qualità

        Esco da un paio di settimane di incontri e tavoli di brainstorming con manager IT di vari livelli riguardanti i loro obiettivi e desideri per il prossimo anno, i piani che li vedono coinvolti, le difficoltà che vivono e che rendono problematica la realizzazione dei piani.

        Vorrei condividere alcune riflessioni sintetiche sull’aria che si respira in molte delle aziende che frequento, e tentare alcune domande.

        Lo scenario che spesso (troppo) mi viene raccontato è un mix di vari archetipi assai noti nelle organizzazioni tecniche e non, che vado di seguito ad elencare.

        Fantasy world

        Di fronte ad un problema, una persona si muove a intuito. Spesso i manager non hanno una idea diretta del problema e sulla base di informazioni di seconda mano, parziali e ritenute poco affidabili, devono comunque decidere. Per cui si costruiscono un modello della realtà che secondo loro ha un senso e giustifica le azioni che vogliono intraprendere.

        Baronies

        Le Baronie sono un pessimo punto di partenza per creare sinergie, essendo straordinariamente resistenti ad ogni cambiamento che non sia legato ad un interesse individuale. Cercano di accaparrarsi risorse di ogni tipo, praticano la competizione fratricida e rifuggono volontariamente la condivisione di informazioni e conoscenza.

        Here be Dragons

        Strategie e/o attività vengono ostacolate da disturbi dell’ambiente che non erano per nulla inattesi e imprevedibili, ma che non erano state volontariamente evidenziate e preannunciate.

        Bean Counters

        Il sintomo più frequente consiste in una fissazione ossessiva all’efficienza e al taglio dei costi. Lo stile manageriale dei Bean Counter vede il futuro come semplice estensione (prolungamento) del passato ed il cambiamento come “fare più o meno quello che abbiamo sempre fatto”. Per cui si può migliorare, ma solo facendo meglio quello che si è sempre fatto, nel modo in cui lo si è sempre fatto. Frequentemente gli obiettivi sono espressi da miglioramenti nei grandi numeri, senza preoccuparsi delle azioni reali che vanno fatte e delle loro conseguenze.

        Silo Decision

        E’ dovuto a processi decisionali altamente politicizzati dovuti a fazioni contrapposte. Ne risultano decisioni che una parte del management non condivide o perché non sono stati coinvolti o perché le considerano impraticabili. Queste due cause sono interdipendenti: vengono escussi se sembra che non condividano e non condividono perché sono stati esclusi. Questo modo di procedere produce strategie che falliscono e non sono attuabili perché vengono ignorati i problemi chiave.

        Rooster fight

        La presenza più o meno spinta di questi archetipi organizzativi ha conseguenze evidenti: organizzazioni rissose, politiche, poco efficienti, sprecone e inconcludenti, con la maggior parte delle persone frustrate e superoccupate, che producono risultati veramente modesti rispetto alle potenzialità, ma a prezzo di grande fatica soprattutto psicologica.

        A questo punto le mie domande:

        Può l’Enterprise Architecture fare qualcosa di buono per queste situazioni?

        Se no, chi se ne deve occupare?

        C’è qualcuno che lo ha posto (o se lo è posto) come obiettivo?

        C’è qualcuno che ci è riuscito, con che “cappello” e come?

        C’è qualcuno a cui interessa discuterne?

        C’è qualcuno a cui interessa migliorare (pur nei limiti e nei perimetri di influenza) o no?

        Le motivazioni come motore del team di lavoro

        Gestire un team apre spunti di riflessione non solo sulle modalità di soddisfacimento degli obiettivi di progetto, ma anche su quelli personali del team.

        Da qui, è compito del referente di progetto capire le motivazioni del proprio gruppo e di ciascun singolo, ponendosi l’obiettivo di soddisfarli, perché questo si coniuga con l’obiettivo di progetto, perché se il team è motivato farà meglio il suo lavoro!

        Partirei da una distinzione fondamentale delle motivazioni: intrinseche ed estrinseche.

        Le motivazioni intrinseche sono quelle naturali, basate sulla curiosità e sul il bisogno di esplorare l’ambiente alla ricerca di nuove informazioni e soluzioni. Importante per la motivazione intrinseca è, inoltre, la padronanza, cioè il bisogno di sentirsi sempre più competenti.

        Le motivazioni estrinseche sono quelle dettate da un impegno in un’attività per scopi che sono estrinseci all’attività stessa, quali, ad esempio, ricevere lodi, riconoscimenti, buoni voti o per evitare situazioni spiacevoli.

        Image

        Notate queste caratteristiche trai propri membri del team, non sarà facile trovare il giusto compromesso tra le due; spingiamo su quelle intrinseche che mi ispirano parecchio.

        La Self-determination theory (Deci, Ryan 2004) propone queste caratteristiche intrinseche:

        Image

        Competence: ciò che una persona dimostra di saper fare (anche intellettualmente) in modo efficace, in relazione ad un determinato obiettivo, compito o attività in un determinato ambito disciplinare o professionale [ Centro studi Erickson].

        Autonomy: non è da intendere come il dover sapere fare tutto da soli, ma consiste nella capacità di saper ricavare le giuste informazioni dai giusti interlocutori, necessarie a portare avanti il proprio lavoro.

        Relatedness: la capacità di sapersi relazionare non solo coi propri colleghi ma anche coi propri clienti,  al fine di riuscire a soddisfare gli obiettivi business e commerciali.

        Notare come queste 3 caratteristiche siano strettamente correlate tra loro.

        Da queste 3 caratteristiche sono state formulate altre teorie basate sulle motivazioni, sino ad arrivare alla definizione di quelli che sono i 10 Desideri dei membri del team (di cui 3 sono quelli sopra descritti):

        Image

        Feel accepted: sentirsi parte integrante del team, mediante la collaborazione con tutti e la condivisione delle proprie esperienze e del proprio background professionale;

        Curiosity: trovare, anche di fronte ad un’attività noiosa, qualcosa di nuovo che possa stimolare la propria curiosità;

        Honor: la squadra deve proporre le proprie regole di gioco (condivise dal referente), così saranno più facili da seguire;

        Purpose: avere sempre obiettivi di breve, medio e lungo termine, non solo circoscritti al perimetro dell’attività che si sta portando avanti in quel periodo;

        Order: recepire le norme aziendali sufficienti a consentire il buon vivere all’interno della propria organizzazione;

        Influence: percepire ciò che sta accadendo intorno a noi, ascoltando ciò che hanno da dire gli altri e aiutarli col nostro contributo e col nostro carisma (avendo la fortuna di averlo;))

        Status: capire il proprio valore all’interno dell’organizzazione.