Archive for Enterprise 2.0

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 può prendere dalla letteratura, ma secondo me rendono bene l’idea.
Uso alcuni esempi tipici per tradurre in pratica:
COMPLICATO: montare un mobile dell’IKEA, mandare un razzo sulla luna, smontare e rimontare un orologio, costruire una barca.
La complicazione può venire la 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 a una risoluzione.
COMPLESSO: crescere bene un figlio, fare un piano strategico -che funzioni-, gestire un gruppo di persone, fare un progetto software grosso che non ho mai fatto prima, gestire una azienda -o l’IT di una azienda-.
Cioè 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 una 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 una 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)
Le formule sono critiche e necessarie
Riuscire una volta garantisce che anche la prossima riuscirà
Servono livelli di esperienza adeguati nei diversi campi coinvolti
Ci sono molte similitudini (se non uguaglianza) tra le ripetizioni
Ci sono alti livelli di certezza sul risultato
Sistemi complessi (come crescere un figlio o gestire un gruppo di persone)
Le formule hanno una applicazione limitata
Riuscire una volta dà esperienza ma non garantisce il risultato ripetibile
L’esperienza è necessaria ma non sufficiente
Ogni persona o gruppo è unico (e cambia nel tempo) nelle caratteristiche, e le relazioni sono fondamentali
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 una 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.
Advertisements

Comments (1)

Join Me at BrainStormCentral.org!

Join Me at BrainStormCentral.org!

Leave a Comment

I Key-point del Semantic Web di oggi

Prendo spunto da una intervista a Tim Berners Lee fatta da un giornalista di Talis, per commentare alcune frasi sparse estratte dal transcript e raccordarlo con le nostre attivita’ sul Semantic Web.

Dal transcript dell’intervista del 7 febbraio 2008 a Tim Berners Lee da parte di Paul Miller di Talis.

TBL chiarisce innanzi tutto il campo di azione del Semantic Web, che viene spesso visto come “estrazione di concetti dai testi”, cosa vera ma non rappresentativa ne’ esaustiva, ed indica che l’associare i dati (testi o dati nel senso piu’ largo) ai concetti  chiave di un’azienda o di un mondo piu’ largo puo’ essere utile e praticabile con profitto in moltissime situazioni diverse per scopi diversi. Cito:

“I think the Semantic Web is such a broad set of technologies and is going to do so many different things for different people. It is really difficult to put it on one thing. What are the steps necessary right now for the life sciences community to be able to use it for their data about proteins is probably different from which steps do we need to be able to get interoperability between repositories of library data and museum data.”
C’e’ poi una frase che mi fa particolarmente felice, perche’ conferma la visione che in Gruppoimola abbiamo sempre avuto delle tecnologie semantiche, che abbiamo interpretato come un vantaggio immediato nell’integrazione intelligente di forme diverse di dati, che permette di integrare dati da fonti diverse secondo una logica comune. Abbiamo usato queste tecnologie per integrare dati provenienti da repository diversi (file system, WebDav, blog, wiki, database) e permetterne navigazione, ricerca, elaborazione e modifica in ambienti diversi da quelli in cui i dati risiedono fisicamente, come ad esempio applicazioni e portali. Ecco la frase:

“So the Semantic Web is about integration, it is like getting power when you use the data, it is giving people in the company the ability to do queries across the huge amounts of data the company has.”
Si accusa poi di un errore nella comunicazione riguardo a cosa il Semantic Web sia, dicendo che sarebbe stato molto piu’ veloce da comprendere se avesse detto che era un approccio per la “enterprise and intra-enterprise data integration” , che e’ esattamente la visione che abbiamo praticato da quattro anni a questa parte:

“….I think, that really what we have… the message has been… it was looking too far into the future. ….
… the gain from the Semantic Web comes much before that. So maybe we should have written about enterprise and intra-enterprise data integration and scientific data integration. So, I think, data integration is the name of the game. That’s happening, it’s showing benefits. Public data as well; public data is happening and it is providing the fodder for all kinds of mashups.
So, what we should realize is that the return on investment will come much earlier when we just have got this interoperable data that we can query over.”
E alla domanda di che libro dovrebbe scrivere ora, dopo la strada gia’ fatta dalle tecnologie semantiche, cioe’ di quale e’ l’argomento da fissare e organizzare, dimostra di nuovo di essere sui nostri stessi binari, parlando esplicitamete di architettura con cui il Semantic Web si deve integrare con il resto dell’esistente:

