Article Il valore comune del modello Agile e DevOps
By Insight IT / 14 Mar 2023 / Argomenti: Agile Sviluppo applicazioni DevOps Digital transformation
By Insight IT / 14 Mar 2023 / Argomenti: Agile Sviluppo applicazioni DevOps Digital transformation
Tentare di gestire questa complessità con un tradizionale approccio a cascata, in cui i progetti si muovono lungo un percorso lineare e sequenziale, comporta rischi eccessivi. Processi macchinosi portano a lunghi cicli di rilascio che rallentano il flusso delle funzionalità per i clienti e fanno perdere quote di mercato. Cicli di feedback peggiori, ritardati o mancanti possono portare allo sviluppo di funzionalità che non sono in linea con le esigenze dei clienti.
Per affrontare queste sfide, le aziende moderne stanno modificando il loro approccio. Secondo le stime di Gartner, circa l'85% delle organizzazioni predilige un modello di delivery incentrato sul prodotto, come promosso sia da Agile che da DevOps, rispetto al metodo tradizionale incentrato sul progetto.
Ma la correlazione e, in alcuni casi, l'intersezione di Agile e DevOps può creare confusione. Sono complementari o in competizione? Quali sono le differenze? Dove sono implementati all'interno della tua organizzazione? E quale dovresti adottare per primo?
Agile, nella sua forma più semplice, fornisce una serie di linee guida per aiutare i team a mantenere l'attenzione sulle esigenze in evoluzione del cliente durante l'intero ciclo di sviluppo. Rafforzando in modo iterativo le funzionalità, sollecitando i feedback e migliorando la produttività nel tempo, Agile consente alle organizzazioni di creare percorsi di apprendimento progressivo e di lavorare per la realizzazione di un prodotto che comprenda un percorso dell'utente end-to-end.
Esistono molti approcci, da Scrum e Kanban al Lean Software Development, che possono essere applicati ad Agile, ma è fondamentale riconoscere che la semplice adozione di queste pratiche in modo standardizzato non aiuterà la tua organizzazione a raggiungere gli obiettivi di trasformazione. Allo stesso modo, limitare l'adozione di Agile ai soli team di sviluppo, o tentare di implementare questo approccio senza modificare la cultura di fondo, porterà inevitabilmente a scarsi risultati e opportunità mancate.
Ma anche coloro che hanno trasformato efficacemente i loro processi con Agile, spesso notano possibilità di ottimizzare ulteriormente il processo di sviluppo. I team possono essere in grado di sviluppare e distribuire rapidamente le applicazioni, ma l'approccio spesso rivela sfide per il supporto tecnico, la sicurezza e l'automazione. Sebbene Agile sia efficace nell'evidenziare questi problemi, non intende fornire soluzioni: non include tattiche specifiche per l'esecuzione o la misurazione. Presuppone invece che le organizzazioni debbano adottare altre pratiche e metodologie in parallelo.
Questo è il motivo per cui, secondo il 14° Annual State of Agile Report, il 90% delle organizzazioni che hanno implementato Agile ritiene che la trasformazione DevOps sia importante per i propri obiettivi, con il 76% che riferisce di essere attualmente in fase di realizzazione o di pianificazione di un'iniziativa DevOps nel prossimo anno .
Talvolta definito come metodologia Agile applicata al di là del team software, DevOps si è evoluto dal riconoscimento che molti degli stessi principi stabiliti per migliorare il processo di sviluppo del software potevano essere applicati anche all'intero flusso di valore del prodotto. L'obiettivo di DevOps è quello di semplificare e gestire i processi di engineering dall'inizio alla fine, consentendo ai team IT di accelerare il time-to-market con un'elevata qualità e affidabilità.
Poiché la metodologia DevOps richiede un approccio olistico nella gestione dei processi, richiede un'ampia gamma di competenze nello sviluppo del software e nelle operazioni IT, includendo tutti coloro che sono coinvolti nel passaggio da una semplice idea alla distribuzione di produzione. Unificando persone, processi, tecnologia e cultura per creare team multidisciplinari, DevOps aiuta le organizzazioni a migliorare la comunicazione e la collaborazione, a ridurre i lunghi passaggi tra i vari silos focalizzando maggiormente l'attenzione su test costanti e consegna continua.
Per raggiungere questi obiettivi, DevOps non solo abbraccia molti principi Lean e Agile, ma fornisce anche molte delle pratiche complementari necessarie per risolvere le sfide tecniche e di processo legate alla consegna rapida. Riunire tutti i team all'interno del flusso di valore con un'enfasi sulla collaborazione, l'automazione e il testing, consente alle organizzazioni di supportare meglio i rilasci rapidi, frequenti e di alta qualità a cui mira Agile.
I valori fondamentali e i cambiamenti culturali associati sia ad Agile che a DevOps offrono un nuovo modo di pensare e affrontare le sfide dell'incertezza e del cambiamento continuo. Se applicati in tandem, questi approcci producono maggiore visibilità e allineamento, tempi di commercializzazione più rapidi, maggiore qualità e, in ultima analisi, maggiore valore per l'azienda.
Secondo una ricerca di Freeform Dynamics, le aziende che sfruttano efficacemente Agile e DevOps insieme, non solo all'interno di team specifici ma anche nell'intera organizzazione, registrano una crescita dei ricavi e dei profitti fino al 60% superiore rispetto alle loro controparti non Agile e DevOps. Inoltre, anno più del doppio delle probabilità di far crescere il proprio business a un tasso superiore al 20%.
Ciò è dovuto al fatto che Agile e DevOps consentono ai team di mantenere la concentrazione sul loro prossimo miglior investimento nel prodotto. Forniscono un quadro per ottimizzare le strutture organizzative, i processi e gli strumenti per consentire un flusso di valore sostenibile. Questi approcci aiutano anche a rimuovere o integrare i silos per sostenere obiettivi comuni, creando maggiore chiarezza nelle responsabilità decisionali e nel coinvolgimento nei settori chiave.
I team che adottano con successo sia Agile che DevOps sono in grado di distribuire le funzionalità in produzione più velocemente, più frequentemente, con una qualità più elevata e meno sforzi, e a un costo significativamente inferiore.
Dei 1.279 leader IT intervistati da Freeform Dynamics, solo il 18% ha implementato ampiamente Agile e DevOps nelle proprie organizzazioni. Ciò indica che, sebbene i moderni leader aziendali comprendano la necessità di adottare DevOps e Agile, la maggior parte di essi non ne sta cogliendo appieno i vantaggi.
Chi sta pensando di implementare DevOps e Agile insieme dovrebbe iniziare con l'approccio che risponda meglio alle esigenze aziendali più immediate. In molti casi, sviluppare competenze su un approccio porterà all'altro.
Che si tratti di iniziare con Agile or DevOps, ecco alcuni fattori chiave da considerare:
Inizia con qualcosa di piccolo e semplice.
Applica i principi di Agile per implementare il cambiamento in modo iterativo e incrementale, trattando il percorso di adozione come un Minimum Viable Product (MVP). Ciò significa consentire ai tuoi team di apprendere attraverso l'iterazione, aggiungendo complessità in modo incrementale nel tempo. Senza questo approccio, corri il rischio di ricreare qualcosa che funzioni e produca risultati molto simili ai sistemi esistenti senza apportare molti miglioramenti nei risultati.
Non tutte le sfide sono uguali.
Durante il processo di trasformazione, le organizzazioni scoprono quasi sempre diversi tipi di problemi e opportunità di crescita: semplici, complicati, complessi e caotici. Esistono principi e pratiche che si adattano a ciascun tipo di sfida. Le organizzazioni più performanti riconoscono la necessità di affrontare tutti e quattro i tipi di problemi e consentono l'uso adattivo dei principi e delle pratiche più adatti a ciascuna situazione.
Cerca soluzioni oltre la leadership.
Molti leader cercano di definire la soluzione da implementare, il che crea naturalmente resistenza e limita notevolmente l'efficacia. Un maggiore successo si riscontra quando i leader definiscono chiaramente il problema e i risultati desiderati, insieme a limiti e livelli chiari di delega decisionale. L'obiettivo dovrebbe essere quello di creare uno spazio in cui le persone più vicine al lavoro siano libere di sperimentare e scoprire soluzioni.
Guida attraverso la cultura.
Il sostegno e l'impegno costanti da parte della dirigenza sono un indicatore chiave del successo di qualsiasi trasformazione. In qualità di leader all'interno dell'organizzazione, il tuo ruolo deve essere quello di guidare e sostenere i cambiamenti culturali critici necessari per consentire la comunicazione, la collaborazione, la compassione e la creatività. Durante la trasformazione, dovrai esaminare costantemente quali elementi della cultura attuale ostacolano la crescita e individuare le misure per modificare le tue parole e azioni a favore di comportamenti che consentano una migliore agilità.
Non dimenticarlo.
Tieni presente che la prima iterazione di qualsiasi soluzione sarà imperfetta e pianifica di conseguenza miglioramenti continui. Anche le soluzioni che ben si adattano alle tue esigenze o alle circostanze esistenti dovranno essere adattate nel tempo per far fronte alle nuove incertezze e ai continui cambiamenti. Questa necessità di ottimizzazione continua si applica a prodotti software, a processi, strumenti e sforzi di trasformazione più ampi.
Evita di ricadere nelle vecchie abitudini.
Sia l'inerzia organizzativa che i principi della natura umana fanno sì che le aziende si sentano facilmente a proprio agio con le cose così come sono, nel bene e nel male. Anche una volta che ci si è impegnati a cambiare, a lungo andare, se la mentalità culturale non cambia nello stesso modo in cui abbracciamo i nuovi modi di fare le cose, è probabile che questi cambiamenti svaniscano. Per combattere questo problema, gli obiettivi e i successi devono essere costantemente comunicati e celebrati, al di là dei propri team, all'organizzazione nel suo complesso. Sfrutta le metriche di performance in corso per garantire che i cambiamenti continuino a dimostrare il loro valore, e rafforza questi cambiamenti nel tempo.
Di fronte alle continue interruzioni, la capacità di sviluppare e fornire rapidamente prodotti di alta qualità non è più un lusso, ma una necessità per la resilienza futura. Agile e DevOps offrono approcci complementari per semplificare la collaborazione, migliorare i cicli di feedback e fornire rilasci più rapidi e frequenti.
Mentre Agile aiuta a risolvere l'incertezza nel processo di sviluppo del software, DevOps abbraccia pienamente questo approccio iterativo e incrementale, estendendo molti degli stessi principi all'intero flusso di valore del prodotto. Insieme, lavorano fianco a fianco per aiutare ad abbattere i silos, consentire cicli di feedback più rapidi, abbreviare i cicli di produzione e, in ultima analisi, offrire maggior valore ai clienti e alla tua azienda.
National Principal Architect, Insight
Vince è Principal Architect per il team nazionale di Insight Digital Innovation ed è consulente IT da oltre 26 anni. Aiuta le organizzazioni IT negli Stati Uniti a migliorare la loro capacità di fornire valore ai clienti grazie alla sua esperienza in DevOps, abilitazione al cloud e modernizzazione delle applicazioni. Ama costruire e sistemare le cose e lavorare con i team per raggiungere il successo.
National Agile Coach, Insight
Ken lavora da oltre 21 anni con le business unit in vari ruoli per guidare le persone verso la realizzazione di risultati di valore. Gli ultimi 10 anni li ha trascorsi studiando per Scrum Developer, Scrum Master, Kanban coach, Agile Coach e Lean Change agent.
Ken viaggia per il paese guidando persone, team e organizzazioni nel loro percorso di miglioramento. Ha lavorato nel settore pubblico, nell'istruzione superiore, nella finanza, nell'intrattenimento, nella vendita al dettaglio, nell'industria manifatturiera, nella ristorazione, nel settore CPG e nella sanità. È specializzato nel lavorare con i leader di organizzazioni che mirano a cambiare la propria leadership da dirigenti ad una leadership facilitante l'empowerment, e con i team che desiderano offrire la loro creatività e innovazione.
National Lead, Agile Enablement Services, Insight
Mark è un professionista esperto in materia Agile, coach e Professional Scrum Trainer per il team della Digital Innovation di Insight. Ha più di 12 anni di esperienza in ambito Agile come membro del team, Scrum Master e Agile coach e ha lavorato in diversi settori, tra cui sanità, marketing, assicurazioni e retail. Dirige il National Agile Team di Insight per continuare a far crescere la distribuzione del software Agile negli Stati Uniti.