Ten (Hard-Won) Lessons
of the DevOps Transition
Randy Shoup
@randyshoup
linkedin.com/in/randyshoup
1. Reorganize Teams
Around Ownership
• End-to-end Ownership
o Small, cross-functional team owns application / service from design to
deployment to retirement
o Team has inside it all skill sets needed to do the job
o Depends on other teams for supporting services
o Able to move very rapidly and independently
• “You build it, you run it”
o The same team that builds the software operates the software
o No separate maintenance or sustaining engineering team
1. Reorganize Teams
Around Ownership
• E.g., KIXEYE and MySQL
o Development team wrote the SQL, issued all the queries
o DBA / Ops team responsible for performance and uptime
o Splitting ownership between teams was counterproductive and disruptive
• Alternative strategies
o Centrally-maintained persistence service
OR
o Customer manages its own persistence
2. Lose the
Ticket Culture
Ticket Culture Ownership Culture
Do what is asked for Do what is needed
One-way communication Two-way collaboration
Goal is to close the ticket Goal is product success
Reactive approach Proactive approach
Reinforces silos Reinforces collaboration
Prioritizes process Prioritizes results
3. Replace Approvals
With Code
• Reduce or eliminate approval bodies
o E.g., eBay Architecture Review Board
o (-) Too late
o (-) Too slow
o (-) Too disengaged from details
• Package expertise in code
o Smart, experienced people build their knowledge into code
o Teams with specialized skills (databases, security, compliance, etc.) provide a
service, library, or tool
3. Replace Approvals
With Code
• E.g., Security at Google
o Provide secure foundations by maintaining lower-level libraries and services
o Provide self-service penetration tests, vulnerability assessments, etc.
The easiest way to “enforce” a
standard practice is with
working code.
4. Enforce a
Service Mentality
• Vendor-Customer Discipline
o Service team is a vendor; the products are its customers
o Service is useful only to the extent it provides value to its customers
• Customer can choose to use service or not (!)
o Customer team is responsible for deciding what is best for their use case
o Use the right tool for the right job
• Provides powerful incentives
o Service must be *strictly better* than the alternatives of build, buy, borrow
5. Charge for
Usage
• Charge customers for *usage* of the service
o Aligns economic incentives of customer and provider
o Motivates both sides to optimize efficiency
• Free usage leads to waste
o No incentive to control usage or find more efficient alternatives
• E.g., App Engine usage at Google
o Charging particularly egregious internal customer led to 10x reduction in usage
6. Prioritize
Quality
• Quality, Performance, and Reliability are “Priority-0
features”
o “Stop the line” if there is a degradation
o Equally important to users as product features or engaging user experience
• Developers write tests and code together
o Continuous testing of features, performance, load
o Confidence to make risky changes
• “Slow down to speed up”
o Catch bugs earlier, fail faster
6. Prioritize
Quality
• E.g., Development Process at Google
o Code reviews before submission
o Automated tests for everything
o Single searchable source code repository
 Internal Open Source Model
o Not “here is a bug report”
o Instead “here is the bug; here is the code fix; here is the test that verifies the fix”

