Evoluzione

Cosa succede quando in un team compatto e forte un elemento se ne va ?
La prima sensazione e’ di stupore. Come mai ? Succede che ciascuno persegue la propria felicità professionale pertanto, pur ricoprendo al meglio il proprio ruolo nel team non si senta valorizzato. Compito del team leader dovrebbe essere di percepire questi stati d’animo, anticiparli e cercare di assecondarli. Non sempre pero’ il contesto offre la possibilità di accontentare tutti e in questi casi, se il componente e’ maturo sara’ pronto ad accettare una nuova sfida altrove. Considerato che il cambiamento e’ difficile per tutti, tale scelta merita rispetto e dovrebbe essere coadiuvata e non osteggiata. A questo punto il team dopo una fase di disorientamento e riflessioni si riorganizzerà, dovrà acquisire nuove competenze ribilanciare i carichi, insomma affrontare un cambiamento interno e crescere.  Il componente fuoriuscito, con il suo bagaglio di esperienze, contaminerà il nuovo gruppo e sarà contaminato a sua volta, creerà un ponte tra realtà diverse da cui potranno nascere nuove e positive sinergie.

L’importanza delle relazioni

E’ curioso, ma solo recentemente mi sono reso conto di quanta importanza abbiano nel lavoro le relazioni personali.

A livello inconscio credo di averlo sempre saputo, ma a distanza di tempo sono pervenuto ad una maggiore consapevolezza.

In 20 anni di lavoro ho riempito lo zaino con tante esperienze diverse, ma la cosa più preziosa sono le relazioni sviluppate.
Le amicizie, le conoscenze, le esperienze vissute insieme, le posizioni prese.

Come si creano queste relazioni ? In tanto modo diversi.

Alla base c’ è il rispetto, per chiunque.
Si lavora insieme, si affrontano problemi, si trovano soluzioni. Da ciò nasce la stima.
Si vive in una comunità si finisce per diventare amici.
Si interpretano i segni aziendali e si provano ad indovinare le strategie.
Si fa squadra e si provano a cambiare le cose.

Riflettere ed interrogarsi, mettere insieme le idee e le esperienze: in mensa,
in pausa anche nell’antibagno.

Bello ritrovarsi dopo tanti anni con ex-colleghi e scoprire che pur avendo un vissuto esperienze diverse la visione è la stessa, naturalmente non è causale alla base c’ è sempre stata la condivisione di certi valori e quindi la visione del mondo è simile.
Stupefacente fare amicizia in 10 minuti perché la visione è la stessa: mi è successo all’Agile Days di Urbino.
Ritrovarsi nella stessa azienda in gruppi diversi e sostenersi a vicenda in iniziative estemporanee fuori ambito: per esempio su XWiki.

Una battuta
I riti dell’ufficio
Un fumetto (RAT-MAN) condiviso con i colleghi

Un’idea espressa che contamina il collega e lo induce a riflettere su un tema.

Recentemente qualcuno in azienda ci ha inviato ad essere curiosi su cosa avviene attorno a noi, a dire la nostra, a creare rapporti che vanno oltre le gerarchie e le strutture organizzative.
Sarà perché è la mia natura e perché ho operato sempre in ambiti organizzativi destrutturati e gli schemi mi vanno stretti, ma tutto ciò io l’ho sempre fatto, quindi che dire…benvenuti nel mio mondo!

GECRE – Tecniche di problem solving

Il 20-21 dicembre 2017 ho partecipato al corso ENGINEERING GECRE – “Tecniche di problem solving”.
Il corso è stato tenuto dalla Dott.ssa Lara Cesari Psicologa del lavoro e delle organizzazioni.
Sono state 2 giornate dense di spunti, interessanti e piacevoli.

