In this presentation I'll talk about my experience helping companies moving towards a DevOps and Agile approach, what are the most common problems, solutions and the over-arching journey covering everything from Engineering, planning to leadership.
2. October 17, 2018
@lynxman
Co-Founder of Ukon Cherry
Working at DevOpsGroup
Organiser of London DevOps
Organiser of DevSecOpsDays London
Previously DevOps instigator at
Rackspace, Trainline, Canonical
Been DevOps’in for the last 9 years
Who am I?
6. October 17, 2018
So many questions!
How about uptime?
What about
compliance?
What about old
software?
What to do with
current provider
contracts?
How much this will
cost?
What about my job
position? Will it
change?
How can we hire new
people competing
against big players?
How can we uptrain all
our current
Engineers?
What about our
outsource team?
How to get onboard
the C-level
executives?
How this will affect
Business As Usual
How this will align with
ITIL/ITSM?
7. October 17, 2018
What good looks like
Aspect of Software
Delivery
Performance
Low Medium High Elite
Deployment
Frequency
On-demand
(multiple per day)
Once per hour to
once per day
Once per week to
once per month
Once per week to
once per month
Lead time for
changes
Less than one hour One day to one week One week to one
month
One to six months
Time to restore
service
Less than one hour Less than one day Less than one day Between one week
and one month
Change failure rate 0% to 15% 0% to 15% 0% to 15% 46% to 60%
DORA State of DevOps Report 2018
8. October 17, 2018
Learning
Keep C.A.L.M.S. and carry on!
Culture
Automation
Lean
Sharing
Measurement
Optimising
DevOps
Values
9. October 17, 2018
Change creates tension
https://www.flickr.com/photos/redux/4040224962/
People
Process
Tools
12. October 17, 2018
Know where your teams are
Application Portfolio Processes
Deployment
methodology
Development
Methodology
Code External
Dependencies
Internal Team
Dependencies
General satisfaction
Will to change
Knowledge
bottlenecks
14. October 17, 2018
Create a plan
First 3 months
Clear objectives
Clear timelines
Measure everything
Feedback process
First 6 months
Next steps objectives
Aspirational timelines
Measure everything
Feedback process
First year
Aspirational objectives
No timelines
Measure everything
Feedback process
Future
Aspirational everything
16. October 17, 2018
Target Operating Model
New ways of working
Reduce human error
Reduce repetitive ! tasks, automate early
Shift contribution towards valuable Engineering
Shift left security, make it an integral part of your design
Increase governance, standardise outputs
17. October 17, 2018
Target Operating Model
New organisational culture
Reduce silos and bottlenecks
Create appropriate teams, short lived if necessary
Make things easy, if somebody doesn’t know how to use it it’s a bug!
Constant feedback, culture and process open to change
19. October 17, 2018
Target Operating Model
DON’T COPY THE MODEL
Only you know the blend of skills and needs for your company
20. October 17, 2018
Get people onboard
Put people first always
Identify your champions
Create short lived spikes to spread knowledge and culture
Ensure people are happy with direction and decisions
21. October 17, 2018
Application Transformation
Chisel away the monolith
Reduce the complexity/size of workloads to deploy
Design applications to fail gracefully
Ensure availability for external dependencies if possible
Focus on reducing the blast radius
23. October 17, 2018
Application Transformation
Continuous Delivery
Automate testing as much as possible
Differentiate between internal quality and external quality (QA team)
Concentrate on test coverage
Make tests meaningful/useful and business oriented
24. October 17, 2018
Application Transformation
Continuous Deployment
Deployment should not be scary or special
Make deployments automatic
Always have an automatic rollback/roll forward strategy
Ensure audit trail of deployments
28. October 17, 2018
In Summary
Change is hard! It always creates tension
Understand where your teams are
Have a Mission, Vision and plan
Measure everything and get feedback early
Create a TOM putting people always first
Transform your applications to be anti-fragile where possible
Automation and testing are key
Reduce fear of deployment and rollback by automation
The job is never finished, keep iterating and changing