People Strategy

Tech Skill: il digitale affonda le sue radici nelle competenze legate all’ICT

Nelle tech skill rientrano le capacità e le conoscenze necessarie per supportare l’organizzazione attraverso processi Information & Communication Technology orientati all’agilità, per cogliere le potenzialità legate alle soluzioni digitali più di frontiera. Il punto di P4I – Partners4Innovation

05 Dic 2019

Marco Planzi

Associate Partner, P4I-Partners4Innovation

Le radici del progresso digitale affondano salde nel mondo dell’Information & Communication Technology (ICT), ben più “anziano” dell’ondata di innovazione dirompente che investe quasi tutti i settori dell’economia: si spiega così il ruolo di primo piano che hanno le “tech skill“. L’ICT è da sempre un laboratorio formidabile di nuove metodologie di lavoro e approcci alla risoluzione dei problemi che derivano da esperienze e riflessioni nate nel campo dello sviluppo software.

Per aiutare le organizzazioni a cogliere il massimo dalle opportunità di innovazione e dalla relazione IT-Business, abbiamo individuato quattro aree principali di competenza evidenziate nella figura sottostante. Il framework trae liberamente spunto da diverse esperienze di mappatura delle tech skill, tra cui l’eCompetence Framework sviluppato dalla Commissione Europea e lo Skills Framework for the Information Age sviluppato dalla SFIA foundation.

Coding & Hacking

Il Coding è diventata una delle parole chiave più cool degli ultimi tempi: tutti sono alla ricerca di programmatori che conoscano le tecnologie più nuove e fantasiose. Questo tipo di conoscenza è fondamentale per ogni impresa (dalle grandi fino alle startup) che voglia costruire asset che includano anche solo una piccola componente digitale. Inoltre sempre più spesso nelle organizzazioni capita di sentire pronunciare la parola Hacking applicata agli ambiti più diversi, dal Marketing (con l’emergente figura professionale del Growth Hacker) fino alla realizzazione di sessioni di brainstorming, spesso impropriamente chiamate hackathon.

L’attenzione di istituzioni e imprese verso il mondo del Coding & Hacking nasconde un’ambiguità di fondo. Tutti dovremmo davvero saper sviluppare? La risposta si nasconde nelle pieghe della definizione di Coding & Hacking che ha a che fare sia con la capacità di programmare in senso stretto, sia con il cosiddetto pensiero computazionale. Se la prima – la capacità di programmare – è una competenza propria dei professionisti del mondo dell’Information & Communication Technology, la seconda – il pensiero computazionale – è una competenza che ha una forte valenza trasversale rispetto alle professioni e ai settori. Nei paragrafi di seguito proveremo a definire entrambi gli aspetti, in primo luogo quelli più tecnici, in secondo luogo quelli più legati alle soft skill.

Coding & Hacking: parlare la lingua delle macchine con le tech skill

Guardando solo alle competenze di Coding di natura strettamente tecnica, uno dei tentativi di mappatura più interessanti  nasce su spunto di Joseph Sijin nel 2008 con la Programmer Competency Matrix, che nella sostanza divide il Coding in cinque grandi aree di conoscenze e capacità:

  • Computer Science: conoscenze di algoritmi, database e sistemi hardware/software;
  • Software Engineering: capacità di automatizzare lo sviluppo del software e il testing;
  • Programming: capacità di scomporre i problemi in funzioni, di scrivere, organizzare e documentare il codice;
  • Experience: conoscenza e utilizzo continuo nel tempo dei più moderni linguaggi di programmazione, non solo object-oriented, ma anche concurring;
  • Knowledge: conoscenza dei trend tecnologici (come ad esempio cybersecurity, crittografia ecc.), capacità di condividere la propria conoscenza con la community degli sviluppatori.

Guardando alle skill appena elencate, è evidente che si tratta di un modello di mappatura estremamente tecnico. Ciononostante, la valenza di business di Coding & Hacking supera i confini delle professioni ICT ed è connaturata con la capacità dell’impresa di competere in un mondo digitale. In qualsiasi organizzazione complessa, l’assenza di queste tech skill mette l’impresa in condizione di svantaggio.