Un pò di teoria e molte esercitazioni di gruppo.
Alcuni dei concetti trattati:

  • Problemi
    • Complicati:
    • Complessi: appartenenti a più di un dominio. Sono la maggioranza
  • Le trappole cognitive
    • Certezza delle proprie convinzioni -> Falsificazione
    • Autoreferenzialità -> Domande esplorative
    • Lettura rigida dei nessi->Creatività, Rilettura dei nessi
    • Primato delle contigenza -> Segnali deboli, Costruzione di scenari possibili (almeno 3)
  • La potenza dell’autoscolto:
    • Dillo a Teddy
    • Le bamboline guatemalteche
  • Problem finding e Problem solving creativo
    • Inversione o capovolgimento
    • Brainstorming
    • What If
  • Promuovere l’autoascolto con le domande aperte
  • L’importanza dei segnali deboli
  • Il pensiero strategico
  • La scala della padronanza di sè
  • Esercitazione dei naufraghi

Bibliografia

Il prisma come metafora del Problem Solving

Recentemente ho partecipato ad un corso sul Problem Solving.
Ai partecipanti è stato chiesto di scegliere un avatar che li rappresentasse mentre sono alle prese con il problem solving.
L’avatar che ho scelto io è questo:

L’immagine naturalmente è la copertina di “The dark side of the Moon” dei Pink Floyd ma rappresenta concettualmente la scomposizione della luce bianca nelle sue componenti primarie tramite un prisma.
Quest’immagine mi sembra una buona metafora visiva del processo di problem solving in cui, il raggio di luce rappresenta il problema, l’attraversamente del prisma è la fase di analisi e le componenti colorate rappresentanto le molteplici possibili soluzioni che emergono: fase divergente.

Il processo prosegue tra tutte le possibili soluzioni si fà sintesi e se ne sceglie una che và a risolvere il problema iniziale: fase convergente.

In sintesi il processo di Problem Solving può essere visualizzato così:

A dire la verità il concetto di convergenza e la presenza del fattore temporale sono elementi colti da un acuto collega durante l’esercitazione di ascolto reciproco.

Due considerazioni a margine di questa esperienza.

  1. Il concetto di tempo non mi è balzato agli occhi quando ho descritto il processo eppure era piuttosto evidente.
    Il tempo mi affascina molto come concetto ma forse sto cercando di sfuggire alla sua influenza è un argomento che merita un approfondimento.
  2. Confrontando il mio avatar con quello dei colleghi mi sono reso conto che l’immagine che ho scelto non è un personaggio. L’immagine esprime bene il concetto ma ho effettuato una spersonalizzazione.

Essere un Ranger

By U.S. Marine Corps Cpl. Aaron Hostutler [Public domain], via Wikimedia Commons
Non so a te, ma a me capita spesso di fare un bilancio della mia vita professionale.
Provo a guardarmi da lontano e rifletto su ciò che sò, ciò che faccio, come  potrei fare meglio il mio lavoro e come posso aiutare gli altri a farlo meglio.
Ti sei mai chiesto qual’ è la tua essenza nel profondo ?
La mia è affrontare un problema e cercare di risolverlo in modo elegante con la speranza che possa essere di aiuto alla comunità di cui faccio parte.
Il mio spirito è quello del Ranger che và in avanscoperta, si muove da solo o in gruppo con equipaggiamento leggero su terreni sconosciuti. Forte della sua esperienza è pronto a tutto, esplora territori nuovi li mappa, trova una via poi torna alla base e fà da guida al resto del gruppo.
Credo che la mia sia un’attitudine che deriva dalla curiosità e dalla vocazione alla formazione.
A ciò  si aggiunge l’esperienza fatta in contesti operativi dove l’efficacia e l’efficienza sono elementi primari per la sopravvivenza.
Il Ranger spesso si muove da solo per essere più veloce, ma per valutare scenari ampii opera necessariamente in squadra.
E’ coraggioso e rischia in prima persona ma si muove avendo ben presente la responsabilità che ha verso il gruppo.
Guarda avanti e precede gli altri, interpreta i segni ma una volta rientrato alla base deve anche saper essere un buon comunicatore per condividere con il gruppo la scelta del percorso da seguire.
E’ lavoro delicato ma affascinante.
L’attività diventa efficace se a livello strategico si condivide la meta finale, solo così il Ranger può trovare giorno per giorno percorsi tattici che avvicinano il gruppo verso l’obiettivo finale.
Ecco cosa significa per me essere un Ranger.

