You are currently browsing the tag archive for the ‘Esperienza’ tag.

Sono appena tornato da un viaggio di lavoro in un paese arabo, dove ho tenuto un SOA Discovery Workshop. E’ stata un’esperienza che mi ha fatto riflettere sui vantaggi – che non sempre ho tenuto presenti – derivanti dal fatto di lavorare per una multinazionale dell’informatica.

Non mi riferisco ai vantaggi ovvii, come essere costantemente proiettati sulla frontiera della tecnologia e delle nuove tendenze nel campo dell’IT oppure essere a contatto con le diverse realtà costituite da clienti che sono sempre grandi aziende, contenenti a loro volta una varietà di culture, di tecnologie e di personaggi. Negli otto anni che ho passato finora in BEA mi sono trovato davanti a molte sfide professionali e umane. Molte volte sono andato oltre quello che ritenevo il limite delle mie conoscenze e delle mie capacità, spesso ottenendo risultati che mi hanno fatto crescere in esperienza e consapevolezza. Dopo i primi anni in cui ero molto focalizzato sulla tecnologia, ultimamente sono stato affascinato dai rapporti tra le persone: ho studiato con attenzione la capacità di comunicare, i rapporti di forza, l’abilità diplomatica, il rispetto per le posizioni differenti dalla propria, l’efficacia nel convincere gli altri. Ho incontrato tante persone da prendere come esempio e altri che erano la dimostrazione vivente degli errori nella comunicazione. Io stesso a volte ho sbagliato approccio di fronte a opinioni discordanti.

Certe volte le persone, pur di affermare il proprio punto di vista su quello degli altri, sprecano ottime occasioni per mettersi d’accordo su un punto che garantisce la soddisfazione propria e quella dell’interlocutore: quello che viene definito un “win-win“. Spesso chi non fa parte della propria squadra, della propria fazione o non condivide la nostra fede viene considerato “l’altro”, con cui il conflitto è inevitabile.

Lunedì scorso ho avuto una sensazione diversa anzi, citando John Belushi, “ho visto la luce”. Ero in volo su un panorama stupendo, e il cielo era colorato da un tramonto difficile da descrivere (sono un ingegnere con tendenze sociologiche, non ancora un poeta…). Sotto di me le montagne di un paese straniero dove, in mezzo alla neve che per molti chilometri copriva tutto, potevo vedere le luci di una piccola città e un serpente di luci che la raggiungeva: peccato non avere la macchina fotografica… Mentre stavo pensando “deve essere una località di sport invernali, come ce ne sono da noi: allora le hanno anche loro…” mi sono detto: “ma chi sono i loro e i noi?”. Di fronte alla bellezza della natura e alla considerazione che il genere umano è un ospite sulla Terra (forse influenzato anche dal fatto che stavo ascoltando Starway to heaven dei Led Zeppelin e avevo appena finito di leggere Prelude to foundation di Asimov) mi sono reso conto che noi e loro eravamo la stessa cosa. Popoli differenti, nonostante le lingue e le religioni, sono sempre ospiti dello stesso mondo e apprezzano la stessa bellezza (e contribuiscono ugualmente alla sua rovina). A parte piccoli o grandi egoismi, tutti hanno bisogno degli altri e si sentirebbero soli se non potessero confrontarsi con loro. Credo che abbiamo tutti da imparare dal confronto con qualcuno che può dare, su quello che pensiamo o che facciamo, una visione complementare alla nostra. Se ci troviamo d’accordo ne usciamo rafforzati e più sicuri, se no potremmo anche scoprire di aver trascurato qualche aspetto importante e trarne comunque un vantaggio; a volte invece, dovendo arrivare a un compromesso perchè nessuno dei due riesce a convincere pienamente l’altro, si può avere la soddisfazione di aver evitato un conflitto che avrebbe fatto maggiori danni.

Ovviamente questo discorso vale su piani differenti: partendo da considerazioni sull’umanità intera si può arrivare alla propria famiglia oppure ai rapporti di lavoro: tra colleghi, tra cliente e fornitore, tra concorrenti. A volte la volontà di collaborare per l’interesse comune e quella di accettare un diverso punto di vista consentono risultati che sarebbero irraggiungibili se fossimo concentrati solo nel dimostrare di essere più intelligenti o più bravi.Per un architetto, che deve garantire per definizione l’armonia dell’insieme, è una bella lezione (non che io abbia sempre cercato di imporre la mia visione, anzi è da un po’ di tempo che stavo lavorando sulle capacità di mediazione: però sicuramente quelli che mi conoscono sanno che non sono uno tenero…).Giusto per concludere: perchè ho voluto raccontarvi queste considerazioni? Perchè sicuramente, prima o poi, io e qualcuno di voi ci incontreremo per motivi di lavoro… magari ci troveremo in disaccordo, ma spero che aver condiviso queste considerazioni ci aiuterà a trovare una soluzione che vada bene a entrambi 🙂

