Gli elementi chiave per modernizzare il ciclo di sviluppo del software

Gli elementi chiave per modernizzare il ciclo di sviluppo del software

Una lezione che abbiamo imparato anche grazie all’evoluzione tecnologica è che la cultura operativa moderna deve essere parte integrante del bagaglio di tutti gli stakeholder aziendali. Ciascuno al suo livello, ciascuno con il suo aggiornamento continuo, tutti devono essere in grado di dare un contributo attivo. È questo il concetto di base che deve essere proattivamente seguito in una organizzazione che voglia competere ai massimi livelli per un periodo lungo. 

In quest’ottica diventano essenziali, in particolare, le lezioni apprese dalle metodologie Agile e DevOps, le tecnologie d’intelligenza artificiale, gli strumenti di monitoraggio e di gestione del ciclo di sviluppo e di vita delle applicazioni, oggi tra le risorse di riferimento per accelerare la trasformazione digitale delle imprese. 

L’obiettivo finale della trasformazione è l’indipendenza del business dalla tecnologia. La soluzione è nelle architetture basate su eventi, strumenti per gestire la sicurezza, il rischio applicativo, gli SLA. Architetture di questo tipo rendono facile la gestione di un sistema informativo eterogeneo che tragga il massimo da ciascuno dei singoli asset informatici presenti in azienda, integrandoli in una visione unica che si aggiorna continuamente senza interrompere l’attività. 

Innovazione tecnologica e di processo 

Ci sono alcune considerazioni generali che vanno valutate nel percorso di trasformazione. Le dimensioni aziendali e organizzative sono così variabili da richiedere risposte che all’aumentare della complessità aumentino la precisione di risposta.  

Spesso viene oggi usato il metodo agile, che si mostra particolarmente adatto laddove gli aspetti tecnologici e funzionali non possono essere determinati con esattezza. 

Cambiamenti di paradigma come lo smart working o la sostenibilità, l’introduzione di tecnologie come l’intelligenza artificiale – già oggi – e il quantum computing – in prospettiva – sono in parte prevedibili e in parte imprevedibili, ma vanno inserite in un contesto omogeneo e indipendente dalla specifica tecnologia. 

 

L’IT Automation libera il potenziale aziendale 

Rispetto al passato anche recente, un altro approccio è oggi disponibile per tutte le nuove fasi del ciclo di sviluppo, ed è basato sull’automazione dell’ICT. Questo nuovo approccio è l’unica scelta per aziende che nascono oggi, ed è essenziale anche per aziende storiche che devono arrivarci secondo una consulenza su come integrare nel tempo il patrimonio preesistente (compreso il personale ICT) con quello di una nuova modalità per il ciclo di sviluppo e manutenzione delle applicazioni. 

 

L’IT automation è quindi il primo obiettivo, quello sul quale costruire il risultato finale.  

Il ciclo di sviluppo del software avviene oggi nel cloud, che ospita anche gran parte del software e dei dati dell’azienda. Operare sul cloud è già un primo livello di automazione delle operazioni, poiché delle funzioni infrastrutturali si occupa il cloud provider. Aziende molto grandi possono avere in casa una parte del software o dei dati e probabilmente lo gestiranno con un cloud privato, sfruttando un modello complessivo sempre a grande automazione detto cloud ibrido. 

Altre considerazioni intervengono a spingere in avanti le necessità di automazione. Sicurezza, ransomware, completamento del ciclo di sviluppo sono punti la cui corretta considerazione evita di far diventare catastrofi delle semplici operazioni di manutenzione programmata. 

L’automazione trova il corretto environment nel cloud, ambiente ideale che garantisce un certo livello di security e compliance. Esistono varie formule di ibridazione del cloud, con uno o più servizi di tipo pubblico e/o privato.  

In alcuni casi può essere necessario implementare un’architettura cloud non banale, eventualmente in parte on-premise. Determinate componenti del patrimonio aziendale di dati o software possono restare on-premise nei sistemi aziendali. Eventuali componenti legacy, opportunamente analizzate, possono rientrare (almeno in parte) in una architettura ad eventi, intrinsecamente resiliente al modificarsi delle condizioni tecnologiche e di mercato. 

L’importanza, per il ciclo di sviluppo, del modello DevOps 

Un grande aiuto è venuto dalla suddivisione dello sviluppo del software in piccoli step continuamente aggiornati. Ai team di sviluppo è richiesto un continuo aggiornamento, quando non l’introduzione di nuovi componenti dello staff che portano un nuovo expertise, al contempo apprendendo metodologie e competenze degli altri membri dello staff. Si tratta della cultura DevOps, che ha acquisito le necessità dello sviluppo sicuro (SecDevOps) ed ora in svariati casi anche quello dell’intelligenza artificiale (AIOps).  

La filosofia DevOps è via via diventata un approccio strategico a livello dell’intera azienda, uscendo dall’ambito puramente informatico per diventare un riferimento anche per il management. 

 

WP - modernizzare le applicazioni