7. Start Investing
in Testing
• Write functional tests around a component
o If you can only write a few tests, they should be meaningful ones
o End-to-end tests exercise more meaningful customer-visible capabilities than unit
tests
• Fail any build that breaks a test
• Keep ratcheting up the tests
o For every new feature, add tests for that feature
o For every new bug, add a test that reproduces the bug and verifies the fix
8. Actively Manage
Technical Debt
• Maintain sustainable and well-understood level of debt
o Denominated in engineering effort to fix
o Plan for how and when you will pay it off
o Track feature work vs. accrued debt over time
• “Don’t have time to do it right” ?
o WRONG  – Don’t have time to do it twice (!)
o The more constrained you are on time and resources, the more important it is to
do it solidly the first time
Vicious Cycle
of Technical Debt
Technical
Debt
“No time
to do it
right”
Quick-
and-dirty
Virtuous Cycle
of Investment
Solid
Foundation
Confidence
Faster and
Better
Invest in
Quality
9. Share
On-call Duties
• All members of the team rotate on-call responsibilities
o Strongest motivator to build in solid monitoring and diagnosis capabilities
o Best way to learn the real-world behavior of the system
o Best way to develop empathy for customers and other team members
• Train via on-call “apprenticeship”
o 1. Apprentice starts as secondary on-call, experienced engineer is primary
o 2. Apprentice is primary, experienced engineer is secondary
o 3. Apprentice graduates
10. Make Post-Mortems
Truly Blameless
• Overcoming blame culture takes work
o Institutional memory of blame is long
o E.g., Initial post-mortems at KIXEYE elicited tons of fear
• Constantly reinforce learning over blame
o When you say “blameless”, you have to really mean it (!)
o Don’t ask “what did you do?”, ask “what did you learn?”
10. Make Post-Mortems
Truly Blameless
• Open and Honest Discussion
o Document exactly what happened
o What went right
o What went wrong
• Focus on Learning and Improvement
o How should we change process, technology, documentation, etc.
o How could we have automated the problems away?
o How could we have diagnosed more quickly?
• Take fear and personalization out of it
 Engineers will compete to take personal responsibility (!)
 “Finally we can fix that broken system” 
Top Five
Takeaways
• 1. Reorganize Teams Around Ownership
• 2. Replace Approvals With Code
• 3. Prioritize Quality
• 4. Actively Manage Technical Debt
• 5. Make Post-Mortems Truly Blameless
What I Could
Use Help With
• Encouraging leaders to lose the blame culture
• Measuring productivity in a principled way
• Overcoming resistance to taking the pager
Thank You!
• @randyshoup
• linkedin.com/in/randyshoup

More Related Content

PDF
DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...
PPTX
DOES15 - Ramona Jackson and Aji Rajappan - Continuous Delivery at Cisco IT
PPTX
DOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
PPTX
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
PPTX
DOES16 London - Gebrian uit de Bulten & Vincent van Kooten - The Road to Enab...
PPTX
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
PDF
Devtest: using Lean and Devops practices to bring QA and coders together by L...
PPTX
Why a DevOps approach is critical to achieve digital transformation
DOES16 London - Benjamin Wootton - Lessons from 50 Enterprise DevOps Transfor...
DOES15 - Ramona Jackson and Aji Rajappan - Continuous Delivery at Cisco IT
DOES16 London - Scott Potter - DevOps: To Autonomy and Beyond
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Gebrian uit de Bulten & Vincent van Kooten - The Road to Enab...
DOES16 London - Jan Schilt - DevOps Is Not Going to Work: The Phoenix Project...
Devtest: using Lean and Devops practices to bring QA and coders together by L...
Why a DevOps approach is critical to achieve digital transformation

What's hot (20)

PPTX
DOES16 London - Andrew Hawkins - Horses for Courses
PDF
7 habits of effective DevOps dev ops il 2015 oded tamir
PDF
How I became a Lean CIO by Sari Torkkola, Lean IT Summit 2014
PDF
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
PDF
Crafting digital experiences with agile and design by James Hayes
PPTX
DevOps: The art of making better software
PPTX
DOES15 - Elisabeth Hendrickson - Its All About Feedback
PDF
Scaling Agile Up to the Enterprise and Staying Lean
PPTX
DOES16 San Francisco - Jan Schilt - DevOps is Not Going to Work…Unless! How T...
PDF
SAP and Lean MindSet: Short and Fast project with India by Christophe Berbeye...
PDF
One year as a lean (transition) CIO
PPTX
Final synerzip-agile2017-top10-v1
PDF
Driving better requirements through DevOps
PDF
The 3 Revolutions (Agile, Lean, Lean Startup)
PDF
Evidence Based Management - Measuring value to enable improvement and agility
PDF
DOES16 London - Chris Jackson - Disrupting an Enterprise from the Inside
PDF
Scrum: Project Focus or Product Focus
PPTX
Applying Organizational Change and Leadership in Agile Transformations
PDF
Introduction to the International Consortium for Agile (ICAgile)
PDF
Is there a best practice for an agile transformation? - No! - So what now?
DOES16 London - Andrew Hawkins - Horses for Courses
7 habits of effective DevOps dev ops il 2015 oded tamir
How I became a Lean CIO by Sari Torkkola, Lean IT Summit 2014
DOES15 - Heather Mickman & Ross Clanton - (Re)building an Engineering Culture...
Crafting digital experiences with agile and design by James Hayes
DevOps: The art of making better software
DOES15 - Elisabeth Hendrickson - Its All About Feedback
Scaling Agile Up to the Enterprise and Staying Lean
DOES16 San Francisco - Jan Schilt - DevOps is Not Going to Work…Unless! How T...
SAP and Lean MindSet: Short and Fast project with India by Christophe Berbeye...
One year as a lean (transition) CIO
Final synerzip-agile2017-top10-v1
Driving better requirements through DevOps
The 3 Revolutions (Agile, Lean, Lean Startup)
Evidence Based Management - Measuring value to enable improvement and agility
DOES16 London - Chris Jackson - Disrupting an Enterprise from the Inside
Scrum: Project Focus or Product Focus
Applying Organizational Change and Leadership in Agile Transformations
Introduction to the International Consortium for Agile (ICAgile)
Is there a best practice for an agile transformation? - No! - So what now?

