For one salient fact struck Adam Smith as he looked at the English scene. This was the tremendous gain in productivity which sprang from the minute division and specialization of labor.
As organizations grow, there is a subtle slide into inconsistency, which is often one of the most challenging aspects of evolving from a small team into a much larger one. ... However, when the problem becomes truly acute, folks eventually reach for the same tool: adding a centralized, accountable group. The two most common flavors of this I’ve seen are “product reviews” to standardize product decisions and the “architecture group” to encourage consistent technical design. ... These groups typically consolidate significant authority from the broader community into the hands of a few. Many folks will feel a significant loss of freedom when you create these groups, as their zone of decision-making will be newly limited.
But what prevented monopoly and all centralized systems from realizing these efficiencies, in Hayek’s view, was a fundamental failure to appreciate human limitations. With perfect information, a central planner could effect the best of all possible arrangements, but no such planner could ever hope to have all the relevant facts of local, regional, and national conditions to arrive at an adequately informed, or right, decision.
The logic animating the project, however, is one of control and appropriation. Local knowledge, because it is dispersed and relatively autonomous, is all but unappropriable. The reduction or, more utopian still, the elimination of mētis and the local control it entails are preconditions, in the case of the state, of administrative order and fiscal appropriation and, in the case of the large capitalist firm, of worker discipline and profit.
I can think of lots of areas where trying to standardize, trying to all go in one direction, has suppressed creativity. ... In a much bigger sense I hate to see computer-science departments that feel their role is to prepare people to work in an industry and the industry is going that way and therefore we have to teach our students that way. It's exactly the wrong thing to do. What you should be doing with your students is teaching them to think generally—think outside the box and plot the other courses we should be pursuing.
“Communication is a sign of dysfunction. It means people aren’t working together in a close, organic way. We should be trying to figure out a way for teams to communicate less with each other, not more.”
Related to these policies was a shift in cultural norms surrounding large-scale changes. While it is important for code owners to have a sense of responsibility for their software, they also needed to learn that large-scale changes were an important part of Google’s effort to scale our software engineering practices.