Le applicazioni, che hanno da sempre rappresentato il cuore del reparto IT, si sono spostate al di fuori e non sono più una competenza esclusiva del team IT.
Ormai è assodato che oggi tutte le aziende offrono soluzioni software, e che la capacità di fornire con rapidità nuovi servizi e nuove funzionalità ai clienti è uno dei principali elementi di differenziazione dalla concorrenza che un'azienda può offrire. Un IT agile può consentire alle startup di ottenere un notevole vantaggio competitivo rispetto a grandi competitor.
C'erano una volta, diverse generazioni fa negli anni della tecnologia, i dipartimenti IT. Essi erano dipartimenti interni, focalizzati sulla manutenzione delle infrastrutture e dei servizi all'interno dell'azienda. Alcune aziende possono aver avuto servizi esterni, in particolare servizi web, ma in genere si trattava ancora di un'area marginale e ristretta. L'IT non era un dipartimento strategico o che generava entrate; era un ambiente di supporto visto e considerato come un centro di costo.
Un ambiente IT incentrato sull'infrastruttura ha fatto sì che gli sviluppatori perdessero il senso di ciò che il loro codice era destinato a fare. Passava troppo tempo dal momento della scrittura del codice alla sua implementazione e al successivo rilascio.
I cicli di rilascio erano lunghi e i cambiamenti lenti. Uno sviluppatore che lavorava su qualcosa sviluppava del codice che veniva sottoposto ad una fase di test molto lunga, e che quindi sarebbe stato rilasciato mesi dopo.
A causa di questo lungo periodo di tempo, gli ingegneri del software hanno perso la gioia di sviluppare qualcosa, perché alla fine non avevano modo di vederlo funzionare nel mondo reale; o, ancora peggio, quando ciò avveniva il codice scritto era da ritenersi obsoleto e non più allineato ai processi aziendali, perciò del tutto inutile.
La trasformazione digitale genera grandi e potenti cambiamenti sia culturali che tecnologici ed essi reintroducono la gioia nel creare e scrivere codice. Con l’uso delle nuove tecnologie e dei nuovi modi di scrivere codice gli sviluppatori possono creare qualcosa e poi vederlo effettivamente funzionare. Questo è un cambiamento potente. Riporta l'immediatezza della creazione del codice.
Vedere l'applicazione dal vivo fornisce agli sviluppatori un ciclo di feedback veloce ed immediato e ciò consente loro di riprogettare e migliorare il loro codice in un ciclo virtuoso e agile migliorando sempre di più e costantemente la loro creazione.
La propria organizzazione è spesso vittima di tutto ciò. È come se fosse un elefante che si muove goffamente e lentamente. La vera sfida sta nel trasformare l’elefante in agile ballerina classica, mediante appunto un percorso di trasformazione digitale e l’uso delle nuove tecnologie (microservizi) e delle nuove piattaforme software (cloud).
Il senso della Trasformazione Digitale
La trasformazione digitale è un cambiamento strategico per le imprese.
Tuttavia, non esiste una definizione comune di trasformazione digitale a parte quella di "cambiare le cose". Il termine trasformazione digitale è talvolta usato per indicare nuove architetture, come i microservizi, nuovi processi, come i DevOps, o nuove tecnologie, come i sw container e le Application Program Interfaces (API).
La trasformazione digitale non è una cosa specifica che si può ottenere. È una cosa che ogni organizzazione deve definire in modo unico per se stessa.
Non esiste un singolo modello architettonico o una piattaforma tecnologica che funziona perfettamente in ogni singolo ambiente.
Le organizzazioni che riescono ad implementare la trasformazione digitale sono quelle che hanno una chiara comprensione dei propri obiettivi e della propria cultura, e questo è diverso per ogni realtà aziendale.
Per esempio:
- Walmart ha eseguito il deployment del suo codice durante il Black Friday, quando 200 milioni di persone erano online.
- Amazon esegue aggiornamenti del codice ogni secondo (50 milioni di volte all'anno) su centinaia di applicazioni e milioni di istanze cloud.
- Etsy esegue 60 deployment al giorno con un'applicazione monolitica.
- Netflix esegue il deployment centinaia di volte al giorno su un'architettura distribuita complessa, in cui una singola modifica al codice passa dal check-in alla produzione in 16 minuti.
Ognuna di queste aziende sta lavorando con strutture di team, basi di codice e architetture completamente diverse. Il punto non è che si sono concentrati su questo modello o su questa tecnologia e tutto ha funzionato. Tutti hanno iniziato con le valutazioni dei loro team, il loro attuale debito tecnico e le loro strategie di business, e poi hanno intenzionalmente e coerentemente spostato le loro imprese nella direzione nella quale volevano andare. Ottenendo infine anche ottimi risultati.
Questo è il processo da seguire “per far ballare l’elefante”. Ovunque si trovi la vostra azienda, è possibile completare il processo di trasformazione (correggendo debito tecnico, difetti di progettazione e così via) seguendo una strategia e passaggi definiti.
Perché ciò avvenga, è necessario stabilire con chiarezza gli obiettivi e quanto occorrerà per raggiungerli.