Guardando la tecnologia da una prospettiva strategica, una crescente parte della catena del valore di qualsiasi business dipende dall’automazione e dal digitale. Le imprese che non sviluppano al giusto livello anche le tech skill di Coding & Hacking rischiano di veder impoverito il proprio know-how, delegando parte del proprio successo a sistemi, macchine, software sempre più intelligenti, tanto che si parla sempre di più di intelligenza artificiale. È un rischio che riguarda la natura stessa dell’impresa e le sue competenze core perché, mentre l’utilizzo di tecnologie sempre più smart costituisce una soluzione pratica a immediati problemi di business, la conoscenza tecnica del funzionamento di sistemi e soluzioni permette di gestirli nel tempo in chiave di innovazione. Questo aspetto diventa ancora più importante nel contesto competitivo attuale in cui le “regole di business” di tutti i settori cambiano con la rapidità delle tecnologie digitali.

Coding & Hacking: un modo di pensare

Il pensiero computazionale è quel tratto dell’intelligenza delle persone che permette di trasformare il pensiero astratto in realizzazioni concrete e replicabili attraverso la creazione di soluzioni sia a partire dal foglio bianco (da zero) sia a partire da soluzioni già esistenti a problemi simili. Il migliore e più completo tentativo di definire il Coding in tal senso si trova nel paper del 2006 “Computational Thinking” di Jeannette Wing, professoressa della Columbia University, i cui tratti principali sono:

  • analizzare e organizzare i dati del problema in base a criteri logici;
  • rappresentare i dati del problema tramite opportune astrazioni;
  • formulare il problema in un formato che ci permette di usare un “sistema di calcolo” per risolverlo;
  • automatizzare la risoluzione del problema definendo una soluzione algoritmica;
  • identificare, analizzare, implementare e verificare le possibili soluzioni con un’efficace ed efficiente combinazione di passi;
  • generalizzare il processo di risoluzione del problema per poterlo trasferire ad un ampio spettro di altri problemi.

I comportamenti connessi alla competenza di Coding includono:

  • confidenza nel trattare la complessità;
  • ostinazione nel lavorare con problemi difficili;
  • tolleranza all’ambiguità;
  • abilità nel trattare con problemi definiti in modo incompleto;
  • abilità nel trattare aspetti sia umani che tecnologici, in quanto la dimensione umana è essenziale per il successo di qualunque sistema informatico;
  • capacità di comunicare e lavorare con gli altri per il raggiungimento di una meta comune o di una soluzione condivisa;
  • la capacità di debugging, ovvero di accettare gli errori come parte di un processo di apprendimento iterativo (Lean Startup – Eric Ries);
  • la capacità di assemblare, combinare e trasformare soluzioni già create in altri contesti per sperimentare soluzioni il più rapidamente possibile.
360digitalskill
Diventa un leader digitale: crea il percorso per te e il tuo team
Risorse Umane/Organizzazione
Smart working

Osservando il pensiero computazionale da un’altra prospettiva, orientata all’applicazione nella società delle competenze di Coding, emerge un ulteriore fronte di capacità e tech skill dell’individuo che si può racchiudere nella parola Hacking. Da certi punti di vista, gli hacker rappresentano i cittadini modello del mondo digitale. Sono persone creative, persistenti e piene di risorse. Pensano in termini digitali e hanno una innata curiosità di capire come funziona la tecnologia e, in senso più allargato, il mondo circostante. Per un hacker ogni problema rappresenta un’opportunità di rendere il mondo (la società, casa propria, il luogo di lavoro) più sicuro per tutti. Gli hacker conoscono a fondo i limiti della tecnologia e provano una latente diffidenza verso ciò di cui non comprendono a fondo il funzionamento. Hanno anche la consapevolezza che non c’è sistema (tecnologico o sociale) che non abbia errori (bug). Per coloro che sono nati e si sono formati prima dell’avvento della società digitale, questi concetti potrebbero sembrare distanti, ma per gli hacker questo è semplicemente il modo in cui funziona il mondo intero: un sistema complesso e connesso di tecnologie e persone. Dietro questa descrizione del profilo di un hacker è nascosta l’utilità di questa competenza per le imprese moderne, per le quali sarebbe estremamente utile diffondere questo tipo di mentalità tra i collaboratori, volta all’adozione di comportamenti orientati al miglioramento e alla sicurezza dell’organizzazione, non solo attraverso le idee.

Agile & DevOps

