Abstract: Decades ago, Melvin Conway coined what is now called Conway’s Law: “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.” Conway’s Law is a deep insight but it is only the tip of the iceberg when we try to understand the interaction between organization and software. We fail to appreciate that we can use team structure, day to day process, and the interface between business and development as levers to affect the quality of design and code. With this perspective we can also see that concerns like technical debt and portfolio management lend themselves to new solutions when we understand software’s sensitivities upon its environment.
Learning Outcomes: - Understand Design Forces around Software
- Understand the Laws of Software Growth
- Appreciate the Effects of Agile Process, Build Process and Team Structure Upon Software Assets
- Understand How Avert Technical Debt Through Organizational Intervention
- Understand How to Monitor Software for Process Intervention
- Understand How and When to Let Technical Criteria Influence Business and Organizational Decision-Making