Re immaginare l’IT nel mondo delle API

La pervasività di internet, del mobile e del cloud computing ha reso le API (Application Programming Interface) la tecnologia fondamentale per scambiare dati e informazioni attraverso sistemi, dispositivi e applicazioni.

Si è molto parlato di API  nell’ultimo decennio, ma negli ultimi anni hanno visto una crescita esplosiva. Quasi 40 API vengono aggiunte alla settimana alla directory ProgrammableWeb e il numero totale di API è di circa 17.000 all’inizio del 2017. La cosa fondamentale da considerare è che questi numeri si basano su API disponibili pubblicamente e non riflettono la reale crescita che le API hanno all’interno di un’organizzazione o una azienda; probabilmente questa supera facilmente quella delle API pubbliche. Con oltre 10 miliardi di dispositivi connessi, l’Internet delle cose che cresce (IoT) alimenterà una crescita ancora maggiore. Pertanto, ciò che stiamo guardando è solo la punta dell’iceberg per quanto riguarda le API. Le API non solo guidano lo scambio di dati, ma influenzano anche l’architettura delle imprese in modo fondamentale. Quindi, le aziende devono valutare i propri sviluppi IT e i processi interni per capire la disponibilità di applicazione della tecnologia data dalle API.

Perché le API saranno sempre più importanti

Le API sono la spina dorsale dell’economia digitale. Molte aziende e startup hanno iniziato a sfruttare le API per generare nuove opportunità di business. Ad esempio, uno studio HBR stima che Salesforce genera il 50 per cento dei suoi ricavi attraverso API, eBay quasi il 60 per cento e Expedia un enorme 90 per cento. Secondo un’altra relazione di McKinsey, circa 3 miliardi di dollari in potenziale economico annuo potrebbe essere sbloccato tramite dati aperti e API. La capacità delle API di generare entrate monetizzando le risorse digitali ha portato il settore a coniare la frase “API Economy”.

Nel frattempo, la proliferazione delle applicazioni SaaS offre una nuova dimensione allo sviluppo di applicazioni, in cui lo sviluppatore può concentrarsi sulla sola codifica della logica aziendale, anche da solo. Le API inoltre si occupano di nascondere la complessità dell’implementazione sottostante, di portare modularità e separazione delle preoccupazioni, consentendo di implementare e testare servizi indipendenti. Pertanto, le API possono aumentare l’agilità di business dissociando e esponendo i processi aziendali.

Inoltre, le infrastrutture monolitiche e le applicazioni che hanno alimentato le imprese negli ultimi decenni stanno lasciando il posto a alternative più distribuite e modulari. Questi si basano su piccoli, indipendenti e riutilizzabili micro-servizi che possono essere assemblati in modo relativamente facile. I microservizi sono piccole applicazioni single-purpose che collaborano utilizzando API per fornire servizi. In molte organizzazioni, gli sviluppatori stanno già impiegando l’architettura dei micro-servizi, forse all’insaputa dell’azienda. I Microservices, con l’aiuto delle API, sono pronti per avere scalabilità e distribuzione continua del software SaaS, e saliranno ad un livello di utilizzo più elevato negli anni a venire.

Le nostre aziende sono pronte per entrare nell’era delle API?

L’Information Technology in una grande organizzazione complessa è normalmente distribuita tra più dipartimenti e sottogruppi che si differenziano nei loro processi e nelle proprie tecnologie. Ciò rende l’integrazione tra l’organizzazione e l’accentramento dell’IT una grande sfida, che può però contribuire a creare problemi di Shadow-IT . Questo problema spesso aumenta di complessità nel caso di fusioni e acquisizioni di nuove aziende e/o dipartimenti IT. Un aiuto può arrivare da un utilizzo sostanziale delle API. Queste richiedono la comunicazione e una comprensione comune delle interfacce e dei flussi programmabili tra i dipartimenti .

Inoltre, le priorità interne assegnate ai progetti IT nelle aziende variano spesso; e il rivedere, il rimetter in gioco i carichi di lavoro del progetto è una pratica spesso adottata che sembra rimanere salda nel tempo e difficile da sradicare. Nel mondo di oggi le priorità dei progetti variano alla velocità delle mutevoli esigenze aziendali, definite dal business e dal time-to-market. I manager IT devono divenire parte integrante del processo di business, prendere decisioni, sviluppare e mutare con una velocità mai vista fino ad ora. In questa ottica, il mantenimento di iniziative strategiche e una attività di manutenzione costante, può essere difficile.