Viewers also liked (20)

PPTX
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
PDF
DOES15 - Finn-Braun and Reed - The Blameless Cloud: Bringing Actionable Retro...
PPT
DOES14 - Justin Arbuckle - CHEF - Hunting the DevOps Whale
PPTX
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
PPTX
DOES15 - Alan Kraft - Learning & Teaching DevOps in the Enterprise
PPTX
DOES16 London - Kevin Bowman - Surviving the Grand National
PPTX
DOES15 - Mark Michaelis - Metrics that Matter
PPTX
DOES15 - Mike Bland - Pain Is Over, If You Want It
PPTX
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
PPTX
DOES16 San Francisco - Damon Edwards - The Talent You Need is Already Inside ...
PPTX
DOES16 London - Charlotta Croiset van Uchelen - Choose Your Own Boss
PPTX
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
PPTX
DOES14 - Reena Mathew and Dave Mangot - Salesforce
PPTX
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
PPTX
DOES14 - Shakeel Sorathia - Ticketmaster - 40 Year Old Company Transformed by...
PPTX
DOES16 London - Pat Reed - Mind the GAAP: A Playbook for Agile Accounting
PPTX
DOES16 San Francisco - Carmen DeArdo, Cindy Payne, & Jim Grafmeyer - Episode ...
PPTX
DOES15 - Scott Prugh & Erica Morrison - Conway & Taylor Meet the Strangler (v...
PPTX
DOES15 - Aaron Volkmann - Busting Silos & Red Tape: DevOps in Federal Government
PPTX
DOES14 - Courtney Kissler - Nordstrom - Transforming to a Culture of Continuo...
DOES16 London - Philippe Guenet - G3 Model –A Practical Lean Approach to Impr...
DOES15 - Finn-Braun and Reed - The Blameless Cloud: Bringing Actionable Retro...
DOES14 - Justin Arbuckle - CHEF - Hunting the DevOps Whale
DOES15 - Mirco Hering - Adopting DevOps Practices for Systems of Record – An ...
DOES15 - Alan Kraft - Learning & Teaching DevOps in the Enterprise
DOES16 London - Kevin Bowman - Surviving the Grand National
DOES15 - Mark Michaelis - Metrics that Matter
DOES15 - Mike Bland - Pain Is Over, If You Want It
DOES14 - David Ashman - Blackboard Learn - Keep Your Head in the Clouds
DOES16 San Francisco - Damon Edwards - The Talent You Need is Already Inside ...
DOES16 London - Charlotta Croiset van Uchelen - Choose Your Own Boss
DOES14 - John Kosco - Blue Agility - Discover How to Improve Productivity by ...
DOES14 - Reena Mathew and Dave Mangot - Salesforce
DOES14 - Aimee Bechtle and Bill Donaldson - The MITRE Corp
DOES14 - Shakeel Sorathia - Ticketmaster - 40 Year Old Company Transformed by...
DOES16 London - Pat Reed - Mind the GAAP: A Playbook for Agile Accounting
DOES16 San Francisco - Carmen DeArdo, Cindy Payne, & Jim Grafmeyer - Episode ...
DOES15 - Scott Prugh & Erica Morrison - Conway & Taylor Meet the Strangler (v...
DOES15 - Aaron Volkmann - Busting Silos & Red Tape: DevOps in Federal Government
DOES14 - Courtney Kissler - Nordstrom - Transforming to a Culture of Continuo...

Similar to DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition (20)

PPTX
DevOps - It's About How We Work
PDF
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
PDF
When Things Go Bump in the Night
PDF
Viktor Svystunov: Your Team Can Do More (UA)
PDF
pull based change management - Summary of interactive workshop at Lean Kanban...
PDF
Deliver Fast with Confidence
PDF
Crossing the Chasm & Pull-based change interactive workshop handouts
PPTX
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
PPTX
Cleaning Code - Tools and Techniques for Large Legacy Projects
PDF
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
PPTX
Moving Fast At Scale
PDF
Take the red pill
PPTX
Winnipeg ISACA Security is Dead, Rugged DevOps
PDF
Bootstrapping a-devops-matter
PPTX
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
PDF
Pair Programming, TDD and other impractical things
PDF
Current Trends in Agile - opening keynote for Agile Israel 2014
PDF
A Self Funding Agile Transformation
PPT
Better Software Keynote The Complete Developer 07
PPT
Better Software Keynote The Complete Developer 07
DevOps - It's About How We Work
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
When Things Go Bump in the Night
Viktor Svystunov: Your Team Can Do More (UA)
pull based change management - Summary of interactive workshop at Lean Kanban...
Deliver Fast with Confidence
Crossing the Chasm & Pull-based change interactive workshop handouts
Creating a Culture of Ownership and Trust with Visibility and Transparency by...
Cleaning Code - Tools and Techniques for Large Legacy Projects
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
Moving Fast At Scale
Take the red pill
Winnipeg ISACA Security is Dead, Rugged DevOps
Bootstrapping a-devops-matter
ATC2013-Thiru and Abhishek-How to prevent Agile from becoming Fragile?
Pair Programming, TDD and other impractical things
Current Trends in Agile - opening keynote for Agile Israel 2014
A Self Funding Agile Transformation
Better Software Keynote The Complete Developer 07
Better Software Keynote The Complete Developer 07

More from Gene Kim (20)

PDF
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
PDF
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
PPTX
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
PPTX
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
PPTX
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
PPTX
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
PDF
DOES SFO 2016 - Greg Padak - Default to Open
PPTX
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
PPTX
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
PPTX
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
PPTX
DOES SFO 2016 - Topo Pal - DevOps at Capital One
PPTX
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
PPTX
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
PPTX
DOES SFO 2016 - Chris Fulton - CD for DBs
PPTX
DOES SFO 2016 - Marc Priolo - Are we there yet?
PPTX
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
PDF
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
PPTX
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
PPTX
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
PDF
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...
DOES SFO 2016 - Kaimar Karu - ITIL. You keep using that word. I don't think i...
DOES SFO 2016 - Ross Clanton and Chivas Nambiar - DevOps at Verizon
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Daniel Perez - Doubling Down on ChatOps in the Enterprise
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Rich Jackson & Rosalind Radcliffe - The Mainframe DevOps Team...
DOES SFO 2016 - Greg Padak - Default to Open
DOES SFO 2016 - Michael Nygard - Tempo, Maneuverability, Initiative
DOES SFO 2016 - Alexa Alley - Value Stream Mapping
DOES SFO 2016 - Mark Imbriaco - Lessons From the Bleeding Edge
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Avan Mathur - Planning for Huge Scale
DOES SFO 2016 - Chris Fulton - CD for DBs
DOES SFO 2016 - Marc Priolo - Are we there yet?
DOES SFO 2016 - Steve Brodie - The Future of DevOps in the Enterprise
DOES SFO 2016 - Aimee Bechtle - Utilizing Distributed Dojos to Transform a Wo...
DOES SFO 2016 - Ray Krueger - Speed as a Prime Directive
DOES SFO 2016 - Paula Thrasher & Kevin Stanley - Building Brilliant Teams
DOES SFO 2016 - Kevina Finn-Braun & J. Paul Reed - Beyond the Retrospective: ...

Recently uploaded (20)

PDF
CCUS-as-the-Missing-Link-to-Net-Zero_AksCurious.pdf
PPTX
Presentation - Principles of Instructional Design.pptx
PPTX
Information-Technology-in-Human-Society.pptx
PDF
Optimizing bioinformatics applications: a novel approach with human protein d...
PDF
Ericsson 5G Feature,KPIs Analysis_ Overview, Dependencies & Recommendations (...
PDF
State of AI in Business 2025 - MIT NANDA
PDF
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
PDF
Altius execution marketplace concept.pdf
PPTX
Blending method and technology for hydrogen.pptx
PDF
Advancements in abstractive text summarization: a deep learning approach
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PPTX
Report in SIP_Distance_Learning_Technology_Impact.pptx
PDF
Addressing the challenges of harmonizing law and artificial intelligence tech...
PDF
The AI Revolution in Customer Service - 2025
PPTX
maintenance powerrpoint for adaprive and preventive
PPTX
Digital Convergence: How GIS, BIM, and CAD Revolutionize Asset Management
PPTX
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
PDF
NewMind AI Journal Monthly Chronicles - August 2025
PPTX
Build automations faster and more reliably with UiPath ScreenPlay
PPTX
How to use fields_get method in Odoo 18
CCUS-as-the-Missing-Link-to-Net-Zero_AksCurious.pdf
Presentation - Principles of Instructional Design.pptx
Information-Technology-in-Human-Society.pptx
Optimizing bioinformatics applications: a novel approach with human protein d...
Ericsson 5G Feature,KPIs Analysis_ Overview, Dependencies & Recommendations (...
State of AI in Business 2025 - MIT NANDA
ELLIE29.pdfWETWETAWTAWETAETAETERTRTERTER
Altius execution marketplace concept.pdf
Blending method and technology for hydrogen.pptx
Advancements in abstractive text summarization: a deep learning approach
Connector Corner: Transform Unstructured Documents with Agentic Automation
Report in SIP_Distance_Learning_Technology_Impact.pptx
Addressing the challenges of harmonizing law and artificial intelligence tech...
The AI Revolution in Customer Service - 2025
maintenance powerrpoint for adaprive and preventive
Digital Convergence: How GIS, BIM, and CAD Revolutionize Asset Management
Rise of the Digital Control Grid Zeee Media and Hope and Tivon FTWProject.com
NewMind AI Journal Monthly Chronicles - August 2025
Build automations faster and more reliably with UiPath ScreenPlay
How to use fields_get method in Odoo 18

DOES15 - Randy Shoup - Ten (Hard-Won) Lessons of the DevOps Transition

  • 1. Ten (Hard-Won) Lessons of the DevOps Transition Randy Shoup @randyshoup linkedin.com/in/randyshoup
  • 2. 1. Reorganize Teams Around Ownership • End-to-end Ownership o Small, cross-functional team owns application / service from design to deployment to retirement o Team has inside it all skill sets needed to do the job o Depends on other teams for supporting services o Able to move very rapidly and independently • “You build it, you run it” o The same team that builds the software operates the software o No separate maintenance or sustaining engineering team
  • 3. 1. Reorganize Teams Around Ownership • E.g., KIXEYE and MySQL o Development team wrote the SQL, issued all the queries o DBA / Ops team responsible for performance and uptime o Splitting ownership between teams was counterproductive and disruptive • Alternative strategies o Centrally-maintained persistence service OR o Customer manages its own persistence
  • 4. 2. Lose the Ticket Culture Ticket Culture Ownership Culture Do what is asked for Do what is needed One-way communication Two-way collaboration Goal is to close the ticket Goal is product success Reactive approach Proactive approach Reinforces silos Reinforces collaboration Prioritizes process Prioritizes results
  • 5. 3. Replace Approvals With Code • Reduce or eliminate approval bodies o E.g., eBay Architecture Review Board o (-) Too late o (-) Too slow o (-) Too disengaged from details • Package expertise in code o Smart, experienced people build their knowledge into code o Teams with specialized skills (databases, security, compliance, etc.) provide a service, library, or tool
  • 6. 3. Replace Approvals With Code • E.g., Security at Google o Provide secure foundations by maintaining lower-level libraries and services o Provide self-service penetration tests, vulnerability assessments, etc.
  • 7. The easiest way to “enforce” a standard practice is with working code.
  • 8. 4. Enforce a Service Mentality • Vendor-Customer Discipline o Service team is a vendor; the products are its customers o Service is useful only to the extent it provides value to its customers • Customer can choose to use service or not (!) o Customer team is responsible for deciding what is best for their use case o Use the right tool for the right job • Provides powerful incentives o Service must be *strictly better* than the alternatives of build, buy, borrow
  • 9. 5. Charge for Usage • Charge customers for *usage* of the service o Aligns economic incentives of customer and provider o Motivates both sides to optimize efficiency • Free usage leads to waste o No incentive to control usage or find more efficient alternatives • E.g., App Engine usage at Google o Charging particularly egregious internal customer led to 10x reduction in usage
  • 10. 6. Prioritize Quality • Quality, Performance, and Reliability are “Priority-0 features” o “Stop the line” if there is a degradation o Equally important to users as product features or engaging user experience • Developers write tests and code together o Continuous testing of features, performance, load o Confidence to make risky changes • “Slow down to speed up” o Catch bugs earlier, fail faster
  • 11. 6. Prioritize Quality • E.g., Development Process at Google o Code reviews before submission o Automated tests for everything o Single searchable source code repository  Internal Open Source Model o Not “here is a bug report” o Instead “here is the bug; here is the code fix; here is the test that verifies the fix” 
  • 12. 7. Start Investing in Testing • Write functional tests around a component o If you can only write a few tests, they should be meaningful ones o End-to-end tests exercise more meaningful customer-visible capabilities than unit tests • Fail any build that breaks a test • Keep ratcheting up the tests o For every new feature, add tests for that feature o For every new bug, add a test that reproduces the bug and verifies the fix
  • 13. 8. Actively Manage Technical Debt • Maintain sustainable and well-understood level of debt o Denominated in engineering effort to fix o Plan for how and when you will pay it off o Track feature work vs. accrued debt over time • “Don’t have time to do it right” ? o WRONG  – Don’t have time to do it twice (!) o The more constrained you are on time and resources, the more important it is to do it solidly the first time
  • 14. Vicious Cycle of Technical Debt Technical Debt “No time to do it right” Quick- and-dirty
  • 16. 9. Share On-call Duties • All members of the team rotate on-call responsibilities o Strongest motivator to build in solid monitoring and diagnosis capabilities o Best way to learn the real-world behavior of the system o Best way to develop empathy for customers and other team members • Train via on-call “apprenticeship” o 1. Apprentice starts as secondary on-call, experienced engineer is primary o 2. Apprentice is primary, experienced engineer is secondary o 3. Apprentice graduates
  • 17. 10. Make Post-Mortems Truly Blameless • Overcoming blame culture takes work o Institutional memory of blame is long o E.g., Initial post-mortems at KIXEYE elicited tons of fear • Constantly reinforce learning over blame o When you say “blameless”, you have to really mean it (!) o Don’t ask “what did you do?”, ask “what did you learn?”
  • 18. 10. Make Post-Mortems Truly Blameless • Open and Honest Discussion o Document exactly what happened o What went right o What went wrong • Focus on Learning and Improvement o How should we change process, technology, documentation, etc. o How could we have automated the problems away? o How could we have diagnosed more quickly? • Take fear and personalization out of it  Engineers will compete to take personal responsibility (!)  “Finally we can fix that broken system” 
  • 19. Top Five Takeaways • 1. Reorganize Teams Around Ownership • 2. Replace Approvals With Code • 3. Prioritize Quality • 4. Actively Manage Technical Debt • 5. Make Post-Mortems Truly Blameless
  • 20. What I Could Use Help With • Encouraging leaders to lose the blame culture • Measuring productivity in a principled way • Overcoming resistance to taking the pager
  • 21. Thank You! • @randyshoup • linkedin.com/in/randyshoup