This post was originally published here.
In this week’s installment of The DevOps Handbook Series, I’ll be looking at the second half of Part 1. As mentioned previously, all credit for the book’s material goes to authors and founders of the DevOps movement Gene Kim, Jez Humble, Patrick Debois, and John Willis. I’m simply here to provide the Handbook’s key lessons in summary form for readers who are short on time.
Just to remind you of what has been covered so far, click the following links. Catch up on the previous summaries in The DevOps Handbook Series:
Now, back to The Three Ways:
The Three Ways: The Principles Underpinning DevOps (2012) IT Revolution
The Second Way: Feedback
The Second Way focuses on creating a mutually beneficial and continual flow of feedback through every phase in the value stream. The aim here is to strengthen the work process and prevent issues from recurring by enabling faster problem detection and recovery.
Ultimately, the Second Way is best adopted by “working safely within complex systems.” The core problem the Second Way addresses is how it is impossible for a single person to view complex systems in their entirety and grasp the interconnectedness of individual elements. This inability to isolate components causes a domino effect as problems affect one after another down the value stream.
To overcome this, teams need to:
- “See Problems as They Occur.” Increasing information flow through the technology value stream can vastly improve overall team clarity. Creating feedback and feedforward loops enables this by increasing our ability to measure and monitor individual components and their connections. Any component deviations or defects that occur are then swiftly spotted and can be acted upon immediately.
- “Swarm and Solve Problems to Build New Knowledge.” Fast detection is not enough to improve the quality and safety of our work. Rather than delaying and building up technical debt, swarming motivates teams to treat problems straightaway. Enabling this approach early in the process life cycle—even with small issues—improves problem-solving capabilities when a large disaster occurs.
**The Andon Cord: The DevOps Handbook likens swarming in the technology value stream to the Toyota manufacturing Andon cord practice. Pulling this cord alerts everyone to a problem in the production line. The process encourages the organization to quickly mobilize and find a solution.**
- “Keep Pushing Quality Closer to the Source.” Avoid adding more inspection steps and approval processes to a complex system. This only increases the chances of failures. Instead, commission everyone to find and fix problems inside their area of control. Thus, empowering quality and safety responsibilities where work is being performed rather than waiting for outside approval and impacting deployment lead time.
- “Enable Optimizing for Downstream Work Centers.” Lean identifies two customers in the value stream—the external customer (who is paying for the product/service) and the internal one (the next person who receives work in the process)—and places high importance on the latter. By increasing our empathy for team members further downstream, we can improve quality and flow at each step.
The Third Way: Continual Learning and Experimentation
The Third Way maximizes an organization’s capacity for learning and strategic experimentation by establishing a culture of trust and high-performance. Empower an environment which encourages lifelong learners to take risks. This way, teams can respond to both successes and failures with further process improvement and development ideas.
The Third Way involves “enabling organizational learning and a safety culture.” By their very definition, complex systems make it impossible to predict the future outcomes of any actions within them. Initiating ongoing and dynamic learning, even to the point of simulating controlled failure practices, prepares teams to be adaptable within this ever-changing environment process.
To achieve this:
- “Institutionalize the Improvement of Daily Work.” Organizational culture does not always encourage teams to improve work operations for time, cost and labor saving reasons. This results in an increasing reliance on workaround solutions and a buildup of technical debt. Reserve time daily for improving the process. To gradually reduce time spent fire-fighting for fixes to bigger problems.
- “Transform Local Discoveries into Global Improvements.” Make building up individual expertise a cumulative experience. Encourage the sharing of information across the whole team. This transfer of tacit knowledge to everyone creates global understanding which is mutually beneficial to all involved.
- “Inject Resilience Patterns into Our Daily Work.” Improve work operations and increase production capacity with persistent experimentation. Look for ways to shorten deployment lead times, expand test coverage, and reduce test execution times; to optimize the work process' resilience.
- “Leaders Reinforce a Learning Culture.” On top of being responsible for objectives and the emotional tone of organizations, leaders should support team members to autonomously identify and fix problems in their daily work. Achieve this by raising the value of learning with the coaching kata, which provides a strategic framework for problem-solving.
Check out the next installment now: DevOps Handbook Series Part 2: Begin The DevOps Methodology
Kim, G., Debois, P., Willis, J., & Humble, J. (2016). The DevOps handbook: how to create world-class agility, reliability, and security in technology organizations. Portland, OR: IT Revolution Press, LLC.