Upload
devops-to
View
300
Download
2
Embed Size (px)
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 Automate
Citation preview
DevOps for Speed and Agility
software delivery for fun and profit
Steve Pereira
• DevOps / Delivery consultant in Toronto
• <3 startups, feel the pain of enterprise
• stevepereira.ca
To suffer the penalty of too much haste, which is too little
speed.- Plato
not
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:
• Communication
• Visibility
• Measurement
• Analysis
• Empowerment
• Change
• Focus
• Automation
The Ingredients:
• Hypothesize
• Measure
• Validate
• Empower
• Iterate
• Share
• Automate
• Celebrate
The recipe:
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
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
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
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
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
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
Automate• Do you really need manual QA?
• Analyze holistically, improve incrementally
• Focus on the pipeline
• Promoted builds
• Config management
• Never touch prod
• Notifications
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
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
Speed provides the one genuinely modern
pleasure.- Aldous Huxley
Start now
• Pick a small, greenfield project
• Fail like a pro
• Write about it
• Share
• Revise your baseline and repeat
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