Transparent collaboration is the andon of your knowledge production system
TL;DR: How the andon principle from lean manufacturing can help you spot and solve critical issues early on and foster a culture of transparency and collaboration within the software development process by encouraging anyone to “stop the line” when necessary.
The shift from waterfall to agile was predicated on the belief that what worked for the factory floor during the industrial revolution would not work for knowledge work in the information age, but assembly lines and modern software development have more in common than you might think:
Agile development can trace its roots back to the production floor of Toyota as far back as the 40s and 50s. At the core of the Toyota Production System (what eventually inspired the lean manufacturing movement) was the concept of an andon, a concept we continue to see driving benefit in modern software development today.
Anyone can stop the line for any reason
In short, an andon is a system of lights and signals that allows workers to alert managers and colleagues of any problems or defects in the production process. With the pull of a cord or the press of a button at each station by any worker, the entire production system grinds to an instant halt. It may seem counter-intuitive to make it easier for anyone to shut down production, but the idea is that if you stop the line as soon as a problem is detected, it can be fixed before it gets worse. It’s been so successful in driving continuous improvement that Toyota (and most other manufacturers) continue to use the concept to this day.
The andon is designed to empower workers to stop the line, identify the root cause of the issue, and implement corrective actions, rather than letting it pass unnoticed or hoping someone else will fix it later. The andon is not only a tool for quality control, but also a culture of continuous improvement, where everyone is encouraged to speak up, share feedback, and collaborate on solutions. The andon fosters a sense of ownership, accountability, and learning among the workers, as well as transparency, trust, and alignment among the managers.
Transparency is software development’s andon
Transparent collaboration in software development and other knowledge work is like the andon in a production system. It allows anyone to spot and call out critical issues early on before they get worse, and to engage in constructive dialogue and problem-solving with their peers and stakeholders. Some of the benefits of transparent collaboration are:
- Faster and better feedback loops - By making the work visible and accessible to everyone, transparent collaboration enables faster and more frequent feedback from users, customers, and colleagues. This feedback can help validate assumptions, identify gaps, and improve the quality and usability of the product or service. It can also help prevent misunderstandings, conflicts, and rework, as well as foster a culture of experimentation and learning.
- Higher engagement and motivation - By giving everyone a voice and a stake in the work, transparent collaboration increases the engagement and motivation of the workers. It allows them to express their ideas, opinions, and concerns, and to contribute to the decision-making and problem-solving processes. It also allows them to see the value and impact of their work, and to receive recognition and appreciation from their peers and managers.
- Greater trust and alignment - By creating a shared understanding and a common goal, transparent collaboration builds trust and alignment among the workers and the managers. It reduces the barriers and silos that can hinder communication, collaboration, and coordination. It also promotes a culture of honesty, openness, and accountability, where everyone is responsible for the quality and outcome of the work, and where everyone can learn from mistakes and successes.
- Higher quality and customer satisfaction - By spotting and solving critical issues early on, you can prevent or reduce defects, errors, and rework, and improve the quality and usability of your software. By seeking and providing feedback throughout the process, you can ensure that your software meets the needs and expectations of your users and customers, and delivers value to them.
- Faster and more efficient delivery - By making your work visible and accessible, you can reduce the overhead and waste of information silos, duplication, and handoffs, and streamline the software development process. By stopping the line and escalating issues when necessary, you can avoid or minimize delays, disruptions, and dependencies, and speed up the software delivery cycle.
Of course, transparent collaboration is not without its challenges and trade-offs. It requires a shift in mindset, behavior, and culture, as well as a set of tools, processes, and norms that support and enable it. It also requires a balance between openness and privacy, between collaboration and autonomy, and between feedback and focus.
Applying the andon principle to software development
The benefits of transparent collaboration outweigh the costs, especially in a complex, uncertain, and dynamic environment, where the ability to adapt, innovate, and deliver value is essential. By adopting the andon principle in you own work, you can leverage the collective intelligence, creativity, and experience of our teams, and create better products and services for your users and customers. Here are some ways you can apply the andon principle to your software development team:
- Make your work visible and accessible - Lean into transparency. Don’t view openness and early, broad engagement as a potential liability or risk that someone might “shoot down” your idea, but as an opportunity to get feedback and improve your work. Use tools and processes that allow you to share your work with your team and your stakeholders, and to solicit and incorporate their feedback. Don’t wait until the end of the project or the release cycle to get feedback. Instead, seek and provide feedback throughout the software development process, from ideation to deployment.
- Stop the line and escalate issues when necessary - Don’t ignore or hide problems, or hope that someone else will fix them. Be proactive and responsible for the quality and outcome of your work. If you encounter a critical issue, such as a bug, a security issue, a performance degradation, or a user complaint, stop what you’re doing and alert your team and your stakeholders. Don’t resume your work until the issue is fixed, or a mitigation plan is in place. Learn from the issue, and implement preventive or corrective actions to avoid or reduce its recurrence.
- Seek and provide feedback early and often - Don’t wait until the end of the project or the release cycle to get feedback from your users, customers, and colleagues. Solicit and incorporate feedback throughout the software development process, from ideation to deployment. Use techniques such as user research, prototyping, testing, and experimentation to validate your assumptions, identify gaps, and improve your software. Be open and receptive to feedback, and use it to learn and improve, not to blame or defend. Give constructive and timely feedback to others, and appreciate and acknowledge their contributions.
- Collaborate and problem-solve with your team and your stakeholders - Don’t work in isolation, or assume that you have all the answers. Leverage the collective intelligence, creativity, and experience of your team and your stakeholders. Involve them in the decision-making and problem-solving processes, and respect their perspectives and inputs. Use methods such as brainstorming, design thinking, and retrospectives to generate and evaluate ideas, and to identify and address root causes. Communicate clearly and effectively, and align on the goals, expectations, and roles. Celebrate and share your successes, and learn from your failures.
- Create a culture of continuous improvement - Don’t settle for the status quo, or assume that there’s nothing you can do to improve. Continuously reflect on your work, and look for ways to make it better. Use tools and processes such as retrospectives, postmortems, and root cause analysis to identify and address issues, and to implement preventive or corrective actions. Encourage and reward experimentation, learning, and innovation. Be open to change, and embrace new ideas and approaches. Don’t be afraid to fail, and learn from your mistakes. Share your learnings with others, and help them improve.
Software development is not the same as manufacturing, but it shares some similarities. Both are complex, iterative, and collaborative processes that involve creating and delivering value to customers. Both also face challenges such as quality, efficiency, and innovation. And both can benefit from the andon principle.
The andon principle is not a silver bullet, but it’s a powerful tool for spotting and solving critical issues early on, and for fostering a culture of collaboration in your software development team. By adopting the andon principle, you can empower yourself and your team to stop the line when necessary, to collaborate and problem-solve with your peers and stakeholders, and to create better products and services for your users and customers. So, next time you encounter an issue in your software development process, don’t hesitate to pull the andon cord. Your team and your customers will thank you for it.
If you enjoyed this post, you might also enjoy:
- Why open source
- Twelve tips for growing communities around your open source project
- 19 reasons why technologists don't want to work at your government agency
- Leaders show their work
- Ten ways to make a product great
- Five best practices in open source: external engagement
- 15 rules for communicating at GitHub
- Manage like an engineer
- The seven things a corporate Chief of Staff does
- Why everything should have a URL
- Four characteristics of modern collaboration tools
Ben Balter is the Director of Engineering Operations and Culture at GitHub, the world’s largest software development platform. Previously, as Chief of Staff for Security, he managed the office of the Chief Security Officer, improving overall business effectiveness of the Security organization through portfolio management, strategy, planning, culture, and values. As a Staff Technical Program manager for Enterprise and Compliance, Ben managed GitHub’s on-premises and SaaS enterprise offerings, and as the Senior Product Manager overseeing the platform’s Trust and Safety efforts, Ben shipped more than 500 features in support of community management, privacy, compliance, content moderation, product security, platform health, and open source workflows to ensure the GitHub community and platform remained safe, secure, and welcoming for all software developers. Before joining GitHub’s Product team, Ben served as GitHub’s Government Evangelist, leading the efforts to encourage more than 2,000 government organizations across 75 countries to adopt open source philosophies for code, data, and policy development. More about the author →