The reading of The Mythical Man Month is a lot quicker than the writing of notes here. Brooks has a very succinct, clear, and easy-to-read prose. Sometimes the issues he brings up seems extremely antiquated, but every point he makes can be translated to present day situations.
4 - Aristocracy, Democracy, and System Design "Even though they have not taken centuries to build, most programming systems reflect conceptual disunity far worse than that of cathedrals. Usually this arises not from a serial succession of master designers, but from the separation of design into many tasks done by many men." Conceptual integrity is the most important consideration in system design. Conceptual integrity in turn dictates that the design must proceed from one mind, or from a very small number of agreeing resonant minds. Since this is the limiting factor, how large can this group of resonant minds be? How can it stay resonant? Both design and implementation are in their own creative activities of the first order. 5 - The Second-System Effect The second system of a kind is the most dangerous system a man ever designs. The general tendency is to over-design the second system, to include every feature missing from the first system, to do everything "right". How to avoid the Second-System Effect? See the trap. 7 - Why Did The Tower of Babel Fail? Lack in communication and organization. How shall teams communicate with each other? In as many ways as possible. - Informally. Telephone, over coffee. - Meetings. Briefings. - Workbook. The workbook is all the documention the project produces. One needs to know: what's the current definition; and, what has changed? This section feels old. One has to speculate what difference e-mail, intranets, wikis, source analyzers, etc. can make. But the basic problems remain. The problem is not to restrict information, but to ensure that relevant information gets to all the people who need it. If there are n workers on a project, ther are (n2 - n) / 2 interfaces across where there may be communication. The purpose of organization is to reduce the amount of communication and coordination necessary. There should be one managerial lead, and one technical lead. Sometimes they are the same person. One of the other may be the boss.