Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps for Speed and Agility

DevOps for Speed and Agility

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

Steve Pereira

May 20, 2014

More Decks by Steve Pereira

Other Decks in Technology


  1. Steve Pereira • DevOps / Delivery consultant in Toronto •

    <3 startups, feel the pain of enterprise • stevepereira.ca
  2. 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:
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Automate • Do you really need manual QA? • Analyze

    holistically, improve incrementally • Focus on the pipeline • Promoted builds • Config management • Never touch prod • Notifications
  10. 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
  11. 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
  12. Start now • Pick a small, greenfield project • Fail

    like a pro • Write about it • Share • Revise your baseline and repeat
  13. 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