Inoltre, lo sviluppo delle applicazioni enterprise è ancora largamente controllato e gestito da team di ingegneria/tecnologia che si basano sui metodi tradizionali di sviluppo, incentrando le decisioni sulla tecnologia anziché sugli imperativi di business. Le parti decisionali interessate al business development e alle strategie, come i responsabili di prodotti e gli analisti aziendali, fanno parte del processo di sviluppo solo durante la costruzione delle unità logiche e i moduli tecnici sono sviluppati in enormi blocchi pieni di codice. Solo alla fine si verifica il ciclo di integrazione, con un dispendio di enormi quantità di tempo e di energia; con il risultato di procedere avanti e indietro nel processo di costruzione delle applicazioni, e non nella focalizzazione del business.

Dando seguito quindi alla domanda iniziale del paragrafo…

…oggi, l’IT dovrebbe rispondere alle esigenze aziendali in modo rapido, sensibile al business, a basso costo di manutenzione, a basso costo di sviluppo, cercando scalabilità nativa, sicurezza e coerenza. Pertanto, non è improprio affermare che le imprese con un approccio IT classico non sono destinate a sopravvivere alle sfide poste nell’era dei processi guidati dalle API (API-driven-process). Ciò richiede ai leader IT di semplificare l’infrastruttura, i sistemi e i processi di tutta l’impresa.

Riallineare i processi e il personale IT per spingersi nel mondo delle API

Per sopravvivere e prosperare nel mondo moderno delle API, l’IT deve essere riallineato in ognuna delle seguenti sei dimensioni:

  • Leadership: prima di analizzare un nuovo progetto, identificare gli stakeholder, gli sponsor propositivi e i potenziali oppositori. È fondamentale coinvolgere il team esecutivo per ottenere il loro contributo e supporto. La forza dei senior manager è richiesta non solo per ragioni di bilancio e budget, ma anche per ottenere un allineamento strategico organizzativo e un’importante influenza verso la vision del progetto.
  • Cultura: Le organizzazioni spesso applicano la tecnologia per risolvere problemi complessi solo per scoprire che la tecnologia moltiplica l’impatto e la visibilità del problema. La tecnologia è invece l’enabler e può essere solo la base per la trasformazione; hai bisogno di molto di più di una piattaforma per avere successo. È l’intersezione tra persone, processi e tecnologie che possono aprire la strada al successo.
  • Allineamento: i leader devono creare squadre cross-funzionali, preferibilmente in location comuni, per uno sviluppo agile e un’efficace collaborazione delle risorse aziendali e tecnologiche. L’allineamento tra i team aziendali e l’IT riduce le dipendenze tra le squadre tecnologiche e i dipartimenti, aiutando le squadre a replicare molto più velocemente i processi di quelle che utilizzano le vecchie pratiche, con conseguenti tempi di commercializzazione più rapidi.
  • Priorità: crea un gruppo di utenti e esperti di applicazioni IT che possono analizzare le caratteristiche di ogni applicazione e il processo aziendale che queste supportano. Hanno bisogno di identificare e limitare le applicazioni IT concentrandosi su quelle che possono avere un continuo investimento e riducendo il flusso per il portafoglio e i budget IT. Una volta identificate le applicazioni, utilizzando un’approccio di stratificazione queste possono essere classificate con diversi livelli.
  • Processi: le funzioni IT devono utilizzare metodi agili, come lo scrum, per accelerare lo sviluppo delle applicazioni. I grandi blocchi e le applicazioni monolitiche dell”IT devono cedere e dare spazio a un approccio a due velocità (Bimodal IT) che massimizza l’agilità, appiattendo le gerarchie e facendo da ponte tra il divario che esiste tra strategia e sviluppo software. Approcci come DevOps e continuous delivery dovrebbero essere incoraggiati e utilizzati per facilitare la rapida attuazione delle innovazioni digitali e promuovere reazioni rapide alle mutevoli esigenze dei clienti e dell’azienda.
  • Tecnologia: investire in una piattaforma digitale comune in cui un ecosistema di utenti può ripetutamente creare e scambiare valore. Il dipartimento IT dell’azienda deve diventare custode di questa piattaforma, che deve essere la “fabbrica digitale” per l’intera organizzazione. L’obiettivo dovrebbe essere quello di riutilizzare le capacità digitali per velocizzare le innovazioni, creando, sperimentando e sviluppando in un certo tempo nuove soluzioni e modelli di business.

I manager IT hanno sia la possibilità di cogliere le opportunità di business e di tecnologia di oggi, sia l’onere di preparare i team per contrastare l’aumentare della concorrenza e i cambiamenti continui che vengono dall’era delle API. Dipendentemente da come risponderanno, questo deciderà il successo dell’IT nel mondo delle API.