Molte organizzazioni tradizionali hanno intrapreso un percorso di cambiamento per lasciarsi alle spalle una struttura burocratica e gerarchica in favore di nuovi stili basati sull’auto-organizzazione e sulla leadership contestuale. Molti di questi approcci derivano da esperienze e riflessioni nate nel campo dello sviluppo software. È il caso delle metodologie Agile e DevOps, pensate per migliorare la gestione di progetti di sviluppo software, ma oggi applicate anche a contesti più ampi, tanto che si parla sempre più spesso di Agile Organization. L’enfasi di Agile e DevOps su una gestione delle attività e dei progetti orientata alla collaborazione in team, alla condivisione di obiettivi e output, alla fiducia reciproca anziché su rigide linee guida e complessi meccanismi di coordinamento, ha trasformato l’attività di sviluppo software in un processo dove sono ugualmente importanti sia le tech skill sia le soft skill di tipo relazionale. Mano a mano che Agile e DevOps si diffondono all’interno delle organizzazioni, cresce l’esigenza di comprendere come competenze di natura sociale e relazionale influenzino sia la produttività del team (efficacia ed efficienza) sia l’organizzazione nel suo complesso. Agile & DevOps prediligono i feedback pratici dei clienti rispetto all’intuizione dei creatori del prodotto o servizio e alla raccolta completa dei requisiti ex-ante, la prototipazione rispetto alla progettazione anticipata “monolitica” e completa, la sperimentazione rispetto alla rigida pianificazione di tempi e metodi di progetto.

Il metodo Agile: il valore dell’interazione tra persone e della collaborazione con i clienti

Più in particolare, la metodologia Agile si basa sul prediligere l’interazione tra persone rispetto a rigide linee guida di processo, sul focalizzarsi nello sviluppo del software rispetto alla documentazione completa del lavoro, sulla collaborazione con i clienti rispetto al puro adempimento di un rapporto contrattuale, sulla capacità di rispondere al cambiamento rispetto all’aderenza a un piano precostituito. Gli strumenti a supporto della metodologia Agile sono molti e codificano la modalità di gestione dei progetti: SCRUM, Kanban, Extreme Programming, Lean Development sono alcune delle tecniche più diffuse che codificano i ruoli di progetto, le modalità con cui le attività vengono assegnate alle persone, le meccaniche di coordinamento fino agli aspetti più strategici come l’assegnazione degli obiettivi. Di fatto, tutte le tecniche di Agile Project Management hanno un aspetto comune. Un progetto di sviluppo va affrontato scomponendolo in fasi più semplici, da affrontare in ordine di rischiosità. Ciascuna fase deve dare la possibilità al team di progetto di testare la soluzione sviluppata insieme con l’utente finale. L’osservazione asettica del comportamento dell’utente di fronte alla soluzione software è in grado di fornire indicazioni preziose per raffinarne lo sviluppo o per confermare il raggiungimento di un obiettivo. Solo a obiettivo raggiunto diventa possibile (e sensato) passare alla fase successiva del progetto.

DevOps: una relazione collaborativa e produttiva tra i gruppi di Development e quelli di Operations

La metodologia DevOps viene codificata per la prima volta nel 2009 e si focalizza su aspetti tecnici connessi allo sviluppo e al lancio di applicazioni software. Il termine nasce dall’unione delle parole Development (che indica la fase di sviluppo software intesa come programmazione vera e propria) e Operations (che indica la fase di rilascio di un’applicazione in produzione a seguito dei test). Nelle organizzazioni tradizionali, i team che seguono le due fasi sono separati e lavorano in modo sequenziale: una volta terminato lo sviluppo e il test è possibile avviare le attività di rilascio in produzione. La metodologia DevOps è spesso descritta come una relazione più collaborativa e produttiva tra i gruppi di Development e quelli di Operations. Ciò incrementa l’efficienza e riduce i rischi di frequenti modifiche mentre un’applicazione si trova già in fase di produzione, superando i problemi che rendono difficoltoso sia il rilascio sia il mantenimento di servizi ICT efficienti. L’adozione di DevOps, nei fatti, consente di sfruttare appieno le potenzialità delle moderne infrastrutture tecnologiche basate sul Cloud che comprendono strumenti per automatizzare il test e rilascio del software, con lo scopo di accontentare i clienti e raccogliere i loro feedback più rapidamente e con un limitato impatto sulle attività di sviluppo. Di norma DevOps viene adottato da organizzazioni che hanno la necessità di incrementare la frequenza dei rilasci in produzione, che hanno ampia disponibilità di un’infrastruttura in Cloud, e posseggono strumenti per automatizzare il più possibile le attività di development, test e manutenzione.

Le metodologie Agile & DevOps pongono l’enfasi su aspetti di collaborazione e lavoro in team, che richiedono una elevata trasversalità di conoscenze e capacità di natura tecnica, in gergo chiamate “conoscenze a T”. La lettera T è una metafora utilizzata per descrivere persone che hanno conoscenze profonde e capacità elevate su un ambito specifico, ciononostante posseggono conoscenze e capacità anche in altre aree di rilievo per il progetto, sebbene non allo stesso livello di profondità. Gruppi di lavoro composti da persone con queste caratteristiche tendono a essere più flessibili, sfruttando una maggiore intercambiabilità delle risorse. Tali conoscenze e capacità si dividono in due aree: tecniche e comportamentali.

