4 ms·
Just skimmed over the post, so it's possible they pointed this out and I didn't notice - but I think this is misleading. The title makes it sound like organizat
by thenewnewguy 7y ago
Just skimmed over the post, so it's possible they pointed this out and I didn't notice - but I think this is misleading. The title makes it sound like organizational complexity _causes_ bugs, but in reality I think both are simply effects of a more underlying cause.
Larger and more complicated software both requires a bigger team (therefore more organizational complexity) and is more likely to contain bugs.
- artsyca 7y agoConway's principle
- augustl 7y agoI think that's a fair point. But organizational complexity is compared to other measures, such as the complexity of the software itself, the number of dependencies, etc - i.e. the size of the software itself - and the study found that organizational complexity is still the #1 method.
- kitd 7y agoSteve McConnell identified it as the number of lines of communication in the team or dept creating the module, incl dependents and dependers. It's why Conway's Law exists, and points towards the importance of well-designed and -specified APIs.
- ChrisMarshallNY 7y agoUpvote for mentioning Steve McConnell.
- daveslash 7y agoIf you consider people on a team as nodes in a graph, and lines of communication as edges, then a team of n people has potentially (n(n-1))/2 potential lines of communication. I try to express to people that the more potential lines of communication you have, the greater the chance of miscommunication. I think this is also called out in Brooks' The Mythical Man Month.
- kitd 7y agoIndeed. It's even a law named after him: https://en.wikipedia.org/wiki/Brooks%27s_law https://en.wikipedia.org/wiki/Brooks%27s_law
- the_gipsy 7y agoThere surely also exists some large and complicated software that was not developed by large and complex organizations.
- ChrisMarshallNY 7y agoI agree with this assessment. It's basically an observation of parallel occurrences. Big projects require big teams, and also have a lot more "trouble nodes," so there are many more places for bugs. The big team is not the cause. It is simply a natural coincidence.
- AnimalMuppet 7y agoIf you have a big project that needs a big team, then the big project is the cause, and the big team is only coincidentally there. But if you have a medium project, and you put a big team on it, then I suspect that you will get big team problems (communication issues causing bugs) even though the project itself didn't cause the issues.