By Mike Rosen

Febbraio 2021

BizOps, come migliorare DevOps con il feedback di business continuo

Le aziende come possono adattare i loro progetti ai cambiamenti improvvisi e ottenere un feedback immediato per proteggere il valore degli sforzi compiuti? La risposta è partire dall’analisi dei requisiti e dalla misurazione dei risultati per un allineamento continuo al business

Il Covid-19 ha fatto piombare tutto il mondo in un periodo di forte incertezza e di discontinuità economica. E questo è avvenuto nel bel mezzo dei cambiamenti della trasformazione digitale: le aziende si trovano adesso ad affrontare contrazioni, controllo dei costi e passaggi accelerati alle attività da remoto, cercando anche di conciliare la sopravvivenza nell’immediato con gli investimenti per il futuro. Man mano che le settimane si trasformano in mesi, inizia a emergere un termine più lungo. Ora si è più in grado di sopportare la recessione e di adeguare i modelli operativi e di business alla nuova realtà: ecco perché l’agilità e l’adattabilità sono oggi più importanti che mai. Ma tutto sta cambiando così rapidamente che anche le migliori decisioni prese ora potrebbero non essere la cosa giusta il mese prossimo. Quindi, come possono le aziende proteggere i loro impegni su cosa fare, convalidare le ipotesi e ottenere un feedback immediato che consenta di adattare il loro approccio e massimizzare il valore degli sforzi compiuti? La risposta è adottare un approccio basato sulle ipotesi. Si sviluppa un’ipotesi su come un’iniziativa, un prodotto, un servizio o qualsiasi altra cosa influirà su un risultato. Quindi, si misurano i risultati, si regola e si ripete in rapide iterazioni. In altre parole, adotta BizOps. Le organizzazioni IT stanno già adottando approcci di sviluppo che consentono requisiti flessibili ed emergenti, uno sviluppo più rapido, l’automazione dei processi, con aggiornamenti frequenti ed eccellenza operativa. Lo sviluppo Agile è uno degli aspetti chiave di questo cambiamento. Allo stesso tempo, molte organizzazioni hanno adottato DevOps, contrazione di “development to operations”, che coordina l’intera catena dallo sviluppo all’implementazione.

DevOps può aumentare notevolmente la velocità e l’efficienza dello sviluppo, ma questo spesso va a scapito dell’allineamento strategico o di business. In tempi di crisi, non ci si può permettere di sprecare sforzi: è per questo che, sebbene la velocità sia importante, sono le cose giuste alla giusta velocità che sono fondamentali per il successo nei tempi attuali. Alcune caratteristiche chiave di DevOps che contribuiscono alla velocità sono il feedback continuo tra le diverse fasi, i tempi di ciclo più rapidi supportati dai piccoli sprint e dall’automazione Agile, e infine metriche che misurano il successo complessivo e la velocità del processo DevOps. BizOps ha lo scopo di migliorare queste qualità per allinearsi al business e consentire rapidi cambiamenti di business.

Figure 1 -Enterprise Architecture Context

Il ciclo continuo BizOps – Il ciclo continuo BizOps prevede diversi elementi: lo sviluppo Agile, l’integrazione, le fasi di test continuo, la delivery ripetuta, la misurazione e la strategia continua.

Lo sviluppo Agile si riferisce a un insieme di metodologie basate sullo sviluppo iterativo, in cui i requisiti e le soluzioni si evolvono attraverso la collaborazione tra team interfunzionali auto-organizzati. Agile è iterativo e incrementale, ha un tempo prefissato, è guidato dai test, focalizzato su un MVP (Minimum Viable Product) basato sul feedback continuo ed è misurabile. L’integrazione è il processo continuo di fusione di tutto il codice in un repository centrale e di convalida di ogni unione con il completamento di una compilazione e di una build di successo, con l’esecuzione di unit test automatizzati.