Per quanto riguarda le conoscenze tecniche si riferiscono alle metodologie specifiche: Scrum, Kanban, Extreme Programming, Lean Development, Continuos Development, Continuos Improvement, Impact Mapping, Story Mapping, Specification by example ecc.

Per quanto riguarda le conoscenze di tipo comportamentale, riguardano prevalentemente la gestione dell’ambiguità e del conflitto. In team interfunzionali eventuali differenze di idee, opinioni, modalità di approccio alle attività possono essere sostanziali e vanno gestiti senza sconfinare nell’animosità e senza influenzare negativamente il lavoro. Questo risulta enfatizzato quando l’organizzazione nel suo complesso si trova in una fase di transizione da metodologie Waterfall a metodologie Agile & DevOps. Ecco perché diventano importanti capacità di gestione dei conflitti, teambuilding e leadership contestuale, così come codificato dalla DevOps Agile Skill Association nel proprio modello di mappatura delle competenze.

Digital Apps, conoscenza, attitudini e comportamenti connessi ai principali trend digitali

Buona parte dei trend che stanno contribuendo a ridefinire la struttura competitiva di ogni settore e le modalità di lavoro delle persone hanno a che fare con le tecnologie digitali, con una pervasività difficilmente riscontrabile in passato. Proprio per questo motivo, la conoscenza dei trend tecnologici in atto non può più essere confinata solo all’interno del management team, ma deve diventare sempre più diffusa a diversi livelli dell’organizzazione anche tra i collaboratori. Quando sono condivise in modo trasversale all’organizzazione, tali conoscenze contribuiscono a dare maggior consapevolezza alle persone rispetto al percorso di trasformazione in atto e diventa chiaro su quali aree di competenza l’organizzazione intende investire. Proprio per questo motivo, è stata inserita all’interno del Digital DNA l’area di competenza definita come Digital Apps, che vuole includere all’interno del modello anche quelle conoscenze, attitudini e comportamenti connessi ai principali trend digitali.

La conoscenza dei trend digitali (Digital) deve essere connotata da una forte componente applicativa, che sottende la capacità delle persone di attuare la propria conoscenza scovando ambiti di applicazione (Apps) all’interno della propria organizzazione con spirito pratico e propositivo, avendo ben presente gli aspetti tecnici (realizzativi, di integrazione) e di business (rischi, barriere, opportunità e benefici) connessi all’implementazione di una tecnologia. Si tratta quindi di tech skill che riguardano in prima battuta i professionisti della tecnologia, ma che con diversi livelli di profondità e consapevolezza possono essere presenti anche tra i collaboratori che, almeno apparentemente, con la tecnologia e i suoi aspetti tecnici hanno poco a che fare.

Guidare lo sviluppo di competenze legate al mondo delle Digital Apps è uno dei compiti più impegnativi per le direzioni HR di qualsiasi organizzazione perché implica diverse sfide. Da un lato, serve individuare correttamente quali sono i trend digitali e le loro applicazioni che sono rilevanti per il futuro dell’impresa, dall’altro, è importante comprendere quanto e come le conoscenze tecnologiche devono essere diffuse all’interno dell’organizzazione. Infine, serve un piano coerente per potere sviluppare queste tech skill sapendo che in molti casi non tutto si può risolvere attraverso dei tradizionali corsi di formazione.

Business-ICT Alignment

Nel contesto competitivo di oggi, con confini geografici sempre meno netti, con regolamentazioni dinamiche e nuovi competitor all’orizzonte, diventa ancora più essenziale assicurare un corretto allineamento tra tutte le funzioni dell’impresa, tra le quali, quella che ha un ruolo particolarmente critico e trasversale è proprio la funzione ICT. In molte imprese, negli ultimi vent’anni, l’ICT è passata dall’offrire un supporto in gran parte di back-office a diventare il principale abilitatore del business nel suo complesso. Senza un corretto allineamento dell’ICT agli obiettivi di business, è improbabile che qualsiasi impresa possa raggiungere risultati economici sostenibili nel tempo. Tale allineamento non avviene per caso, ma richiede un coinvolgimento attivo dell’organizzazione, insieme con gestione continua nel tempo. Richiede l’assunzione di rischi, ma con un’adeguata gestione dei rischi. Richiede una governance che lasci autonomia di sperimentare senza soffocare le spinte innovative, assicurandosi al contempo che gli esperimenti vadano nella direzione giusta. Si tratta di uno sforzo continuo su cui l’attenzione non può mai calare e che richiede tech skill complesse da sviluppare.

