Dal modello Waterfall all’Agile, dall’Agile alla Continuous Integration, dalla Continuous Integration al Continuous Deployment. Qualunque sia il vostro processo, l’obiettivo è il medesimo: trovare un modo per rilasciare più velocemente il codice, senza sacrificare la qualità. Spesso però velocità e qualità sono in contrapposizione tra loro.
Come poter accelerare i processi di delivery senza impattare negativamente sulla qualità dei rilasci? Occorre innanzitutto definire una strategia che permetta di accelerare senza tralasciare questi aspetti:
– Automazione strutturata: occorre integrare correttamente l’automation all’interno dell’intera delivery chain, allontanandosi dai lontani approcci artigianali e asincroni e portando a supporto delle pratiche DevOps i team coinvolti, i processi in atto e le tecnologie senza rallentare i processi in atto.
– Linguaggio comune: è di fondamentale importanza definire e condividere un vocabolario comune, favorendo l’integrazione tra i team che seguono un indirizzo comune.
– Condivisione degli obiettivi: se i soggetti coinvolti nel processo di software release non hanno un obiettivo comune si generano strategie concorrenti, che a loro volta conducono a ritardi dei rilasci. E’ necessario quindi definire non solo una strategia universale ma anche obiettivi comuni e responsabilità reciproche.
– Pipeline e business metrics: è necessario monitorare costantemente il processo di rilascio (build, velocità, bug, ecc.) al fine di sapere quali fattori modificare in futuro per poter incrementare la velocità e la qualità del codice.
– Strategia per la qualità: la quality è una reponsabilità universale e i team coinvolti devono saper gestire la qualità dell’intera pipeline, dei componenti utilizzati e delle nuove features rilasciate.
– Pianificazione ed eliminazione degli ostacoli: occorre definire a priori un piano strategico di implementazione DevOps, da integrare in modo Agile con i progressi.
Tuttavia, introdurre una strategia basata sull’ottimizzazione della qualità dei deployment e sulla riduzione (da mesi a settimane) della cadenza dei rilasci non è così semplice come potrebbe sembrare: non è sufficiente imparare pratiche Agili e introdurre nuovi tool per l’automazione; bensì, occorre coinvolgere le persone, le tecnologie e, in particolar modo, è necessario definire un piano di transizione al fine di identificare le priorità del proprio business e integrare costantemente le varie metriche, riducendo il debito tecnico e il lavoro non pianificato.
Nel moderno mondo dello sviluppo software è più facile andare veloce anzichè assicurarsi di avere l’agilità giusta per garantire i successi futuri. Nonostante ciò, è importante riconoscere il valore del tempo speso a elaborare e mettere in esecuzione una strategia per raggiungere il giusto livello di agilità rispetto al solo obiettivo di raggiungere velocità nella software delivery.
Come identificare le priorità del proprio business?
Come introdurre l’automazione all’interno della pipeline?
Come definire un set di metriche comuni basate su obiettivi condivisi?
Come realizzare un piano strategico in grado di coinvolegere tutti i players e implementare il giusto livello di agilità all’interno dei vari team?
Scarica il whitepaper in italiano “Faster, Smarter DevOps”, in cui sono raccolti alcuni brevi ma importanti consigli su come velocizzare i processi di software delivery migliorando la qualità delle operazioni di deployment.
Per maggiori informazioni contatta Emerasoft all’indirizzo email sales@merasoft.com o telefonicamente allo 0110120370 (sede di Torino) o allo 0687811323 (sede di Roma).