“I would like to write a whole bunch of technical books about actually practically how to do Semantic Web things. I’d like to write a book about Semantic Web Architecture. And I’d like to write a book sort of painting the path for people in the industry, because I get a lot of questions along the lines of “OK, I read the specs, OK, but here I am, I am the CIO of a company, what does it mean for us now, what should we do?””
Non casualmente ci siamo gia’ occupati di questo argomento e ne parliamo al JavaOne.
Il tema e’ una architettura standard di integrazione per produrre metadati e dati semantici al fine di produrre semantic web e semantic integration.

TBL enfatizza piu’ volte che non vanno creati nuovi dati in forme nuove per avere il Semantic Web: il modo di trarre vantaggio dal Semantic Web c’e’ gia’ adesso e sta nell’utilizzare dati che gia’ esistono in forme eterogenee, e’ nell’integrazione dei dati attuali, presenti nei database, nei file system, nei dati interni delle applicazioni (CRM, ERP, sistemi documentali, wiki, blog, etc.):

“So, where is the data going to come from? It’s already there. It’s in databases. So, most of this data is in databases. Often the data is already available through some kind of a Web interface.”

C’e’ un punto dell’intervista in cui TBL si sofferma sul modo in cui si produce l’RDF (cioe’ il dato standard semantico a fronte del dato proprietario nel database), che ci porta proprio sul caso d’uso dei componenti JBI per il Semantic Web, soluzione che supera la via che TBL propone, e che secondo me e’ incongruente con la visione si architettura semantica detta sopra, perche’ troppo legata alla scrittura custom di codice:

“…. Well, there’s a couple of ways of doing it. Say that you’ve got a database-type website. One way to do it is to look at it… let’s stay with the printers, for example. When you look at the website you notice there’s a page on the printer, which has got the specifications, and it’s got a little table of the properties of the printer. And there’s a PHP script somewhere, which produces that.
So, you get somebody who understands these things to write another PHP script which is totally parallel, which just expresses the same information in RDF. That’s all. “

Lo scopo dei nostri BC JBI e’ proprio quello di non dover scrivere quel codice ma di configurare il componente sull’ESB perche’ cio’ avvenga automaticamente quando si inseriscono, modificano o cancellano i dati sul database o nel repository proprietario, creando cosi’ una architettura di integrazione semantica.

Commentero’ successivamente la seconda parte dell’intervista, che e’ lunghissima e densa di argomenti interessanti da approfondire.

Claudio Bergamini

Leave a Comment

Perche’ serve il Semantic Web per governare il Web 2.0 dentro l’azienda

Dall’evento di Sun Microsystem “Web 2.0 per le imprese” alla Pinacoteca di Brera, non solo Web 2.0 nello speech di Claudio Bergamini.

Leave a Comment

Un commento a: “Finding the Real Barrier to SOA Adoption” su ZapThink

Il 3 Maggio e’ uscito su ZapThink, uno dei siti piu’ importanti che da anni fa l’advisor di quello che succede nell’IT industry su SOA, una ricerca molto interessante che analizza le ragioni per cui l’adozione di SOA da parte delle aziende non abbia un boom come nell’epoca dot.com, nonostante non ci siano dubbi che questa strada sia da intraprendere con decisione.

La prima ragione e’ che riguarda le architetture, che sono una cosa difficile. La seconda che riguarda il modo in cui l’IT si comporta, nonostante i vendor cerchino di vendere il miracolo: “Despite how some vendors may portray it, you can’t just buy a product and expect it to miraculously create the Services you need and the agile architecture and organization to support them.

E fin qui non c’e’ nulla di nuovo, e’ quanto si sta dicendo -inascoltati, peraltro- da anni.
Ma adesso viene il bello.

What ZapThink is finding is that the primary barriers to SOA adoption do not come from business management, which by and large realize the benefits of an agile, reusable, and loosely coupled architecture (even if they don’t call it that), but rather from within the IT organization that resists the movement to SOA for a wide range of reasons — many of which have little relevance to the needs of the business. Even when a business has approved the investment of significant sums in their SOA projects, ZapThink has found that in many cases, their own IT organization can and will sabotage those efforts, slowing the SOA drive to a crawl.

Perche’ e’ “IT – The Primary Barrier to SOA Adoption?“, si domanda la ricerca, se i principi di SOA sono tuttaltro che nuovi, ed escono come Best Practice proprio dalla storia dell’IT. Perche’ l’IT spesso riduce SOA ad un concetto solo tecnologico, cioe’ “IT practitioners see SOA as nothing more than Web Services and standardized middleware“. Questa convinzione e’ errata, perche’ SOA e’ “the mechanism by which Services are accessed with the architectural approach that aims to decouple the implementation from the consumption and focus on sustainable architecture that allows for continuous change, an approach that is completely technology agnostic.