Excel arma impropria

La domanda di oggi è perchè alcune persone non riescono ad andare al di là degli strumenti classici quali: Ms Word e Ms Excel con rare puntate su Ms Power Point ?
Come è possibile far capire a queste persone che Ms Excel in particolare non è buono per tutte le stagioni ?

Tipicamente le informazioni debbono essere ricercate secondo criteri che cambiano, quindi spesso un database è la soluzione più corretta.
Invece si continua ad usare Excel per gestire dati in forma tabellare e si è sfortunati può finire che devi organizzare l’attività di aggiornamento del foglio Excel condiviso in turni singoli, perchè la scrittura concorrente non è supportata: azz chissà magari la prossima versione di Ms Excel…

Eppure il ciclo di vita dell’informazione è fondamentale per un’azienda. Come l’informazione nasce, il fatto che sia accessibile a vari livelli, che possa essere aggiornata in modo tempestivo: è la sagra dell’ovvio.

Più l’informazione è granulare maggiore più facile sarà aggregarla.
Considerata la velocità con cui certe informazioni cambiano, relegarle ad un documento è sciocco: diventa difficile ritrovare la singola informazione, il documento diventa presto obsoleto.

Il documento può essere visto al più come una foto al tempo t di una serie di informazioni aggregate secondo criteri che cambiano in base all’utilizzatore: in pratica un report. Che scoop!

L’informazione è preziosa e come tale và trattata, esistono piattaforme per la gestione della conoscenza che possono offrire sistemi più moderni ed efficenti dell’informazione ad esempio XWiki.

E allora chiudo gli occhi ed immagino che un giorno l’abuso di Excel possa diventare un reato. Sarà costituito un tribunale apposito che giudicherà l’efficacia e l’efficienza di ogni worksheet realizzato e diffuso. Saranno comminate pene severe ed esemplari condannando i colpevoli a: leggere, leggere, leggere.

“The database is just a detail…”

Questa frase può sembrare innocente ma no lo è.
Al contraio è dirompente.
Per chi lavora come me in PL\SQL il database è la piattaforma di lavoro quindi dire che il database è un dettaglio è sovversivo…a prima vista.
In realtà il nostro software poggia saldamente sul DMBS, ma non sul database e la differenza è significativa.
PL\SQL è la crasi di due elementi distinti PL e SQL.
SQL esiste solo in virtù del database (tabelle, viste ecc.).
PL è un linguaggio procedurale che viene compilato ed eseguito da Oracle, ma che funziona anche in assenza di oggetti di database.
E sai che scoperta!
Le implicazioni invece sono profonde.
Il codice PL puro, non facendo riferimento al database, può essere sottoposto a unit test automatici e ripetibili.
Fare la stessa cosa su codice PL\SQL (quello bello infarcito con select, insert ed update) è ben diverso perché per effettuare un test è necessario creare il giusto contesto dati sul database, infatti un test del genere è già system.
Se la tematica vi intriga ho approfondito il tutto in un ebook “PL/SQL OOP Style”.
La frase che da il titolo al post è una citazione del mitico Robert C. Martin dal libro “Clean Code” che continua ad essere per me un’ importante fonte di ispirazione, che bello sarebbe avere uno zio così.
La t-shirt è una mia creazione. Una simpatica provocazione per i miei colleghi che hanno imparato a sopportarmi.

Integrazione di Xwiki e Serena PVCS


Nessuna invasione di campo

