|
|
|
|
|
by giantrobot
363 days ago
|
|
3. Company structure poorly supports cross-team or department code ownership Many companies don't seem to do a good job coordinating between teams. Different teams have different incentives and priorities. If group A needs fixes/work from group B and B has been given some other priority, group A is stuck. By putting a network between modules different groups can limit blast damage from other teams' modules and more clearly show ownership when things go wrong. If group A's project fails because of B's module it still looks like A's code has the problem. Upper management rarely cares about nuance. They want to assign blame, especially if it's in another team or department. So teams under them always want clear boundaries of responsibility so they don't get thrown under the bus. The root cause of a lot of software problems is the organization that produces it more than any individual or even team working on it. |
|
— Melvin E. Conway, How Do Committees Invent?