Recently reading James Coplien's organizational model . Think the most interesting thing is this picture.
Recently organized a company-level Open Discussion, summary to sum up to the problem is "communication problem", it is the source of "values." Project level is also done many times Retrospective, is the old saying "communication problem." Cope summed it up very well, he said the software development organization more efficient, mainly depends on the strength of communication. The above chart goes to flaunt the very image of what is a high-strength, health communication. I think as long as the software development to solve two problems:
1, from a technical level, how to solve the problem of control complexity. The main means is the Divide and Conquer and Compression. Molecular sub-module system is Divide and Conquer, the partition function is layered Compression.
2, from the team, organizational level, how to solve the problem of efficient communication and high-intensity.
But this problem in both directions, the end result seems to be "the same thing," the. Control complexity seems most important is to control the amount and direction of the package dependencies. Achieve a balanced load, can not let too many packages are dependent on a single package, resulting in changes to go through all the same packets. Modeling good system should not be a bunch of people are changed with a class phenomenon. Unless the package or class in a higher and more stable level of abstraction, the most extreme example is the. NET Framework for those classes.
In this figure, we can find someone obviously is Overloaded's. Your team has such people? Many projects in the project manager, not only to manage the project, management needs but also must manage technology, apparently will Overloaded. Some projects specifically was responsible for "communication" is that he went and customer communication, and then come back and programmers to communicate, then communicate and QA. Soon, communication became his full-time job, then he's added value is it? As long as there are so Overloaded team role, they will become a weak point. Once the teams become larger, the external pressure becomes larger, the whole will collapse. Therefore, the average load is the key.
There is a very image of the analogy. Bridge is a game. This game allows you to design the steel to match the shape, design a bridge, and then let the car from above by. If the pressure on large steel bar will turn red, more than the load will be cut off.