Pizza and Pie Intertwine Each Influences Each Other

Conway’s Law trains a spotlight on how an organization’s structure impacts the product they ship. The “Law” states that the structure of a software product will mimic the structure of the organization that produces the software.  It can (and has) been said that you are shipping the “org structure.” Three common organizational structures are useful to show different influences on the resultant product.

  1. Functional, organized by role or function: The software equivalent is a product made up of a number of functional modules that are integrated together.
  2. Market/Product organizational structure: This structure groups people in a manner that follows the product’s value chain. The structure is less modular and more focused on reducing hand-off and boundaries.
  3. Matrix organizational structure: Matrix management is a hybrid of functional and market organization.  People are drawn from functional silos and organized into a temporary team to deliver or enhance a product. Products from a matrix organization are a mixture of modular and flow based approaches.

Leaders use functional and matrix organization structures to maximize organizational efficiency and cost efficiency.  Capacity utilization is a common metric in this approach. Market/Product organization structures are built to maximize flow and speed to market (this is a common start-up or small firm model). Each of these organizational structures have their individual pluses and minuses which we are not going to explore with one exception.

The market/product organization structure most closely aligns with agile and lean approaches (including DevOps and DevSecOps). Agile techniques gather feedback and deliver value quickly. The effectiveness of this alignment between technique and organization structures is enhanced when a firm uses modern architecture norms (for example microservices and REST APIs – we will ask Gene Hughson to discuss the definition of modern architectures on an upcoming podcast).  Combining architecture, an agile approach and full stack teams that can take a piece of work from story to production minimizes the number of handoffs and other encumbrances.

Teams built to be agile must be cross-functional and independent.  The closer a team can be to full-stack (able to run experiments,  build and deliver new features into production and then clean up after themselves) the more solutions will have mold themselves to the flow customers expect. This is Conway’s Law in action, the structure of the organization and application become synchronous.  Why is understanding Conway’s Law useful? Because it provides a change agent with a tool to help tune and evolve agile organizations so they can focus on value delivery. In the end, since you are always going to ship the org, you might as ship it so it provides the most value to your customers and improves speed to market.

One Final Note:  You don’t create software?  While Conway’s research and paper focused on software, it is easy to extend the idea to other types of products.  And so does agile for that matter.