DevOps is becoming the new "buzzworld", like "SOA" or "Agile" did in the past years.
In this presentation we will try to separate the idea from the marketing following "DevOps" idea since its inception in the 2008, from its relationship with Agile and other, similar, ideas in other disciplines.
Then we will discuss why these ideas work and how they're applied in an IT context.
4. 4
«If you don’t know where you are going,
you should know where you come from.»
5. 5
Agile Manifesto (2001)
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
6. 6
Software Development Context
• Just 16% are complete on time and budget (after a scope reduction)
• Changing Requirements and lack of users involvment are top reason
for project failures. (> 1/3 ot total)
• Agile proponents strive to face these issues directly.
• Bridge Business and Developers siloes
• Redesign development process to support requirement changes instead of
resist them.
7. 7
Still a major issue
TYPE OF RISK ORGANIZATIONS
EXPERIENCING
ISSUE
%
Technical Debt. 23 82
Separation of development and IT operations. 21 75
Lack of knowledge retention. 20 71
Under standardized project management tools. 17 61
Increased defects in new ASD teams. 13 46
The risks of Agile Software Development, IEEE Software, 2016
8. 8
Agile Infrastucture & Operations (2008)
• IT Crew and Operations are untouched by the «agile revolution».
• Interaction with them became the new bottleneck.
• Include Infrastructure people in the team:
• Infrastructure requirements sooner visible.
• Infrastructure changes get radiated better.
9. 9
Dev & Ops cooperation at Flickr (2009)
• Dev & Ops term appears (infrastructure is collapsed in Ops term).
• The bottleneck is underlined:
• Says «No» all the time.
• Afraid that new fangled things will break the site.
• Fingerpointy
10. 10
Dev & Ops cooperation at Flickr (2009)
• Explicit reference to culture.
• Traditional Thinking:
• Dev’s job is to add new features.
• Ops’ job is to keep the site stable and fast.
• Dev & Ops Thinking:
• Dev’s job is to enable the business.
• Ops’ job is to enable the business too.
• Business job requires changes at a faster and faster pace.
12. 12
«The real voyage of discovery consists not in seeking new
landscapes, but in having new eyes»
Marcel Proust
13. 13
Software is a form of art…
«Playing jazz with others requires awareness, listening, and
sensitivity, and the ability to make adjustments on the spot to
support colleagues and/or take the lead.»
Beyond the Music: What Jazz teaches us,
Jazz Times, 2014
«It’s like jazz – you improvise,
you work together, you play off each other,
you make something, they make something.»
Frank Gerhy,
2008
14. 14
Software is a form of art…
« A professional orchestra is a highly skilled group of individuals.
But put a bunch of these musicians in a room together, and you’re
guaranteed to get at least 50 different ideas of how the music
should go. The result is chaos — and possible fistfights. Hence the
conductor, whose job is part musical and part political.»
THE ROLE OF THE CONDUCTOR IN CLASSICAL MUSIC, 2015
20. 20
Culture
• Freedom & Responsability.
• No Fingerpointy / Blameless.
• Products, not projects.
21. 21
Culture : Freedom & Responsability
• You build it, you run it. (Amazon)
• Hire, Reward and Tolerate only fully
formed adults. (Netflix)
“But how does this work? It's not freedom gone wild. You could
introduce a new technology, for example, provided you plan who will
service and maintain it, how it's debugged when it fails, how fault
tolerance works, etc.”
B. Gregg, Netflix Employee,
2015
22. 22
Culture : Blameless environment.
• Failure is inevitable; it’s how you detect and react that matter
most.
• Blame simply adds emotions to the equation.
• Resentment.
• Covering issues.
• Freaking out.
• Not the only way to avoid emotions…
23. 23
Automation (& Tools)
• Introducing the
Deployment Pipeline:
• Applications are code.
• Infrastructure is code.
• Version Control both.
• Unit Test both.
24. 24
Monitoring
• «Continuous Improvement» requires monitoring.
• Data should be transparent, accessible to the whole
organization.
• Interesting findings (State of DevOps, 2014)
Throughput Stability
Lead time for changes Time to restore services
Release frequency Change fail rate
• Not a zero-sum game!
25. 25
Sharing
• Inside the organization:
• Tools, Lessons learned, Metrics.
• Opportunities to collaborate.
• People with similar needs.
• Outside the organization:
• Code (OpenSource).
• Conferences.
"Publicity is justly commended as a remedy for social and industrial diseases.
Sunlight is said to be the best of disinfectants;
electric light the most efficient policeman"
Louis Brandeis, U.S. Supreme Court
26. 26
Conclusions
• DevOps basic concept is not an IT peculiarity.
• It’s present in Music.
• It’s present in Manufacturing.
• DevOps is just part of the journey.
• Someone said DevSecOps ?
• What about the business ?
• Be wary of Siloes.
• They’ll naturally establish.
• Sometimes they’re useful, sometime they’re harmful.