Presentazione su Disciplined DevOps tenuta all'AgileLeanDay 2016. La tematica affrontata è quella DevOps all'interno del nuovo Disciplined Agile 2.0 framework.
9. Disciplined DevOps, today focus
“Disciplined DevOps is the streamlining of IT solution development
and IT operations activities, and supporting enterprise-IT activities, to
provide more effective outcomes to an organization.”
11. DevOps
DevOps è un approccio Culturale in cui l’intera Line of Business si
assume la responsabilità della creazione di Valore per il cliente.
In tale scenario, Developers e Operations sperimentano continuamente
nuovi modi di lavorare insieme, andando a standardizzare e padroneggiare
i processi attraverso la ripetitività e la pratica.
DevOps: Delivery Enhanced Values Over Processes Smells [f.p.]
12. DevOps: the three ways
System Thinking
• Utilizzare un singolo Repository per codice e ambienti;
• Tenere sotto version control tutti gli artefatti, sia di Dev
che di Ops;
• Creare un processo di release deterministico;
• Preparare gli ambienti di Dev, Test e Produzione
prima dell’inizio dello sviluppo, tenendoli consistenti;
• Sottoporre il codice a commit giornaliero;
• Dotarsi di test di regressione automatici;
• Rilasciare le feature in produzione su base giornaliera;
• Abbattere il Lead-Time e aumento del Cycle-Time in
chiave «pull».
13. DevOps: the three ways
Amplify Feedback Loops
• Revisionare alla «Pari» il codice e i cambiamenti agli
ambienti;
• Utilizzare i test automatici per consentire ai team di
lavorare e collaborare proficuamente;
• Monitorare proattivamente gli ambienti di produzione;
• Risolvere rapidamente i difetti e i problemi di
sicurezza;
• Incentivare una Cultura basata sulla fiducia;
• Aumentare la sinergia tramite comunicazione e
coordinamento;
• Incentivare la produttività individuale, di team e cross-
team
14. DevOps: the three ways
Culture of Continual Experimentation and Learning
• Dedicare una parte consistente delle attività (15-
20%) al pagamento del Debito Tecnico;
• Iniettare volontariamente «bug e fault programmati»
per testare la resistenza del sistema;
• Fare quanto è possibile per alzare l’asticella della
produttività;
• Condividere le esperienze di successo e di
fallimento, in modo da imparare da esse e
aumentare la competitività sul mercato.
19. Disciplined DevOps, today focus
fast Time-to-Market
Delivery
Creazione della Soluzione
Program Management
Coordinamento e Pianificazione
Release Management
Gestione del Deployment
Strategies
Architettura, Dati e Business Awareness
24. Disciplined DevOps, strategies category
General
Collaborative work, Continuous
improvement, One team,…
Teaming
Production support,
Developer-led operations,…
Operations
Solution monitoring, Standard
platforms, Deployment testing,…
Development
Canary tests, Split tests,
Continuous integration,…
Enterprise Architecture
Reuse mindset, Technical-debt
mindset,…
Release Management
Release windows, Release train,…
Support (Help Desk)
Online information, Online
discussion forums,…
Data Management
Data and information guidelines,
Quality data sources,…
bilanciare rispetto allo specifico contesto tecnico-culturale
25. Disciplined DevOps, be CALM
Mixing strategies
Culture - cambiamento focalizzato su collaborazione e comunicazione
Hearts & Minds, Embrace Change;
Automation - rimuovere le azioni manuali lungo la catena del valore
Automation - rimuovere le azioni manuali lungo la catena del valore
Lean - utilizzare i principi Lean per rendere efficienti le attività
Customer Value focus, Small batch size;
Metrics - misurare per ottimizzare costantemente le attività
Measure Everything, Show the improvement;
27. Conclusioni
• La complessità delle Soluzioni IT impone una approccio olistico di
realizzazione e gestione;
• Disciplined Agile 2.0 è un framework di Scaling che fornisce una
mainstream guide alla realizzazione di soluzioni complesse;
• DevOps è un approccio culturale, supportato da strumenti di
automazione, che consente di ottimizzare l’efficacia dell’azione di
business.
28. Risorse
DevOps Jump Start - L'approccio DevOps
Agile Application Lifecycle Management con VSO/TFS
Pubblicare un package nuget grazie alla build
Gestire la Semantic Versioning con GitFlow e
GitVersion in una vNext Build
Lean Startup, Jump Start!
DevOps Jump Start
Agile@Scale: visione olistica del valore
Lean Philosophy
Introduzione a Kanban
Application Lifecycle Management (ALM) con VSO
disciplinedagiledelivery.com
RESURCES
getlatestversion
www.youtube.com/watch?v=qse17d_CtKU
29. Felice Pescatore - @felicepescatore
Questa opera è distribuita con Licenza Creative Commons Attribuzione -
Non commerciale - Non opere derivate 4.0 Internazionale.
Notes de l'éditeur
Full ALM: accompagna l’Application Lifecycle Management nella crescita e nella consapevolezza aziendale.
I team possono essere organizzati per:
Feature
Component
Internal Open Source Project
General Strategies:
Collaborative work, Automated dashboards, Integrated configuration management, Integrated change management, Training, education, and mentoring, Continuous improvement, One team
Teaming Strategies:
Production hand-off, Warranty period, Production support, Developer-led operations
Development Strategies:
Canary tests, Split tests, Automated regression testing, Continuous integration (CI), Continuous deployment (CD), Development intelligence
Operations Strategies:
Solution monitoring, Standard platforms, Deployment testing, Automated deployment, Operations intelligence
Support (Help Desk) Strategies:
Online information, Online discussion forums, Asynchronous support, Synchronous support, Support alerts, Developer-led support
Release Management Strategies:
Release windows, Release train, Continuous release availability
Data Management Strategies:
Data and information guidelines, Quality data sources, IT intelligence
Enterprise Architecture Strategies
Reuse mindset, Technical-debt mindset, Development guidelines, Technical roadmaps