L’articolo di Paul Callahan Top 10 mistakes when implementing SOA projects su Zdnet è molto chiaro e personalmente condivido tutto il suo contenuto. Ripetere gli stessi concetti, per quanto possa sentirli anche miei, sarebbe inutile e potrebbe dare l’impressione di attribuirsi il lavoro degli altri…

Comunque voglio aggiungere qualche considerazione, raggruppandole in sei categorie – il che non implica necessariamente che io ne sappia meno di Paul che elenca 10 argomenti 🙂 – per dare il mio contributo basato sull’esperienza personale. Sono solo spunti di discussione, perchè non possiamo dilungarci su questo blog: sarei in ogni caso felice di approfondire l’argomento con chiunque sia interessato a condividere le proprie esperienze, quindi scrivete i vostri commenti o mandateci una email, ci farebbe piacere.

Tecnologia

Spesso l’adozione di SOA viene interpretata come un’iniziativa meramente tecnologica e si concentrano (a volte si sprecano) molto tempo e molte risorse nel definire puntigliosamente le caratteristiche dei prodotti che si dovranno usare per coprire ogni eventuale necessità futura.

In questo modo l’avvio di un progetto richiede lungo tempo, e si guardano da lontano quelli che sono partiti in modo più pragmatico. Pur essendo uno dei sostenitori di un’architettura di riferimento ben definita (basata su tutti prodotti BEA o meno, va bene lo stesso: e poi un’architettura non è fatta di soli prodotti) sostengo che si può anche procedere per iterazioni successive, cominciando a sperimentare e facendo tesoro dell’esperienza; definendo una visione di ampio respiro mentre si implementano le cose semplici che sono a portata di mano. Pensando in modo strategico e agendo contemporaneamente in modo tattico. Programmando una roadmap che sia oggettivamente realizzabile.

Tra l’altro, a volte la tecnologia di cui si dispone è già sufficiente per iniziare la realizzazione di quello che serve: ho visto fior di architetture realizzate utilizzando Tuxedo o il CICS, quindi non sempre la tecnologia più attuale è necessaria per ogni progetto.

Governance

Molte decisioni devono essere prese nella realizzazione di un programma SOA di livello enterprise:

  • Chi definisce e modifica i servizi?
  • A chi è consentito l’uso dei servizi?
  • Quale livello di servizio dobbiamo fornire?
  • Chi paga per la costruzione del servizio?
  • Chi paga per l’infrastruttura per i servizi?
  • Come devono essere gestite le interdipendenze tra i servizi?
  • Come esporre i servizi all’esterno?

Si devono fare anche queste, ed altre, considerazioni:

  • Struttura organizzativa
  • Finanziamento
  • Processi Operativi e strumenti di supporto
  • Standard
  • Competenze
  • Principi Guida
  • Change Management

Non ci si può illudere di non dover affrontare questi argomenti, sicuramente quando sono spinosi: quindi metteteli in conto dall’inizio. In ogni azienda esistono posizioni di potere che possono essere intaccate da una strategia basata sulla condivisione e sulla collaborazione: oltre a una rivoluzione culturale servono regole (rispettate) che consentano all’intero sistema di funzionare, possibilmente con il coinvolgimento attivo di tutti gli attori.

Esperienza

A volte ci si fa prendere dall’entusiasmo, avendo intuito (o anche studiato in modo approfondito) i benefici che si possono ottenere da un approccio SOA. Quindi si parte in quarta: si studia, si organizza, si acquista quello che serve e si inizia un bel progetto.

Se però non si ha esperienza di iniative di questa portata, sia dal punto di vista di una architettura enterprise che da quello della famosa governance, si rischia di ritrovarsi in mezzo a una palude.

I tempi di realizzazione, l’integrazione, il budget o il change management possono diventare dei problemi in corso d’opera. A volte si costruisce un bel prototipo, che però non ha le caratteristiche sufficienti per la messa in esercizio; oppure si realizza l’infrastruttura perfetta, ma nessuno ha un servizio utile da metterci sopra.

Vale quindi la pena di confrontarsi con qualcuno che abbia già intrapreso (e portato avanti con successo) lo spesso percorso, per fare tesoro della sua esperienza e impostare il proprio lavoro nel modo migliore.

