Three ways: I principi di DevOps

Data : 29/10/2024| Categoria: IT Governance & Service Management| Tags:

I principi delle “Tre Vie” sono stati presentati nel libro The Phoenix Project di Gene Kim, Jez Humble e Patrick Desbois. I principi “Three Ways” rappresentano la filosofia alla base del movimento DevOps e forniscono una guida su come ottimizzare il flusso di lavoro, creare cicli di feedback rapidi e promuovere una cultura di apprendimento continuo e sperimentazione. Quali sono questi principi e come possono aiutare le organizzazioni a migliorare la collaborazione tra sviluppo e operation?

Ecco i tre principi:

  • The First Way: Flusso e Pensiero Sistemico (Flow & System Thinking)
  • The Second Way: Ciclo di Feedback (Amplify Feedback Loops)
  • The Third Way : Apprendimento Continuo e Sperimentazione (Culture of Continual Experimentation & Learning
    Copyright: PeopleCert

1. First Way: Flusso e Pensiero Sistemico

La prima “via” si concentra sull’ottimizzazione del flusso di lavoro dallo sviluppo, Dev (lato sinistro del processo) alle operation, Ops (lato destro del processo) e infine al cliente. L’obiettivo è creare un flusso veloce ed efficiente, che permetta di consegnare valore più rapidamente, ridurre gli sprechi e limitare i passaggi intermedi.

Concerne principalmente l’accelerazione del flusso di lavoro all’interno di un processo. Che lo si chiami Flusso o Pensiero Sistemico, i principi First Way lavorano verso lo stesso obiettivo: vedere il flusso di lavoro come un sistema continuo (non suddiviso in compartimenti stagni) che può essere costantemente migliorato e ottimizzato.

Business Customer
Dev Ops

Principi chiave:

  • Rendere il lavoro “visibile”: A differenza dei processi di produzione visibili su una linea di montaggio, il flusso del software attraverso il ciclo di sviluppo non è facilmente osservabile. Strumenti come le Kanban board possono rendere visibili le attività dietro le quinte, mostrando il movimento da sinistra a destra, da Dev a Ops, di una user story attraverso le varie fasi di sviluppo.
  • Massimizzare il flusso di lavoro: Accelerare la consegna di funzionalità, aggiornamenti e correzioni dal team di sviluppo a quello di operazioni, identificando e rimuovendo colli di bottiglia.
  • Ridurre le dimensioni dei batch: Lavorare in piccoli lotti riduce la complessità e permette una consegna più rapida e un feedback tempestivo.
  • Limitare il Work in Progress: mantenere il work-in-progress al minimo è un fattore importante per accelerare il flusso di lavoro, perché minimizza il tasking e il cambio contesto
  • Ottimizzare per l’intero sistema: Pensare al sistema nel suo complesso, piuttosto che ottimizzare solo le singole parti. Se ci sono delle ottimizzazioni o miglioramenti, bisogna sempre valutare l’effetto e le conseguenze che possono avere sul flusso generale. L’approccio deve essere olistico, non focalizzato sulle attività verticali dei dipartimenti coinvolti.
  • Identificare e rimuovere vincoli e sprechi: L’obiettivo deve essere quello di migliorare il flusso, quindi bisogna identificare e rimuovere i vincoli e i colli di bottiglia. Tutto ciò che non serve e non aggiunge valore deve essere rimosso.

Esempi nelle pratiche DevOps:

  • Integrazione Continua (CI): Unione frequente del codice nelle branch principali per garantire un flusso di lavoro senza intoppi.
  • Consegna Continua (CD): Automazione del processo di rilascio per rendere la consegna più veloce, ripetibile e affidabile.

2. Secondo Way: Amplificare i Cicli di Feedback

La seconda “via” riguarda la creazione di cicli di feedback rapidi e continui, in modo che i problemi possano essere identificati e risolti rapidamente. Il suo obiettivo è accorciare e amplificare il ciclo di feedback tra operazioni e sviluppo (da destra a sinistra) per rendere il sistema più resiliente e adattabile.

Principi chiave:

  • Rilevare e risolvere i problemi rapidamente: Implementare pratiche che permettano di individuare e risolvere i problemi appena si verificano.
  • Creare cicli di feedback tempestivi: Il feedback dagli ambienti di produzione deve raggiungere rapidamente i team di sviluppo, per risolvere i problemi prima che impattino i clienti.
  • Integrare la qualità nel processo: Test, monitoraggio e controlli di qualità devono essere integrati lungo tutto il ciclo di sviluppo.

Esempi nelle pratiche DevOps:

  • Test automatici: Forniscono un feedback immediato agli sviluppatori sulla correttezza del loro codice.
  • Monitoraggio e allerta: Il monitoraggio in tempo reale dei sistemi in produzione consente l’identificazione rapida di guasti o problemi di prestazioni.

3. Third Way: Apprendimento e Sperimentazione Continui

La terza “via” riguarda la creazione di una cultura di sperimentazione continua, apprendimento e miglioramento. Promuove l’uso di esperimenti per favorire l’innovazione e creare un’organizzazione ad alte prestazioni e adattabile. Questa via allontana l’IT Management da una cultura tradizionale basata sulla colpa e garantisce che venga premiata la capacità di assumersi dei rischi e di tentare strade nuove anche quando potenzialmente rischiose. La third way garantisce che il sistema evolva e che il team cresca professionalmente nel tempo grazie al rischio e alla sperimentazione.

Principi chiave:

  • Favorire una cultura della sperimentazione: Consentire ai team di provare nuove strategie e accettare il fallimento come opportunità di apprendimento.
  • Incoraggiare l’apprendimento continuo: Investire nella formazione e nello sviluppo dei team, promuovendo l’apprendimento sia dai successi che dagli errori.

Esempi nelle pratiche DevOps:

  • A/B testing e sperimentazione: Condurre esperimenti in produzione per testare nuove funzionalità.
  • Kaizen (Miglioramento Continuo): Valutare regolarmente i flussi di lavoro e i sistemi per individuare aree di miglioramento.
  • Chaos engineering: Introdurre guasti controllati nei sistemi per capire come reagiscono a stress, per allenarli a gestire i problemi ed essere più resilienti.

Importanza delle Tre Vie in DevOps

Le Tre Vie offrono una guida strategica per implementare DevOps. Forniscono principi per:

  • Aumentare la collaborazione tra team che tradizionalmente lavoravano in compartimenti separati (come sviluppo e operation).
  • Ridurre il rischio nei rilasci, rendendoli più veloci, più piccoli e più frequenti.
  • Promuovere l’innovazione e l’adattabilità incoraggiando la sperimentazione e l’apprendimento continuo.

Conclusioni

In conclusione, le Tre Vie di DevOps forniscono una roadmap chiara per aiutare le organizzazioni a migliorare i loro processi di consegna del software, garantire qualità e creare una cultura di innovazione e miglioramento continuo. Insieme, permettono alle organizzazioni di rispondere meglio alle esigenze dei clienti, adattarsi al cambiamento e mantenere un vantaggio competitivo.

Condividi l'articolo, scegli la piattaforma!

Newsletter

Iscriviti alla newsletter di QRP International per ricevere in anteprima news, contenuti utili e inviti ai nostri prossimi eventi.

   
   

QRP International userà le informazioni che scriverai nel form per restare in contatto con te. Vorremmo continuare ad aggiornarti con le nostre ultime news e con contenuti esclusivi pensati per supportarti nel tuo ruolo.

       
       

Puoi cambiare idea in qualsiasi momento cliccando il link "unsubscribe" dal footer di una delle email che riceverai da noi o scrivendoci a marketing@qrpinternational.com. Tratteremo le tue informazioni con rispetto. Per maggiori informazioni sulle nostre privacy policy puoi visitare il nostro sito web. Cliccando in basso, accetti che potremo utilizzare le tue informazioni in conformità con questi Termini & Condizioni.

We use Mailchimp as our marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp's privacy practices here.