Xwiki e’ una piattaforma web open source per la gestione della conoscenza.
Uno dei problemi nell’adozione di Xwiki all’interno del nostro gruppo di lavoro in azienda è stato non invadere i processi aziendali in essere che prevedono l’archiviazione delle informazioni (documenti Office, codice sorgente ecc) nel CMS (Change Management System) Serena PVCS.
D’altra parte Xwiki l’ho installato con l’idea di fornire informazioni e soluzioni alla comunità degli sviluppatori di cui faccio parte, quindi era necessario referenziare facilmente le informazioni presenti nel CMS.

Xwiki al primo impatto mi e’ piaciuto perche’ realizzato in java, ma il suo aspetto più interessante e’ che si possono inserire script in Groovy che vengono eseguiti in fase di visualizzazione: in sostanza alcune sezioni del documento possono essere generate dinamicamente.
Questo aspetto unito al fatto che con JDBC è possibile accedere a qualunque database aziendale rende il tutto molto interessante.

L’idea

Se durante il mio lavoro incontro un problema e trovo una soluzione la adotto e finisce tipicamente all’interno di package Oracle.
Per diffondere questa soluzione scriverò un articolo su Xwiki, spiegherò il come il perchè ma il top per chi legge sarebbe poter accedere facilmente al package archiviato nel CSM in cui ho usato la soluzione.
Così anche se la soluzione evolve, l’utilizzatore potrà accedere sempre al codice sorgente aggiornato.
Così dopo qualche esperimento esplorativo ha preso forma l’idea di realizzare una macro Xwiki che consentisse di accedere al contenuto di un item qualunque archiviato nel CMS.

La soluzione

La soluzione tecnica si compone di:

  1. Macro Xwiki che consente all’operatore di impostare gli estremi dell’item. I parametri vengono usati per costruire una URL che punta sempre ad un documento Xwiki.
  2. Documento Xwiki che viene invocato quando si clicca su una URL Serena. Quando viene invocato:
    1. si recuperano i parametri passati in query string
    2. si effettua la connessione al db Oracle di Serena
    3. si recupera l’ID dell’ ultima revision dell’item
    4. attraverso un client PVCS Serena a linea di comando installato sul server XWiki, si accede al CMS con un account fisso read-only, si effettua la get dell’item che viene scaricato su una cartella TEMP del file system di XWiki
    5. si effettua una GET HTTP del file verso il client

In pratica

Si scrive un articolo

Documento per descrivere il package Oracle prima di inserire la macro

Si aggiunge una macro “Serena Get Item Link” e si impostano tutti i parametri richiesti che individuano univocamente l’item.

Fase di impostazione dei parametri di input della Macro Serena per referenziare il package Oracle di interesse

Il codice della macro è il seguente:

{{SerenaGetItemMacro instance=”hydra-te” itemName=”SIU_PKG_ESTRDOC_B.SQL” project=”COMMON” label=”SIU_PKG_ESTRDOC_B.SQL” workset=”SIUWEB”/}}

La macro per chi visualizza il documento si presenta come una URL sottoforma di link:

http://<SERVERNAME>/xwiki/bin/view/Area+organizzativa/SerenaGetDo?istance=hydra-te&workset=SIUWEB&project=COMMON&itemName=SIU_PKG_ESTRDOC_B.SQL&xpage=plain&outputSyntax=plain

Documento XWiki con l'URL al package Oracle archiviato nel CMS

Quando si clicca sul link “SIU_PKG_ESTRDOC” viene eseguito il codice Groovy e l’item viene scaricato sul client.

Fase di scaricamento del sorgente del package Oracle estratto dal CSM

A questo punto il file sorgente del package viene aperto con l’editor associato.

Package Oracle estratto dal CMS ed aperto nell'Editor associato

Il risultato finale

La soluzione attuale ha numerosi ambiti di miglioramento, perchè è complessa e lenta nel funzionamento.
Cio’ che conta però è che supporta perfettamente le finalita’ di Xwiki.