Slide 1

Slide 1 text

DevOps for Speed and Agility software delivery for fun and profit

Slide 2

Slide 2 text

Steve Pereira • DevOps / Delivery consultant in Toronto • <3 startups, feel the pain of enterprise • stevepereira.ca

Slide 3

Slide 3 text

To suffer the penalty of too much haste, which is too little speed. - Plato not

Slide 4

Slide 4 text

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:

Slide 5

Slide 5 text

•Communication •Visibility •Measurement •Analysis •Empowerment •Change •Focus •Automation The Ingredients:

Slide 6

Slide 6 text

•Hypothesize •Measure •Validate •Empower •Iterate •Share •Automate •Celebrate The recipe:

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Automate • Do you really need manual QA? • Analyze holistically, improve incrementally • Focus on the pipeline • Promoted builds • Config management • Never touch prod • Notifications

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Speed provides the one genuinely modern pleasure. - Aldous Huxley

Slide 17

Slide 17 text

Start now • Pick a small, greenfield project • Fail like a pro • Write about it • Share • Revise your baseline and repeat

Slide 18

Slide 18 text

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