Vista la centralità delle persone nel perseguire in modo duraturo un efficace allineamento tra Business e ICT, sono nati nel corso degli anni diversi framework di mappatura delle tech skill per costruire un quadro di riferimento comune che può essere usato e compreso da aziende ICT della domanda e dell’offerta, da professionisti ICT, managers e dipartimenti delle Risorse Umane, Pubbliche Amministrazioni, soggetti del mondo della formazione e parti sociali. I framework sono stati sviluppati con un consistente lavoro di concertazione, attraverso la consultazione di esperti ICT e HR insieme con innovatori e decision maker. Lo scopo dei framework è in linea con quello del Digital DNA e consiste nel fornire un quadro generale delle tech skill che possano essere adattate e personalizzate per differenti contesti di business. A livello internazionale i due modelli più utilizzati sono:

  • l’e-Competence Framework (eCF) sviluppato dalla Commissione Europea per codificare le competenze di sviluppo, esercizio e gestione di progetti e processi IT, prendere decisioni, sviluppare strategie e prevedere nuovi scenari partendo dal presupposto che l’ICT è un tema trasversale.
  • Lo Skill Framework for the Information Age (SFIA) fornisce un modello di riferimento comune per l’identificazione degli skill richiesti per sviluppare sistemi informativi efficaci. Lo scopo generale di SFIA è di supportare le organizzazioni nell’impiego dei professionisti ICT in modo da garantire di: ridurre i rischi dei progetti ICT, fare selezioni del personale efficaci, migliorare l’efficacia e l’efficienza della funzione ICT, fornire sviluppo e percorsi di carriera appropriati per i professionisti ICT.

Entrambi i framework eCF e SFIA appaiono particolarmente stratificati, con più di 100 competenze e conoscenze tecniche ICT censite – liberamente utilizzabili a partire dalla documentazione ufficiale presente sui siti di riferimento – il cui dettaglio è lasciato al libero approfondimento del lettore. Un’analisi più approfondita evidenzia come a livello di singola conoscenza i due framework sono molto simili, mentre differiscono concettualmente per l’impostazione di alto livello.

Più nello specifico, l’impostazione concettuale di eCF si focalizza sui processi IT e individua cinque aree di competenza:

  • Plan: prevedere i business requirement nel lungo periodo, per aumentare efficienza e efficacia del processo organizzativo;
  • Build: implementare una soluzione/sviluppare un prodotto, testarlo e consegnarlo secondo una procedura definita;
  • Run: rispondere alle richieste dell’utente, per garantire la fornitura di servizi in linea con gli SLA stabiliti, gestendo tutti i problemi correlati;
  • Enable: definire e applicare una strategia organizzativa formale, sia per mantenere la sicurezza dei dati sia per soddisfare le aspettative dei clienti e migliorare le prestazioni aziendali;
  • Manage: interpretare le esigenze del mercato e valutare il gradimento da parte del mercato di prodotti o servizi, per implementare piani per un programma di cambiamento, mantenere relazioni commerciali positive e definire e misurare i KPI del progetto.

Il framework SFIA adotta un’impostazione differente e si focalizza su aree di responsabilità connesse alla gestione dei sistemi informativi:

  • Strategy and architecture: disegnare e pianificare una strategia di evoluzione dei sistemi informativi;
  • Change and Transformation: gestire il cambiamento dei processi, dei sistemi e dell’organizzazione in coerenza con la strategia;
  • Development and Implementation: sviluppare e implementare sistemi informativi a partire dalle esigenze delle linee di business;
  • Delivery and Operation: disegnare, sviluppare e installare sistemi con un’usabilità orientata all’utente;
  • Skills and Quality: gestire le persone, assicurarne lo sviluppo e verificare la qualità del lavoro svolto;
  • Relationships and Engagement: sviluppare relazioni positive con gli interlocutori interni e con i fornitori, saper promuovere internamente nuove soluzioni.

Risulta difficile individuare un approccio preferibile e, cogliendo lo spirito del Digital DNA, entrambi gli schemi rappresentano una mappatura completa che si presta ad essere semplificata, rivista e ibridata alla luce del contesto organizzativo in cui viene applicata.

@RIPRODUZIONE RISERVATA

Articolo 1 di 4