Transcript
Page 1: DevOps for Speed and Agility - DevOpsTO May 2014

DevOps for Speed and Agility

software delivery for fun and profit

Page 2: DevOps for Speed and Agility - DevOpsTO May 2014

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

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

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

• Communication

• Visibility

• Measurement

• Analysis

• Empowerment

• Change

• Focus

• Automation

The Ingredients:

Page 6: DevOps for Speed and Agility - DevOpsTO May 2014

• Hypothesize

• Measure

• Validate

• Empower

• Iterate

• Share

• Automate

• Celebrate

The recipe:

Page 7: DevOps for Speed and Agility - DevOpsTO May 2014

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

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

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

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

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

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

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

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

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

Speed provides the one genuinely modern

pleasure.- Aldous Huxley

Page 17: DevOps for Speed and Agility - DevOpsTO May 2014

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

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


Top Related