Consiglio di parlare con project manager, program manager e architetti che abbiano già realizzato progetti SOA reali per farsi raccontare quali difficoltà hanno incontrato e come le hanno eventualmente risolte. Tra questi potete considerare colleghi che hanno il vostro stesso ruolo in altre aziende, consulenti che lavorano per i system integrator o i software vendor, tra cui ovviamente BEA. Mi raccomando però di verificare le credenziali dei sedicenti esperti, perchè SOA è sulla bocca di tutti e il mondo è pieno di “enterprice architett”.

Iniziativa IT senza partnership con il business

Se la divisione IT di un azienda intraprende un’iniziativa SOA in modo autonomo, di solito lo fa per uno di questi motivi:

  • va di moda, quindi se gli altri lo fanno un motivo ci sarà
  • è moderno, quindi se lo facciamo possiamo metterci in evidenza come innovatori
  • possiamo chiedere una quota di budget per rinnovare le nostre infrastrutture.

E’ invece consigliabile che l’inizio del progetto derivi da un’iniziativa condivisa con i responsabili del business dell’azienda: a seconda del settore, con la produzione, la logistica, il marketing, il demand management.

Se l’iniziativa è fine a se stessa, non produrrà un valore per l’azienda. Non avrà un ROI dimostrabile e non darà lustro ai suoi responsabili. Se invece è condivisa con chi può beneficiare dei suoi risultati in termini di fatturato, dimostrerà di portare vantaggi al business. E’ essenziale un sistema di metriche per dimostrare in modo quantitativo il vantaggio generato. Ma soprattutto è necessario che ogni attività sia mirata alla soluzione di un reale problema che gli utenti di business percepiscono nella loro attività. Se per esempio un processo di vendita richiede troppo tempo, ridurne la durata ottimizzando il processo (eliminando attività manuali, per esempio) può avere effetto sul flusso di cassa. Rendere la produzione più efficiente può diminuire l’immobilizzo di capitale e le spese per la logistica. L’IT dovrebbe imparare a parlare lo stesso linguaggio del business e a interpretarne le necessità (condividendole in modo esplicito ed evitando assunzioni che potrebbero non essere condivise).

Mancanza di pragmatismo

Tra l’altro, la condivisione di una roadmap può evitare che si creino aspettative ingiustificate o, peggio, che non ci siano aspettative. Rendere visibili i risultati ottenuti nelle fasi intermedie della roadmap, secondo quanto pianificato, garantisce il supporto degli sponsor di business e non fa venire meno il sostegno negli eventuali momenti in cui il progetto incontra dei problemi. Per questo motivo bisogna assolutamente evitare approcci di tipo Big Bang, in cui risultati eclatanti vengono promessi alla fine di un arco di tempo troppo lungo: si potrebbe non arrivare mai a dimostrarli…

La figura seguente mostra che – a seconda della situazione che fa nascere l’iniziativa SOA – è opportuno organizzarsi in modo differente: la roadmap conterrà azioni adeguate alla situazione e nella sequenza più opportuna.

entry points

 

Comunicazione

  • Marketing interno: come detto nell’introduzione, occorre definire un piano strategico e realizzarlo in modo tattico. E’ importante che l’azienda cominci presto ad apprezzare i risultati, per creare un circuito virtuoso intorno all’iniziativa SOA.
  • Riuso degli asset nei progetti: se si realizzano dei servizi utili ma pochi ne conoscono l’esistenza, probabilmente il vantaggio del riuso sarà limitato. Conviene mettere a punto una strategia di comunicazione e gli strumenti a supporto (service repository e/o un portale intranet, newsletter, eventi periodici…).
  • Demand management: dare a chi si interfaccia con il business la visibilità degli asset disponibili (possono nascere nuove idee dalla conoscenza dei servizi esistenti) o la possibilità di esprimere i requisiti in modo da iniziare il ciclo di vita dei servizi (o delle applicazioni composite): il repository è sempre utile.
  • Diffusione della cultura della condivisione: le modalità dipendono dal contesto aziendale, ma questa attività è quanto mai necessaria.

Attenzione!

Questo sito non è piu' aggiornato. Vieni a trovarci sul nuovo Caffe' con BEA

Disclaimer

I post su questo blog rappresentano i pensieri personali dei singoli autori e non rappresentano le posizioni ufficiali di BEA Systems. Se scrivete commenti, essi saranno rivolti solo ai singoli autori e non a BEA Systems. Le immagini ed i filmati possono essere tratti da Internet: qualore violassero eventuali diritti di autore, segnalatelo subito a pfurini@bea.com.