X
    Categories: blog

DevOps: La nuova metodologia nel mondo IT

Il DevOps è un insieme di pratiche che enfatizzano la condivisione e la collaborazione tra gli sviluppatori e gli addetti alle operations per accelerare il processo di delivery e le modifiche infrastrutturali. L’obiettivo è di creare una cultura e un ambiente nel quale progettazione, testing e rilascio delle soluzioni applicative sia in ambienti tradizionali che in ambienti cloud possano avvenire in maniera rapida, frequente ed efficiente. Il tutto assicurando la qualità e la sicurezza del software sviluppato.

Caratteristiche Principali di DevOps

    • Gli sviluppatori non sono più al di fuori della gestione operativa. Con DevOps infatti, gli sviluppatori e i sistemisti si integrano in un unico team di sviluppo (development – Dev) ed esercizio (operations – Ops).
    • DevOps spinge verso la creazione di un unico codice di riferimento che comprende software, middleware, e ambiente operativo, convergendo quelli che storicamente erano sistemi diversi, in termini di modalità di gestione, ciclo di rilascio o modello di controllo.
    • DevOps combina Integrazione Continua (Continuous Integration – CI) ed Erogazione Continua (Continuous Delivery – CD), migliorando la velocità nel soddisfare le esigenze dei clienti.

DevOps e Agile

I principi e le pratiche DevOps sono compatibili con Agile:

    • se Agile è fondamentale nel miglioramento del rapporto di fiducia tra Development e Business, DevOps si occupa della relazione di fiducia tra business e IT nella sua interezza.
    • molto spesso Agile funge da importante supporto a DevOps, grazie al suo focus su piccoli team che consegnano continuamente codice.

DevOps e ITIL

Le pratiche DevOps possono essere compatibili con ITIL; tuttavia, per supportare i tempi più brevi e la più alta frequenza di consegna, molte aree dei processi ITIL diventano completamente automatizzate. Infine, proprio perché DevOps richiede velocità nella rilevazione e ripristino nel caso di incident, le discipline di service design, incident e problem management di ITIL restano più importanti ed utili che mai.

 

Come ripensare la gestione dei progetti per DevOps

Il DevOps cambia radicalmente il modo in cui i team IT approcciano i progetti, passando da iniziative monolitiche, multi-mese (o pluriennali) alla ricerca di maggiore velocità e agilità nel ciclo di vita dello sviluppo del software. Ciò significa anche cambiamenti per i Project Manager (PM).

I PM hanno bisogno di evolversi, proprio come gli sviluppatori, gli addetti delle operations, gli esperti della sicurezza e altro, abbandonando alcune vecchie abitudini in favore di modi che sono più adatti per l’era digitale. I PM non possono concentrarsi solo sul diagramma di Gantt e sulle riunioni. Essi devono essere maggiormente coinvolti nelle viscere del processo di sviluppo e rilascio.

Il DevOps richiede inoltre un cambiamento in uno dei ruoli tradizionalmente significativi del PM: sviluppo e gestione del piano di progetto (Project Management Plan). Ridurre la tempistica del ciclo di consegna significa che non è più possibile aggiornare il piano di progetto una volta la settimana. I PM devono essere informati quotidianamente, cercando di risolvere i problemi prima che questi si verificano.

Nell’era di DevOps, i PM devono pianificare in modo diverso. Un errore comune è quello di adattarsi solo alla dimensione temporale, ad esempio basta pianificare una milestone alla fine di ogni sprint di due settimane. Questo non tiene in considerazione di quanto sia essenziale sia la velocità che la qualità per i DevOps.

Alcuni suggerimenti utili per sostenere questa combinazione vitale:

  • creare piani integrati che tengano in considerazione del lavoro non pianificato. Ciò significa creare dei buffer di progetto basandosi sulle performance precedenti per gestire cose come incidenti e diffetti.
  • garantire che i feedback raccolti nella fase di testing, staging e implementazione vengano utilizzati per la riprogettazione. L’ambito del progetto potrebbe cambiare frequentemente in base alle nuove informazioni.
  • trovare modi per suddividere grandi progetti in piccoli blocchi che consentano all’azienda di ottenere un valore incrementale. Questo è il cosiddetto approccio microservices con la dimensione aggiuntiva del valore di misurazione per l’organizzazione di ogni incremento di lavoro.

 

DevOps in Maggioli

La prima esperienza DevOps in Maggioli si è verificata nel corso del progetto Revisal (www.revisal.it) per consolidarsi poi nell’ambito del progetto europeo UNICORN (www.unicorn-project.eu) in cui Maggioli è responsabile della system integration e del mantenimento del codice, nonché della gestione del rischio.

Per maggiori informazioni sui nostri progetti vi invitiamo a consultare la pagina “R&D Projects” (https://www.maggiolinformatica.com/projects/).

Per approfondimenti:

Armend Duzha: Lavoro nel Gruppo Maggioli dal 2014 in cui mi occupo della gestione operativa dei progetti di ricerca e sviluppo (co-)finanziati dalla Commissione Europea nell’ambito dei diversi programmi di finanziamento tra cui Horizon 2020, Active and Assisted Living, Erasmus+, Interreg ADRION, Internal Security Fund, ecc. Inoltre rappresento il Gruppo Maggioli in fiere, congressi, convegni, conferenze, workshop e seminari a livello nazionale e internazionale. Dal 2016 sono membro del Project Management Institute - Northern Italy Chapter (PMI-NIC) e della European Association of Research Managers and Administrators (EARMA).
Related Post