Tutto su Digital Workplace e Smart Working - Il blog di Present

DevOps assessment: ottimizza e automatizza i processi di rilascio software

Scritto da Present | 29 novembre 2022

Un aspetto fondamentale per qualsiasi progetto d’implementazione DevOps è l’assessment iniziale. Ogni realtà d’impresa ha delle specificità che riguardano il business e l’organizzazione che si traducono in esigenze e prospettive differenti nell’evoluzione delle software factory e dell’IT. Il DevOps assessment è quindi un momento cruciale d’ogni progetto per il miglioramento metodologico e organizzativo, un mezzo per identificare lo stato degli elementi sui quali agire per un implementazioni DevOps di successo, a partire dalle competenze delle persone.


Perché il DevOps assessment deve iniziare dalle persone

L’esperienza di Present nei progetti di miglioramento metodologico delle software factory ci ha portato a considerare gli aspetti culturali come componenti critiche del cambiamento, quindi da sondare nel DevOps assessment. Serve identificare fin dall’inizio le conoscenze che ci sono e che mancano, a cominciare da quelle sul DevOps e di cosa ne comporta l’adozione. Solo in seguito si possono analizzare le aree meritevoli d’intervento e quindi le modalità con cui ottenere miglioramenti.

Conoscere DevOps è il prerequisito per evitare aspettative illusorie, così come utilizzi impropri del termine, per esempio, nei bandi di gara che riguardano il software, dove DevOps e DevSecOps sono spesso richiamati a sproposito in contesti dove sono palesemente inapplicabili. Al di là della popolarità, DevOps dev’essere visto come il punto d’arrivo di un percorso di miglioramento, di un insieme di cambiamenti del lavoro di chi sviluppa e di chi fa operation IT che si realizza prima di tutto con le persone e poi con i supporti tecnologici.


Integrare le competenze dei team con la formazione

Senza un DevOps assessment efficace sulle competenze delle persone, le implementazioni del metodo sono destinate a fallire. È il motivo per cui non vanno a buon fine i tentativi d’introdurre DevOps con soluzioni standardizzate che, sulla carta, vengono vendute come facili da adottare. Progetti che in genere si arenano in pochi mesi sulle resistenze psicologiche delle persone, a volte determinando il rifiuto a intraprendere successivamente dei percorsi più seri per industrializzare l’IT.

Nella pratica di Present, il DevOps assessment deve portare a galla, fin nella fase iniziale, i problemi di conoscenza e di formazione delle persone. Poiché lo scopo del DevOps è migliorare i collegamenti tra sviluppo del software e operation IT è importante che le persone dei team riescano ad avere in comune alcune competenze di base. Chi fa programmazione, per esempio, può aver bisogno d’integrare le conoscenze mancanti nell’ambito sistemistico oppure in quello dei middleware, dei container Docker, dei sistemi d’orchestrazione (Kubernetes) oltre che nei servizi avanzati offerti dalle piattaforme dei cloud provider.


Il DevOps assessment sulle fasi dei processi

Assodati gli aspetti che riguardano le competenze, il DevOps assessment può proseguire con la verifica dello stato di maturità delle fasi di produzione (le fasi di scrittura del codice, gestione degli artefatti, creazione delle build, i processi di continuous integration & continuous delivery, versioning, test, deploy, monitoraggio e così via) identificando le aree sulle quali ha senso più intervenire per chiudere i gap funzionali, ridurre i colli di bottiglia nell’integrazione e migliorare il livello d’automazione.

A seconda delle preferenze e delle scelte architetturali del cliente, Present è in grado di creare e ottimizzare le catene d’automazione CI/CD e di supporto al DevOps su ogni tipo di infrastruttura: sia tradizionale sia su macchine virtuali o servizi gestiti in cloud.

Solo a valle del DevOps assessment è possibile avviare i progetti pilota, a partire dalle aree che consentono di ottenere i vantaggi più immediati e, nel contempo, i minori problemi d’impatto. Analisi nelle quali Present mette in campo tutta l’esperienza e le professionalità acquisite negli anni sia nell’area del software delivery sia in quella infrastrutturale e dei servizi in cloud.