You are previewing Effective DevOps.
O'Reilly logo
Effective DevOps

Book Description

Some companies think that adopting devops means bringing in specialists or a host of new tools. With this practical guide, you’ll learn why devops is a professional and cultural movement that calls for change from inside your organization. Authors Katherine Daniels and Jennifer Davis provide several approaches for improving collaboration within teams, creating affinity among teams, promoting efficient tool usage in your company, and scaling up what works throughout your organization’s inflection points.

Table of Contents

  1. Foreword by John Allspaw
  2. Foreword by Nicole Forsgren
  3. Preface
    1. Introducing Effective Devops
    2. Who This Book Is For
    3. How This Book Is Organized
      1. Methodology of Case Studies
    4. Conventions Used in This Book
    5. Using Code Examples
    6. Safari® Books Online
    7. How to Contact Us
    8. Acknowledgments
      1. From Katherine
      2. From Jennifer
  4. I. What Is Devops?
  5. 1. The Big Picture
    1. A Snapshot of Devops Culture
    2. The Evolution of Culture
    3. The Value of the Story
    4. Katherine’s Story
    5. Jennifer’s Story
    6. Illustrating Devops with Stories
  6. 2. What Is Devops?
    1. A Prescription for Culture
    2. The Devops Equation
      1. Devops as Folk Model
      2. The Old View and the New View
      3. The Devops Compact
  7. 3. A History of Devops
    1. Developer as Operator
    2. The Advent of Software Engineering
    3. The Advent of Proprietary Software and Standardization
    4. The Age of the Network
    5. The Beginnings of a Global Community
    6. The Age of Applications and the Web
    7. The Growth of Software Development Methodologies
    8. Open Source Software, Proprietary Services
    9. Agile Infrastructure
    10. The Beginning of devopsdays
    11. The Current State of Devops
    12. Summary
  8. 4. Foundational Terminology and Concepts
    1. Software Development Methodologies
      1. Waterfall
      2. Agile
      3. Scrum
    2. Operations Methodologies
      1. ITIL
      2. COBIT
    3. Systems Methodologies
      1. Lean
    4. Development, Release, and Deployment Concepts
      1. Version Control
      2. Test-Driven Development
      3. Application Deployment
      4. Continuous Integration
      5. Continuous Delivery
      6. Continuous Deployment
      7. Minimum Viable Product
    5. Infrastructure Concepts
      1. Configuration Management
      2. Cloud Computing
      3. Infrastructure Automation
      4. Artifact Management
      5. Containers
    6. Cultural Concepts
      1. Retrospective
      2. Postmortem
      3. Blamelessness
      4. Organizational Learning
    7. Summary
  9. 5. Devops Misconceptions and Anti-Patterns
    1. Common Devops Misconceptions
      1. Devops Only Involves Developers and System Administrators
      2. Devops Is a Team
      3. Devops Is a Job Title
      4. Devops Is Relevant Only to Web Startups
      5. You Need a Devops Certification
      6. Devops Means Doing All the Work with Half the People
      7. There Is One “Right Way” (or “Wrong Way”) to Do Devops
      8. It Will Take X Weeks/Months to Implement Devops
      9. Devops Is All About the Tools
      10. Devops Is About Automation
      11. Devops Is a Fad
    2. Devops Anti-Patterns
      1. Blame Culture
      2. Silos
      3. Root Cause Analysis
      4. Human Error
    3. Summary
  10. 6. The Four Pillars of Effective Devops
    1. Collaboration
    2. Affinity
    3. Tools
    4. Scaling
    5. Summary
  11. II. Collaboration
  12. 7. Collaboration: Individuals Working Together
    1. Sparkle Corp Weekly Planning Meeting
    2. Defining Collaboration
    3. Individual Differences and Backgrounds
      1. Professional Backgrounds
      2. Personal Backgrounds
      3. Goals
      4. Cognitive Styles
    4. Opportunities for Competitive Advantage
    5. Mentorship
      1. Senior-to-Junior Mentoring
      2. Senior-to-Senior Mentoring
      3. Junior-to-Senior Mentoring
      4. Junior-to-Junior Mentoring
    6. Introducing Mindsets
      1. Cultivating the Right Mindset
      2. Fixed Mindset
      3. Growth Mindset
      4. Focus on Individual Growth
    7. Mindsets and Learning Organizations
    8. The Role of Feedback
    9. Reviews and Rankings
      1. Frequency of Feedback
      2. Ranking System
      3. The Problems with Rock Stars and Superflocks
      4. The Value of Social Capital to a Team
    10. Communication and Conflict Resolution Styles
      1. Effective Communication
      2. How We Communicate
      3. Communication Context and Power Differentials
    11. Empathy and Trust
      1. Developing Empathy
      2. Developing Trust
    12. Humane Staffing and Resources
      1. Availability and Maintenance
      2. Work–Life Balance
      3. Team Size Considerations
    13. Effective Collaboration with Sparkle Corp
    14. Summary
  13. 8. Collaboration: Misconceptions and Troubleshooting
    1. Collaboration Misconceptions
      1. You Can’t Teach an Old Sysadmin New Tricks
      2. You Need to Hire Rock Stars When You’re Trying to Grow Quickly
      3. A Diverse Team Can’t Collaborate as Effectively
    2. Collaboration Troubleshooting
      1. Some People on the Team Aren’t Pulling Their Weight
      2. We Need to Decide If We Should Let Someone Go
      3. I’m Overworked, Stressed, and Burnt Out
      4. Some People on the Team Are Feeling Disrespected
      5. Some People Aren’t Communicating Enough
      6. An Employee (or Candidate) Is Technically Brilliant, but Also a Jerk
      7. I Don’t Feel Like My Career Is Progressing Within My Current Team/Organization
      8. Nobody Listens to Me (Anymore)
      9. We Just Had a Reorganization or Staff Reduction
  14. III. Affinity
  15. 9. Affinity: From Individuals to Teams
    1. Sparkle Corp Development Demo Day
    2. People Networks
    3. What Makes a Team?
      1. The Work That Teams Do
      2. Defining Affinity
      3. Interpersonal Ties Within Teams
      4. Team Culture
      5. Team Cohesion
      6. Diversity
      7. Benefits of Diversity
      8. Axes of Diversity and Intersectionality
      9. Hiring Considerations
      10. Maintaining an Inclusive Environment
    4. Teams and Organizational Structure
    5. Finding Common Ground Between Teams
      1. From Competition to Cooperation
      2. Building Team Empathy
      3. Improving Team Communication
    6. Case Study: United States Patent and Trademark Office
      1. Background and Directions
      2. Encouraging Collaboration and Affinity
      3. Balancing Multiple Viewpoints
    7. Benefits of Improved Affinity
      1. Shortened Cycle Time
      2. Reduction of Communication Barriers
      3. Trust
      4. Innovation
    8. Requirements for Affinity
      1. Slack
      2. Explicit Values and Goals
      3. Space
      4. Collaboration and Cooperation
    9. Measuring Affinity
      1. Employee Skills and Evaluations
      2. Interteam Interaction
      3. Giving Back to the Community
    10. Sparkle Corp Dev and Ops Affinity
    11. Summary
  16. 10. Affinity: Misconceptions and Troubleshooting
    1. Affinity Misconceptions
      1. Ops Engineers Aren’t as Valuable to the Organization as Developers Are
      2. Sharing Too Much Outside the Company Might Weaken Our Competitive Position
    2. Affinity Troubleshooting
      1. One or More Individuals Are Interrupting Group Flow Dynamics
      2. One Team Keeps Blocking Other Teams
      3. Some Teams Are Feeling Undervalued
      4. People Don’t Seem to Trust Each Other
      5. People Are Concerned Solely About Technical Aspects of Work, Not Interpersonal Ones
      6. Different Teams Seem Like They Won’t Ever Be Able to Really Work Together
      7. Past Interpersonal Conflicts Are Causing Present Interteam Conflicts
      8. Team X Seems to Want to Be Their Own Silo
      9. People Are Blaming Mistakes on Devops
  17. IV. Tools
  18. 11. Tools: Ecosystem Overview
    1. Software Development
      1. Local Development Environment
      2. Version Control
      3. Artifact Management
    2. Automation
      1. Server Installation
      2. Infrastructure Automation
      3. System Provisioning
      4. Test and Build Automation
    3. Monitoring
      1. Metrics
      2. Logging
      3. Alerting
      4. Events
    4. Evolution of the Ecosystem
    5. Summary
  19. 12. Tools: Accelerators of Culture
    1. The Value of Tools to People
    2. What Are Tools?
    3. The Right Tools for Real Problems
    4. Embracing Open Source
    5. Standardization of Tools
    6. Consistent Processes for Tool Analysis
    7. Exceptions to Standardization
    8. Irrelevance of Tools
      1. Failures of Process, Not Tools
      2. Conway’s Law for Tool Selection
    9. The Impacts of Tools on Culture
      1. Tools Impacting Communication
      2. Tools Impacting Broader Behaviors
    10. Selection of Tools
      1. Product Development
      2. Community Health
      3. In-House Customization
      4. Example: Comparison of Version Control
      5. Example: Manual Infrastructure Configuration over Automation
    11. Auditing Your Tool Ecosystem
    12. Elimination of Tools
      1. Improvements: Planning and Measuring Change
    13. Case Studies
    14. Examining DramaFever
      1. Impact of Existing Technology
      2. Continuous Impact of Emerging Technologies
      3. Affinity Empowering Adoption of Practices
      4. Tool Selection at DramaFever
    15. Examining Etsy
      1. Explicit Versus Implicit Culture
      2. A Culture of Compassion
      3. A Culture of Blamelessness
      4. Being Remote-Friendly
      5. Tools Enforcing Practice
      6. Buy or Build
      7. Considering Automation
      8. Measuring Success
    16. Motivations and Decision-Making Challenges
    17. Sparkle Corp Effective Tool Usage
    18. Summary
  20. 13. Tools: Misconceptions and Troubleshooting
    1. Tools Misconceptions
      1. We Use Technology X, but Everyone Else Is Using Technology Y; We Must Change to Technology Y as Soon as Possible
      2. Using Technology X Means We’re Doing Devops
      3. We Have to Make Sure We Don’t Choose the Wrong Tool
      4. You Can Buy Devops-in-a-Box or Devops-as-a-Service
    2. Tools Troubleshooting
      1. We’re Trying to Find the Best Practices for Technology X
      2. We Can’t Get People to Agree on One Particular Tool
      3. We’ve Decided to Adopt (or Retire) Technology X, but People Are Resisting Using It (or Giving It Up)
  21. V. Scaling
  22. 14. Scaling: Inflection Points
    1. Understanding Scaling
    2. Considering Enterprise Devops
      1. Growing or Shrinking the Organization Strategically with Devops
      2. Considerations of Deliberate Scaling
      3. Planning for Scaling
    3. Organizational Structure
      1. Locality
    4. Team Flexibility
    5. Organizational Lifecycle
      1. Elimination of Vampire and Zombie Projects
      2. The Impact of Release Cycles
    6. Complexity and Change
    7. Scaling for Teams
      1. Growing Your Teams: Hiring as Scaling
      2. Retention
    8. Case Studies: Growing and Scaling Teams
      1. Growing and Building Operations Teams
      2. Problems with “Hero Culture”
      3. Job Postings and Recruitment Issues
      4. Developing Individuals and Teams
      5. Developing and Growing Team Members
    9. Team Scaling and Growth Strategies
      1. Keeping Teams Small and Flexible
      2. Fostering Collaboration
      3. Managing Conflict
    10. Scaling for Organizations
      1. Centralized Versus Ad Hoc Teams
      2. Build Out Leadership
    11. Case Study: Government Digital Service, GOV.UK
      1. Explicit Culture
      2. Planning
      3. Challenges
      4. Building Affinity
    12. Case Study: Target
    13. Examining Target
      1. Starting with Desired Outcomes
      2. Affinity Within the Enterprise
      3. Tools and Technology Within the Enterprise
      4. Sharing Knowledge Within the Enterprise
    14. Summary
  23. 15. Scaling: Misconceptions and Troubleshooting
    1. Scaling Misconceptions
      1. Some of Our Teams Will Never Be Able to Work Together
      2. We Need Total Executive Buy-In to Start Making Changes
      3. We Don’t Have the Budget to Do Any Hiring Right Now So We Can’t Start Doing Devops
    2. Scaling Troubleshooting
      1. Management Is Insistent That We Stick With X, and Doesn’t See the Value of Devops
      2. Teams Are Spread Too Thin
      3. Decisions Aren’t Being Made Well
      4. We’re Having Problems Attracting the Talent We Want
      5. Morale Is Suffering After a Reorganization or Staff Reduction
    3. We Don’t Know If We Need a Full Team for X
  24. VI. Bridging Devops Cultures
  25. 16. Building Bridges with the Four Pillars of Effective Devops
    1. The Significance of Stories
      1. Explicit and Implicit Stories
    2. Devops in Theory and in Practice
      1. Real-World Case Studies: Stories Showing Practice
      2. Learning from Stories
      3. Building Connections with Stories
    3. Summary
  26. 17. Bridging Devops Cultures: Learning from Our Stories
    1. What Stories Can Teach Us About Culture
      1. Values
      2. Prohibitions
      3. Myths
      4. Rituals
      5. Ideas and Knowledge
    2. Interorganizational Interactions
      1. Conferences and Travel
      2. Other Community Events
      3. Engineering Exchanges
    3. Encouraging Interorganizational Affinity
      1. Discouraging Fixed Mindsets
      2. Start with Small Changes
    4. Summary
  27. 18. Bridging Devops Cultures: Fostering Human Connections
    1. Individual Stories and Narratives around Work
      1. Taylorism and the Value of Individual Stories
      2. Celebrating Individuals
      3. Going Remote
      4. Leaving a Company
    2. Cultural Debt
    3. The Health of Systems
      1. Examining Sick Systems
      2. Creating Healthy Systems
      3. Organizational and Individual Health
      4. Identifying Healthy and Unhealthy Cultures
    4. Summary
  28. 19. Conclusion
    1. Your Next Steps
    2. Creating Effective Devops
  29. 20. Further Resources
  30. Index