Formazione scritta DevOps
Quali sono i ruoli nella tua organizzazione DevOps?
DevOps Generalist
Il compito principale del DevOps Generalist è facilitare l'introduzione delle pratiche DevOps e garantirne lo sviluppo efficace e il miglioramento continuo nell'organizzazione e nei suoi team DevOps. La competenza e la capacità di ogni persona nell'organizzazione di collaborare con i team DevOps sono quindi determinanti per il successo e la durata delle organizzazioni DevOps.
Che tu faccia parte di un'organizzazione DevOps o collabori con altri team DevOps, è essenziale capire che cosa rende questa metodologia più efficace, efficiente e piacevole da usare rispetto ad altri approcci allo sviluppo e al rilascio del software. In quest'epoca di digitalizzazione, in cui il software e tutto ciò che lo circonda hanno un ruolo centrale, diventare DevOps Generalist è fortemente consigliato a ogni professionista, a prescindere dall'esperienza tecnica, gestionale o dirigenziale in informatica, software e tecnologia.
DevOps Executive
I DevOps Executive sono responsabili di applicare con successo le competenze DevOps nelle loro organizzazioni. Svolgono un ruolo fondamentale nell'aiutare i team a cambiare il proprio modo di pensare e lavorare secondo i principi DevOps. Sanno influenzare in modo costruttivo i team e la direzione per raggiungere i risultati. Aiutano i team DevOps ad allinearsi alle strategie aziendali e sono responsabili dell'individuazione, della selezione, della definizione dell'ambito, della prioritizzazione e infine della gestione delle iniziative per introdurre DevOps nell'organizzazione.
I DevOps Executive scelgono le persone chiave, fanno in modo che tutti i professionisti DevOps ricevano una formazione adeguata e assegnano loro compiti e progetti adatti alle competenze e all'esperienza di ciascuno. Si impegnano a fare da coach e mentori per i team DevOps, contribuiscono alla pianificazione delle risorse e rimuovono problemi e ostacoli per favorire il successo dell'intera organizzazione DevOps.
I DevOps Executive riferiscono alla direzione sugli obiettivi aziendali DevOps stabiliti e sulle metriche di produttività aziendale individuate. Promuovono soluzioni basate sulle buone pratiche, miglioramenti conseguiti e storie di successo e li mettono a frutto in tutta l'organizzazione DevOps. Collaborano strettamente con tutti i team DevOps, in particolare con DevOps Project Manager, DevOps Product Owner, DevOps Release Manager, DevOps Trainer e DevOps Coach per via della specifica missione organizzativa che perseguono.
DevOps Project Manager
Il DevOps Project Manager ha la responsabilità di conseguire gli obiettivi dichiarati del progetto. Tra le sue responsabilità principali ci sono definire obiettivi chiari e raggiungibili, elaborare i requisiti e gestire i vincoli del triangolo della gestione di progetto, ossia costi, tempi, ambito e qualità.
Il DevOps Project Manager spesso rappresenta il cliente e deve individuarne e soddisfarne le esigenze precise grazie alla conoscenza dell'azienda che rappresenta. Fa da tramite tra il team di sviluppo e rilascio e il cliente. Conosce quindi il proprio settore abbastanza da comprendere e discutere i problemi con il team di rilascio e con il cliente. Per risolvere efficacemente le questioni chiave relative a costi, tempi, ambito e qualità e soprattutto soddisfare il cliente, è essenziale sapersi adattare alle diverse procedure interne della controparte contrattuale e instaurare rapporti stretti con i rappresentanti designati.
Il titolo «DevOps Project Manager» indica la persona incaricata di portare a termine il progetto. Ha la piena responsabilità e l'autorità necessaria per conseguire gli obiettivi desiderati entro il budget, nei tempi previsti e con la migliore qualità possibile.
DevOps Product Owner
Il DevOps Product Owner ricopre un ruolo specifico e di ampio respiro, che riunisce tutte le complessità dei tradizionali ruoli di Project Manager e Product Manager. In un team DevOps rappresenta inoltre il punto di vista del cliente, facendo in modo che il lavoro giusto venga svolto al momento giusto. Deve lavorare a stretto contatto con tutti i team e i processi DevOps di sviluppo e rilascio del software per ottenere il massimo valore aggiunto da ogni rilascio.
Ecco alcune delle responsabilità principali dei DevOps Product Owner:
- Gestire il DevOps Product Backlog.
- Supportare la creazione di roadmap e piani di rilascio.
- Individuare le dipendenze tra prodotti e assegnare le priorità in base alla missione organizzativa.
- Gestire i rapporti e la comunicazione con i portatori di interesse.
Che tu ricopra o meno il ruolo di DevOps Product Owner nel tuo team, se lavori direttamente con i clienti è fondamentale capire cosa fa questa figura per offrire loro il miglior supporto e il massimo valore aggiunto possibile.
DevOps Architect
Il DevOps Architect è responsabile dell'architettura, della progettazione e dello sviluppo degli strumenti e dei processi di deployment del prodotto. Ci si aspetta che progetti e sviluppi soluzioni innovative per creare e mantenere l'architettura del prodotto, gli strumenti associati e i processi per la pipeline di integrazione e deployment continui.
I DevOps Architect definiscono insiemi di servizi debolmente accoppiati affinché le modifiche ai servizi o ai loro ambienti incidano il meno possibile su chi li usa. Un certo accoppiamento è inevitabile perché gli utenti devono poter usare il servizio, ma i DevOps Architect riducono le dipendenze separando interfaccia e implementazione e applicando criteri di versionamento, contratti in fase di esecuzione, indipendenza dalla piattaforma e trasparenza della posizione.
I DevOps Architect sono fondamentali per il successo di organizzazioni e team DevOps. Oltre a costruire un'architettura ottimale, con prodotti e servizi debolmente accoppiati, le organizzazioni DevOps devono poter contare su un ambiente estremamente affidabile, completamente automatizzato e privo di ostacoli. Con il modello a cascata servivano fuoristrada per affrontare un terreno accidentato. Il DevOps Architect costruisce l'autostrada perché gli altri possano usare auto più veloci.
DevOps Developer
Come DevOps Developer, trasformi gli obiettivi aziendali dei clienti in soluzioni e sistemi software. Ciò che ti distingue da uno sviluppatore tradizionale è che tieni presenti gli obiettivi e le esigenze di business del cliente per tutta la durata del lavoro. Sai perché il datore di lavoro ti ha assunto e che cosa si aspettano e di che cosa hanno bisogno i clienti.
Come DevOps Developer sei inoltre il partner tecnologico di fiducia dei clienti. Dai al datore di lavoro e ai clienti piena fiducia e ogni motivo per continuare a collaborare con te. Colleghi obiettivi e requisiti aziendali alla progettazione del software e al codice eseguibile. Il tuo ruolo va oltre la sola progettazione o programmazione. Hai la responsabilità dell'intero ciclo di vita del software, dall'analisi dei requisiti, dalla visione architetturale e dall'automazione dei test all'esperienza utente, alle estensioni, alle attività operative, alla manutenzione e alla dismissione.
Come DevOps Developer distribuisci soluzioni software funzionanti in iterazioni brevi e frequenti. Ti distingui garantendo il rilascio continuo ai clienti dei progetti e del software, per creare valore rapidamente e senza interruzioni per le loro aziende e per la tua. Ricordi sempre che il tuo obiettivo è avere clienti soddisfatti e creare software che piaccia a loro e a te!
Se sviluppi software con passione e ti dedichi all'ingegneria del software DevOps per creare sistemi efficienti, di livello internazionale e di alta qualità, è fortemente consigliato diventare DevOps Developer.
DevOps Operations Engineer
I DevOps Operations Engineer monitorano, mantengono e distribuiscono il software e l'infrastruttura all'avanguardia alla base dei loro prodotti. Distribuiscono e mantengono infrastrutture di rete e server nei data center. Partecipano alle installazioni con i team DevOps di rilascio e deployment e sviluppano piani di emergenza per il rilascio e il deployment dei prodotti.
I compiti vanno dall'installazione fisica delle tecnologie dei data center alla collaborazione con i diversi portatori di interesse, soprattutto con i DevOps Developer, per integrare disponibilità, manutenibilità, monitoraggio e analisi nel cuore dei prodotti.
Dietro tutto ciò che vedono i clienti dell'organizzazione c'è l'architettura realizzata dai DevOps Operations Engineer, a cui spetta mantenere i sistemi operativi. Dallo sviluppo e dalla manutenzione di prodotti e servizi alla creazione della prossima generazione di piattaforme, rendono possibile il portafoglio prodotti dell'organizzazione.
I DevOps Operations Engineer sono orgogliosi della loro vocazione ingegneristica e amano smontare le cose per ricostruirle, anche a costo di invalidarne la garanzia. Sono sempre pronti a intervenire su chiamata per mantenere operativi sistemi e reti e garantire ai clienti la migliore e più rapida esperienza possibile.
DevOps Quality Assurance Engineer
I DevOps Quality Assurance Engineer analizzano attivamente i punti di forza distintivi del prodotto, i requisiti, i casi d'uso, l'architettura e altri materiali di progettazione per individuare i tipi di test adatti a convalidare la qualità del prodotto in esame. Collaborano con DevOps Developer e DevOps Project Manager per stabilire metodi e strumenti con cui implementare, eseguire e gestire i test.
I DevOps Quality Assurance Engineer elaborano elenchi di casi di test creativi con l'intento di mettere il prodotto alla prova. Classificano le priorità e i livelli di difficoltà dei casi di test. Creano e rivedono la documentazione dettagliata per assicurarsi che il resto del team DevOps comprenda correttamente i casi di test.
I DevOps Quality Assurance Engineer seguono e riesaminano di continuo le fasi di esecuzione per garantire che i casi di test raggiungano i loro obiettivi. In qualità di esperti sicuri e affidabili, mettono in evidenza lo scopo e l'importanza dei casi di test. Segnalano e riesaminano i difetti e si assicurano che le funzionalità previste del prodotto non vengano compromesse.
I DevOps Quality Assurance Engineer coinvolgono inoltre l'intero team DevOps nella revisione della progettazione dei test e usano il feedback per aggiungere casi creativi e ridurre le ridondanze. Infine, dedicano una parte significativa del loro tempo ad automatizzare, eseguire e ripetere i test per convalidare le correzioni dei bug apportate dai team di sviluppo software.
DevOps Information Security Engineer
Nelle organizzazioni IT tradizionali la sicurezza delle informazioni è in gran parte una considerazione tardiva. È un altro requisito non funzionale di cui ci si occupa spesso quando individuare e risolvere i problemi è più difficile, costoso e caotico.
I DevOps Information Security Engineer progettano la strategia complessiva di sicurezza dell'organizzazione e definiscono i dettagli del piano di attuazione. Sanno che occorre bilanciare continuamente i benefici delle misure di sicurezza incrementali con i possibili oneri per l'azienda. Individuano e risolvono in modo proattivo i problemi di sicurezza nei progetti fin dalle prime fasi di ingegneria dei prodotti e nei sistemi software già operativi. Monitorano le reti e la telemetria del software e definiscono le priorità in base al rischio.
Nelle organizzazioni DevOps, i DevOps Information Security Engineer lavorano a fianco di DevOps Developer e DevOps Operations Engineer. Integrano le proprie raccomandazioni e competenze specialistiche molto prima nel processo di sviluppo e rilascio. Consentono alle organizzazioni di integrare la sicurezza nel prodotto lungo tutto il ciclo di rilascio.
DevOps Release Manager
I DevOps Release Manager gestiscono e coordinano il prodotto dallo sviluppo alla produzione. In genere si occupano dei dettagli e degli ostacoli tecnici che un project manager tradizionale non può seguire. Sovrintendono al coordinamento, all'integrazione e al flusso di sviluppo, test e deployment per sostenere il rilascio continuo. Si concentrano sulla creazione e sulla manutenzione della catena di strumenti di rilascio delle applicazioni lungo tutto il processo.
I DevOps Release Manager collaborano strettamente con DevOps Project Manager e DevOps Product Owner per creare roadmap e piani di rilascio, individuare e rendere visibili le dipendenze, far sì che i team DevOps diano priorità alle attività che ne dipendono e supportare la gestione del DevOps Product Backlog, i rapporti con i portatori di interesse e la comunicazione.
DevOps Trainer
Come altre tendenze in rapidissima crescita nel settore IT, l'adozione della metodologia DevOps può dare luogo a fraintendimenti ed equivoci. Molti team e aziende commettono errori organizzativi, comportamentali e operativi che incidono negativamente sulle prestazioni dei team DevOps e sulla loro integrazione in organizzazioni di solito ancora poco agili. Talvolta queste incoerenze portano all'abbandono delle pratiche DevOps, a scapito del settore e di chi le promuove.
I DevOps Trainer sono persone di talento che, come te, promuovono DevOps e assicurano che le pratiche vengano insegnate correttamente nelle organizzazioni.
I DevOps Trainer possono lavorare in modo indipendente dai team DevOps e ricevere il sostegno diretto della direzione per estendere la formazione dall'alto verso il basso. Possono anche far parte dei team DevOps, lavorando con la direzione per ottenere il sostegno necessario e formare con continuità le altre parti dell'organizzazione affinché collaborino efficacemente con i team DevOps. Se vuoi aiutare i team DevOps, le unità aziendali e gli sponsor della direzione a imparare e applicare correttamente queste pratiche, è fortemente consigliato diventare DevOps Trainer.
I DevOps Trainer offrono di solito formazione a clienti esterni, insegnando DevOps in un contesto didattico. I DevOps Coach seguono invece i membri dei team, di solito presso le organizzazioni dei clienti, affinché comprendano DevOps e lo applichino correttamente. Offrono consigli pratici ai team mentre lavorano nel loro ambiente reale.
DevOps Coach
Come altre tendenze in rapidissima crescita nel settore IT, l'adozione della metodologia DevOps può dare luogo a fraintendimenti ed equivoci. Molti team e aziende commettono errori organizzativi, comportamentali e operativi che incidono negativamente sulle prestazioni dei team DevOps e sulla loro integrazione in organizzazioni di solito ancora poco agili. Talvolta queste incoerenze portano all'abbandono delle pratiche DevOps, a scapito del settore e di chi le promuove.
Come i DevOps Trainer, anche i DevOps Coach sono persone di talento che, come te, promuovono DevOps per far sì che queste pratiche siano comprese, diffuse e adottate correttamente.
I DevOps Coach possono lavorare in modo indipendente dai team DevOps e ricevere il sostegno diretto della direzione per diffondere l'adozione organizzativa e culturale di DevOps dall'alto verso il basso. Possono anche far parte dei team DevOps, lavorando con la direzione per ottenere il sostegno necessario e aiutare con continuità le altre parti dell'organizzazione a evolversi per collaborare con i team DevOps. Se vuoi aiutare i team DevOps, le unità aziendali e gli sponsor della direzione a comprendere, adottare e applicare correttamente queste pratiche, è fortemente consigliato diventare DevOps Coach.
CONCLUSIONE
In questo capitolo abbiamo trattato i ruoli più comuni in un'organizzazione DevOps. Ricorda che un team DevOps non deve necessariamente includere una persona per ciascuno di questi ruoli. Meno è meglio. Assicurati che il team si concentri sulle poche attività importanti ed elimini quelle di scarso valore per conseguire i risultati IT e aziendali desiderati dall'organizzazione.
Una buona regola è dotare il team dei ruoli e delle competenze che favoriscono il miglior flusso di lavoro continuo possibile. Tratteremo il flusso a partire dal prossimo capitolo.
