devops for speed and agility - devopsto may 2014
DESCRIPTION
How to increase agility and speed in your organization by applying DevOps principles. How to go faster and be more flexible to the needs of your business. Easy steps to reduce bottlenecks, release faster and with more confidence. Improve visibility Measure state Minimize constraints Improve collaboration Enable action Practice change Focus AutomateTRANSCRIPT
![Page 1: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/1.jpg)
DevOps for Speed and Agility
software delivery for fun and profit
![Page 2: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/2.jpg)
Steve Pereira
• DevOps / Delivery consultant in Toronto
• <3 startups, feel the pain of enterprise
• stevepereira.ca
![Page 3: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/3.jpg)
To suffer the penalty of too much haste, which is too little
speed.- Plato
not
![Page 4: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/4.jpg)
Quality > Speed
The catch:
The name of the game is to maximize quality and allow
confidence and trust to improve speed.
Here’s how you get both:
![Page 5: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/5.jpg)
• Communication
• Visibility
• Measurement
• Analysis
• Empowerment
• Change
• Focus
• Automation
The Ingredients:
![Page 6: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/6.jpg)
• Hypothesize
• Measure
• Validate
• Empower
• Iterate
• Share
• Automate
• Celebrate
The recipe:
![Page 7: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/7.jpg)
Communicate• Talk about delivery, issues and improvement
• Sell ideas, everyone who buys in is a stakeholder and a customer
• Talk to product teams about the cost of technical debt
• backlog, bugs, lack of documentation
• Chat - nothing beats realtime
• Standup rooms, team rooms, team standup rooms
• History/async helps - it’s self-documenting and remote-friendly
• Regular pairing, code review
![Page 8: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/8.jpg)
Show and Tell• Visibility for simpler and more passive
communication
• Reduce communication time
• Reduce decision time
• Reduce investigation time
• Start with Post-its/Whiteboard, iterate
• Notifications where necessary - alerts vs checking
• Correlate data to create meaning
![Page 9: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/9.jpg)
Measure• Discover limiting constraints (bottlenecks), friction, lag,
waste
• Start with the basics: How long from dev to prod?
• Bugs per release / LOC per release / cyclomatic complexity
• Onboarding a dev takes a week
• Adding a server takes 3 weeks
• 5 days to start a new project
• Measure by hand if you have to at first
• Find a baseline to progress from
![Page 10: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/10.jpg)
Minimize Constraints• Remove or minimize bottlenecks once discovered
• Hypothesize and validate
• Documentation / Tools / Automation
• Data and power in the hands of whoever needs it
• Ask data questions of data, not people
• People are often a constraint
• Empower people - Build Trust
• Everyone's job is enabling the business
![Page 11: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/11.jpg)
Practice Change• Make change minimal and frequent
• Variables vs hard code
• Separate code and config
• Break the monolith down
• Avoid batch changes, study your use case
• Practice deployments / code review / retrospectives
• Fire drills!: Staff member leaves / datacentre down
![Page 12: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/12.jpg)
Focus• Remove disruption to allow for engagement
• Clean alerts / Define severity / Scrutinize every escalation / Parse logs
• Don't just backlog, icebox - if it’s important you won’t forget about it
• Define roles - proper governance allows for action - rotate occasionally
• Let your talent work - provide empowerment and time
• Standups are important, but try doing them through async chat
• Measure a need and hire help or dedicate resources
![Page 13: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/13.jpg)
Automate• Do you really need manual QA?
• Analyze holistically, improve incrementally
• Focus on the pipeline
• Promoted builds
• Config management
• Never touch prod
• Notifications
![Page 14: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/14.jpg)
Celebrate!• Build on your momentum and progress by reflection
and sharing
• Improvement is awesome! Faster iteration means more to celebrate
• Failure hurts less the more you do it and the less it costs
• Share with the entire organization, wins help everyone
• Give kudos to your champions, testers and early adopters - they’re your best customers
![Page 15: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/15.jpg)
The Advanced Class• Tools can help once you’re off to the races
• Jenkins + plugins is a powerhouse:
• Build metrics - stats on all builds
• Plot - graph progress
• Join - breakup jobs and aggregate results
• SLOCCount - LOC counts
• Violations - static analysis
• HTML publisher - show it all off
![Page 16: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/16.jpg)
Speed provides the one genuinely modern
pleasure.- Aldous Huxley
![Page 17: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/17.jpg)
Start now
• Pick a small, greenfield project
• Fail like a pro
• Write about it
• Share
• Revise your baseline and repeat
![Page 18: DevOps for Speed and Agility - DevOpsTO May 2014](https://reader036.vdocuments.site/reader036/viewer/2022070301/54538615b1af9f90228b467e/html5/thumbnails/18.jpg)
Questions?
Sites:
codeascraft.com
martinfowler.com
kitchensoap.com
planetdevops.net
monitorama.com
devopsdays.org
Netflix/Twitter/Linkedin Eng
Books:
Continuous Delivery
Release It!
Building a DevOps Culture
Driving Technical Change
The Mythical Man Month
The Phoenix Project
Team Geek
@steveElsewhere