Il problema e’ che l’IT non vuole prendere in considerazione il cambio di cultura e di comportamenti che deve fare: “The move away from point-to-point integration to compositional, process-driven applications that consume Services from a broad array of assets across the enterprise requires development and management approaches based on Service domains rather than system-specific silos.
Questo implica un modo diverso di fare IT, che deve spostarsi da “focusing on the short-term project management” a “meeting the long-term sustainable needs of the business as it changes“.
E’ nella lentezza con cui l’IT si sta rendendo conto e accettando questo cambiamento, che sta secondo la ricerca la ragione della lentezza nell’adozione di SOA.
La ragione di fondo della lentezza e’ la paura.
All of these big movements require significant change and thus strike fear in the hearts of IT managers who find it easier to adopt one technology fad after another. It is precisely because SOA requires a fundamental change to the way IT is done that many see it as a threat.
La ricerca spiega con dovizia di particolari le ragioni della paura, la negazione dell’inefficienza attuale, la convinzione di poter continuare come se nulla fosse cambiato, nonostante sia evidente che tutto e’ cambiato. E bolla l’atteggiamento degli IT cosi’:
Of course, if companies solely managed by fear, we’d probably still be riding in horse-driven carriages. Innovation requires change, and change does not come without uncertainty.

Le giustificazioni dell’immobilismo sono nella precaria professionalita’ e nel tentativo di mantenere le nicchie di potere professionale, minacciate dalla visione SOA. E’ una accusa molto dura.
…. it seems to make obsolete their current skills“, “if someone is a mainframe expert, say, and SOA allows non-experts to build new applications that leverage all the functionality that previously could only be accessed using system-specific knowledge, then it makes sense that they would oppose the SOA movement“, sono affermazione che fanno da corollario al concetto che se la professionalita’ di qualcuno consiste nel saper dominare argomenti complessi, allora SOA che ha come effetto di semplificare e togliere i lock alle parti “tightly-coupled and inflexible”, viene ostacolata.

La tendenza a mantenere le cose complesse, dicendo che lo sono intrinsecamente e quindi non sono semplificabili, e’ giustificata solo dal voler mantenere lo status quo. In realta’ i sistemi sono piu’ complicati di quello che dovrebbero essere, per trascuratezza e conservatorismo:
what is needed is a gross oversimplification because there’s no reason for the overly complex state of today’s IT“.
La ragione del voler mantenere le complessita’ sta nella autodifesa degli interessi obsoleti. Chi punta a questi obiettivi si oppone a SOA.

Architects? We Don’t Need No Stinkin’ Architects
Il negazionismo si appoggia sul propagandare una visione inattuale della architettura e degli architetti:
Too many in IT also believe that architecture is not needed as a central and separate role from development or project management. These individuals feel that architects are theorists that pontificate from their Ivory Towers and make unfeasible recommendations without having to consider short-term time and budget limitations. For these folks in IT, the pervasive belief is that there’s time to do things over, but not do them right. After all, the business has never before invested in proper architecture and design, so why should they now?

L’osservazione si allarga a questo punto alla organizzazione attuale di molti IT, antagonista dell’azienda.
These organizations not only represent their IT systems as silos, but also segregate their management teams in system-focused silos as well. There is no incentive to share Services in an organization that separates budget and responsibility for individual projects in silos. Trying to build a shared Service that cuts across the domains of multiple systems as well as organizational hierarchy is potentially doomed for failure when issues of budget and control can’t be rectified. Such organizations not only need to adopt SOA from a technology and methodology perspective, but should also Service-orient their organizational structure.
Il ruolo delle architetture e’ invece centrale:
…and so architecture teams must have supervision, control, and responsibility for the outcome of the SOA efforts of the whole organization.
A functional IT organization empowers architecture groups with budget and authority. As further evidence of that, most CIOs are not performing the role they should be – as strategic managers of the architecture of the organization. …. The valuable CIO is one that sees and plans the strategic value of IT, leveraging SOA and enterprise architecture as the central mission of the IT organization as it provides continued benefit to the business as an asset, rather simply fighting fires and responding tactically, inflexibly, and imprecisely to the needs of the business, thus treating IT as a cost center.

Mi sembra che questa considerazione trovi corrispondenza nella visione dell’IT cosi’ diffusa in Italia, ed e’ esattamente cio’ di cui tutti gli addetti IT si lamentano.
Quindi la conclusione e’ che non basta convincere il business ad adottare SOA, ma “companies need to address the latent resistance, hostility, resentment, and fear in the IT organization that will effectively prevent SOA adoption and success.

Quindi i nemici sono in casa, e chi e’ causa del suo mal pianga se’ stesso.

Leave a Comment

Me at JavaOne

Join Me at the 2007 JavaOne Conference Event Connect Tool!

Leave a Comment