Conclusions

In the aggregate, what do these studies tell us and how can they help the state of practice in developing software?

They all provide evidence that when the organization of people in a software effort is similar to the organization of the software, the project does better than when they differ. Software projects should take both types of organization into account when making decisions, especially in the initial design and planning stages. When possible and economically feasible, projects should be organized (or, after a period of time, perhaps even reorganized) to ensure a strong relationship between social and software structure.

Conway’s Corollary can have a negative or a positive effect on a development endeavor and can empower stakeholders in the projects if they take advantage of it. Now that evidence exists to support it, one ignores it at one’s own peril. Clearly, you need to preserve independent judgment. If a software project consists of only five developers, the effects of violating Conway’s Corollary are most likely minimal. In the age of global software development, it is probably unrealistic to relocate engineers simply to leverage the corollary. Nonetheless, we believe that, all things being equal, a software effort that pays attention to and actively aligns social structure with technical structure will fare better than one that does not.

As software teams continue to grow in size, they can derive more and more value from understanding the dynamics of collaboration and coordination. We encourage software projects that observe the negative or positive effects of Conway’s Corollary (or that look for the effect and don’t find it) to share their stories to increase our knowledge of the interaction of social and technical project structure. Only by sharing our evidence or the lack thereof can we hope to continue to understand and improve our craft.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset