devops & agility - build the culture, get the tools, win the day - dundee tech meetup
TRANSCRIPT
DevOps & AgilityBuild the Culture, Get the Tools, Win
the Day
Dav id Wa lke r
Amazon push code to production
every 11.6 seconds
DevOps – Agile end to endIndividuals and interactions over processes
and toolsWorking software over comprehensive
documentationCustomer collaboration over contract
negotiationResponding to change over following a plan
That is, while there is value in the items onthe right, we value the items on the left more.
The Agile Manifesto
DevOps - It Starts with Agileunknown
unknownknown
Requirements
Technology
'simple' projects
'complicated'
'complicated'
'chaos'
'complex' projects
Requirements known, technology unknown
Requirements unknown, technology known
Based on Ralph Stacey's Process Complexity model
Agile is not Agility
Agile is not
(necessarily) Agility
So you want to be a DevOps outfit…
DevOps - Its not this…
DevOps - Its not this…
DevOps is This..
What Devsdo is
Complicated
Revenuex million
So What is DevOps? (1)
Revenuex million
So What is DevOps? (2)
Revenuex million
So What is DevOps? (3)
Revenuex million
So What is DevOps? (4)
So What is DevOps (5)
DevOps is a new kind of role
Extend existing skills to work in a more Agile way
From the Dev’s PerspectiveContinual DeliveryContinuous IntegrationFirst DeploymentMonitoredTested
Developers that that can maintain infrastructure
From the Ops PerspectiveVirtualisationCloud basedHigh availabilityTestableMaintainableReproducible
Ops staff that can Code
DevOps Organisations Work Together
One Team – One Goal
DevOps – We’re all in this together!
Move fromComplicated
toComplex
Startups – Green fields ahoy!
Have a
great idea
Develop it
Deploy it
Enterprise – Complexity due to ScaleHave a
great idea
Debate it
Get Signed off to
process
Scope out requireme
nts
Develop it
Test it
Fix it
Schedule the release
Raise required
paperwork
Get paperwork signed off
Test it as part o the release
Fix it
Deploy as part of a release
Fix it
What stops us?“It’s too complicated”
“I’ll break it”
“What’s with all this code?”
“What is GitHub?”
“That’s not my responsibility”
Reasons given to me
DevOpsDevOps is the practice of operations and development engineers participating together in the entire service
lifecycle. From design through the development process to production support
It “Finishes What Agile Started” - by making the whole workflow agile
It involves an entire organisational cultural change in all team members from apprentices all the the way
through to leadership.
How QA define DevOps
DevOpsDevOps is the practice of operations and development engineers participating together in the entire service
lifecycle. From design through the development process to production support
It “Finishes What Agile Started” - by making the whole workflow agile
It involves an entire organisational cultural change in all team members from apprentices all the the way
through to leadership.
How QA define DevOps
Keep CALMS and do DevOpsC – CultureA – AutomationL – LeanM – MeasurementS – Sharing
DevOps – The C.A.L.M.S Approach
C – DevOps occurs through Culture
‘’Its amazing what you can accomplish if you do not care who
gets the credit’’
President Harry S Truman
One Does not Simply Digitally Transform…
It's not the tools that you have faith in - tools are just tools.
They work, or they don't work. It's people you have faith in or not.
Steve Jobs
Where are your Leaders in
Digital?
‘The way we do things around here’
Changing company culture
is challenging
Source: Altimeter Group
The importance of culture
“Culture eats strategy for breakfast” Peter Drucker
The importance of leading by example
Trust your Knowledge
Workers
Help the n00bz
The agile world demands multi faceted teams•No-one working in development can choose not to be involved end to end
We need Rounded Tech Professionals
The type of Skills Required are Different
#DevRockStar
#YOLOCoder
#WorkedInDev
#UnitTestsAreForLoosers
#MyWayOrTheHighWay
So You Want To Be a RockStar?
• Lasting Knowledge Transfer
• Transformational presence
• Help to close the tech deficit
• Improve Cross functionality
• Deliver Agility
Same goes for Contractors
Deep Knowledge MattersSo does Collaboration
Be a Choir
Or at least a gang…
A - Automation
• Automation• Orchestration• Configuration• Testing• Logging and Monitoring• Continuous Integration• Continuous Delivery
We use Tools for Reasons
L – LEAN – works with Agile1. Eliminate Waste
2. Build Quality In
3. Create Knowledge
4. Defer Commitment
5. Deliver Fast
6. Respect People
7. Optimise The Whole
Mary & Tom Poppendieck
Visualise what you do
A measurement system helps make the software product more
visible
Kanban board example
Manage the Flow
When we emphasise flow, we focus on queues rather than
timelines
Taicho Ohno
Limit Work in Progress
If you focus on driving Utilisation up,
Things will slow down
Mary & Tom Poppenbeck
Kaizen
The aim of Kanban is to make troubles come to the surface and to link them to a Kaizen Activity
Talichi Ohno
Reclaim Failure
Fail Fast and Often
I have not failed, I’ve just found 10,000 ways that
won’t work
Thomas Edison
M - Monitoring
"Don't it always seem to go,That you don't know what you've
got'Til it's gone"
Joni Mitchell, Big Yellow Taxi
Improve Collaboratively
If egoless programming is used, everyone in the group will have the opportunity to examine the
work of everyone else at the same time
Gerald Weinberg
Encourage Openness
S – Sharing
“Knowledge is experience, everything else is information.” Albert Einstein
Implement Feedback Loops
Ignoring feedback merely means that the system will eventually
experience a massive unpleasant surprise rather than a small
unpleasant surprise
John Gall
Evolve Experimentally
It is important that instead of processes being adopted it is
adapted
Jutta Eckstein
Schrodinger’s Code
Code that has been written, but not tested,
is in a state of neither working nor failing until it is observed
@SchrodingerCode
Test Based DevOpsSpecificati
on
Test (BDD) Code
Build & Test
Exploratory Testing
Integration Test
Deploy & Test
Monitor (Test)
The minimum an organisation evolving into DevOps practice should use is:
A testing framework focussed on behaviourAn automated testing harnessA strategy that focuses engineers on testingApplications designed from the bottom up to be testableConfiguration management solutions that allow rapid creation of any environmentInfrastructure that can be rapidly deployedMethods that can deploy products whenever they are readyDashboards displaying the status of the build
The Next Gen DevOps Lifecycle
Upgrade your digital and working culture like you would hardwareBring Agile out of Dev – Make Agility your aimBe Lean – Lean can lead to greater AgilityDevOps uses lots of tools – but tools without good practices suckBe the Unicorn
Next Steps
Questions??LinkedIn- David Walker QA
@BeardLikeAJedi