Conclusion: Navigating Complexity of Cognitive Load through Organizational Design
In the world of software product development, managing cognitive load effectively is not just about reducing the amount of information developers must process; it involves strategic organizational design that aligns closely with broader business goals and enhances team dynamics. This book has explored two predominant strategies for managing cognitive load: focusing ownership on specific parts of the puzzle and striving for fluid ownership with high technical excellence across the development process.
Narrow versus Broad Ownership
The practice of assigning ownership, whether narrow or broad, fundamentally influences how teams interact with their work and each other. Narrow ownership tends to optimize for individual or small team comfort, allowing for deep expertise within a confined scope but often at the cost of greater cross-team dependencies and less flexibility. This can speed up developments within a small scope but doesn't necessarily translate to overall business agility or responsiveness to market demands.
On the other hand, broad ownership or even a lack of defined ownership extends the focus on specific technical tasks to encompass customer impacts and business outcomes. This approach not only facilitates a quicker validation of business hypotheses through direct customer feedback but also reduces unnecessary resource management and bureaucratic overhead. It fosters an environment in which learning and adaptability are at the forefront, encouraging teams to continuously evolve their skills and knowledge.
Technical Excellence and Continuous Learning
Focusing on technical excellence, this book highlights the importance of maintaining high standards in coding and architecture, which becomes especially crucial in systems where developers might frequently interact with each other's code. The incentive to maintain a clean and efficient codebase is not driven by external enforcement but by a collective standard of excellence that all team members adhere to as they know their work will directly impact their peers.
Moreover, in environments where ownership boundaries are fluid, the need for continuous learning and adaptability is paramount. Teams are encouraged to expand their technical and domain expertise, embracing new challenges and technologies as part of their routine, which in turn helps in reducing the cognitive load by making unfamiliar domains more accessible and less daunting.
Cultural Implications of Structural Choices
Ultimately, the choice between narrow ownership and broad technical excellence is deeply entwined with the culture of the organization. Larman's Laws of Organizational Behavior explain that the structure of an organization profoundly influences its culture. A structure that limits ownership may lead to a culture of silos and guarded domains, whereas a structure that promotes shared responsibilities and collective outcomes fosters a culture of openness, collaboration, and mutual accountability.
In conclusion, the strategies discussed in this book are not merely operational choices but foundational elements that shape the cognitive landscapes of development teams. By carefully choosing and integrating these strategies, organizations can craft a development environment that not only manages cognitive load effectively but also drives innovation, quality, and satisfaction among its members. The path forward lies in recognizing and implementing organizational designs that align with the desired outcomes, ensuring that teams are equipped not just to handle their current tasks but to thrive in an ever-evolving technological landscape.
For your convenience, here are the two organizational design patterns side by side:
Narrowing Scope to a Technical Piece of a Customer SolutionThis is about giving ownership to technical pieces of an entire customer solution. The narrower the scope, the more of the pros and cons will manifest; the broader the scope, the less they will manifest.
|
Broadening Scope to Encompass Everything Needed to Own Customer ImpactCollective code ownership: all teams have access to everything required to deliver a customer impact.
|
(*) Take into account https://en.wikipedia.org/wiki/The_Mythical_Man-Month—there are no infinite possibilities here. From experience, 4-7 teams working on the same outcome at the same time is about as good as it gets. When operating with more than seven teams, it is wise to have other outcomes and focuses within different groups of teams. One could take inspiration from LeSS’s requirement areas; Scrum PLoP’s value areas, or similar patterns. Some of our clients have a fluid team of teams collaborating as one on a customer or business outcome of their choice. Re-teaming teams (not individuals) is frequently based on customer or business needs at that moment in time, a bit like a FaST collective would do, except that it’s not executed on a feature basis; it’s carried out on an outcome basis. Equally, it’s executed on a team basis, not on an individual basis.