ll test continuo è l’esecuzione di test automatizzati sulla base del codice e sui vari ambienti di implementazione. Comprende test unitari, analisi del codice statico, analisi del codice di sicurezza, test di integrazione, test di carico e prestazioni, tutti eseguiti in una pipeline di test continui automatizzati.

La delivery continua è il processo di delivery del software e degli aggiornamenti alla produzione in incrementi più piccoli e pronti all’uso, garantendo che il software possa essere rilasciato in qualsiasi momento. L’obiettivo della delivery continua è accelerare i cicli di rilascio e portare rapidamente il nuovo codice in produzione. BizOps prende questi componenti chiave di Agile e DevOps e li estende per includere la misurazione e le preoccupazioni aziendali e di business. Il feedback continuo si estende alle altre due importanti fasi della misurazione e della strategia. La misurazione continua è il processo di raccolta delle informazioni sull’uso, la qualità e la fornitura di valore di prodotti e servizi, e il loro reinserimento nel ciclo per ottenere un miglioramento continuo e una maggiore realizzazione di valore. La sfida non è semplicemente misurare l’output di prodotti e servizi, ma misurare che stiano raggiungendo i risultati di business attesi. L’aggiunta di misurazioni continue al ciclo di feedback garantisce che la comprensione del valore di business sia integrata nel processo di sviluppo Agile e che la definizione di “eseguito” includa la strumentazione di prodotti e servizi software per raccogliere le metriche appropriate. La strategia continua consiste nell’applicazione di un contesto strategico e aziendale di business nella selezione delle attività di progetto e programma. Ciò significa avere una comprensione condivisa di cinque elementi fondamentali: 1) strategia e contesto; 2) priorità e dipendenze; 3) modelli operativi e di business; 4) value proposition; 5) fornitura di valore attraverso prodotti e servizi.

L’architettura intenzionale – Naturalmente, nel contesto aziendale c’è molto di più oltre agli aspetti di business. Le aziende dispongono inoltre di una strategia e di un’architettura tecnologica fondamentali per l’esecuzione efficiente ed efficace della strategia di business: una “architettura intenzionale”. Lo sviluppo dell’architettura deve essere sufficientemente flessibile da incorporare i requisiti emergenti quando vengono implementati prodotti e servizi e vengono integrati altri cambiamenti. Quindi, viene sviluppata utilizzando le stesse pratiche Agile e DevOps di altre tecnologie. Allo stesso tempo, man mano che le funzionalità del prodotto vengono sviluppate, dipenderanno da specifiche “funzionalità di abilitazione”.

Per ottimizzare la delivery complessiva, lo sviluppo di questi abilitatori architetturali deve essere qualche passo avanti rispetto alle caratteristiche del prodotto e del servizio che dipenderanno da loro, in altre parole, pronti quando necessario. Un aspetto importante della fase di strategia continua è l’identificazione e la pianificazione delle caratteristiche abilitanti in modo che l’architettura intenzionale sia sempre pronta a supportare prodotti e servizi emergenti.

Visione comune – Un altro concetto essenziale di DevOps è l’idea di autonomia. I team sono responsabili del proprio destino e di tutti gli aspetti del ciclo di vita del prodotto, dallo sviluppo all’integrazione, al test e alla consegna. Ma, affinché i team autonomi funzionino, devono avere due cose: chiarire obiettivi e scopi, e competenza nei compiti previsti. La chiave di tutto ciò è una visione, una strategia e valori ben definiti e articolati, compresi in tutta l’azienda e fatti applicare continuamente dai vertici. I team prendono decisioni in base al modo migliore per realizzare la visione dell’impresa nel contesto dei suoi valori. Le architetture tecnologiche e di business forniscono il contesto per questa visione e la fase di strategia continua offre l’opportunità di mantenerla sempre attuale e pertinente. Quando c’è chiarezza di intenti e i team hanno l’autorità e la competenza per agire, possono realizzare risultati di business significativi, nonché una maggiore efficienza ed efficacia con BizOps.