Thoughts on the myth of People's Month

Source: Internet
Author: User

At the beginning of the struggle to choose which book to see, later asked the Niang and know, there is a book has been widely circulated for many years and enduring, this book has a cool name-"People's Month myth", below is my understanding of this book and rough Time feeling.

"Human Moon Myth" is a classic of software engineering, author Brooks (Frederick P. Brooks) is known as "the father of IBM system/360", he was a project manager of this system, and later in the design period of any 360 operating system Project manager. As a result of this work, he and Bob Evans and Erich Bloch won the National Technology Award in 1985. Dr. Brooks was an early architect of IBM's stretch and harvest computers. In 1999, he was awarded the highest award in the U.S. computer field.

First of all, the book is mine. The law that Brooks put forward is that adding manpower to a delayed software project will make the project more postponed. All programmers are optimists, and they tend to think that things are going as well as they imagine, but in fact they are not. So software projects tend to be postponed. The idea that big projects just add enough programmers can be done successfully, and that it is wrong and dangerous to have deferred projects that can be completed on schedule as long as it is assumed that people and months are interchangeable, and that dividing work into many people, training, and communication between programmers requires additional work.

The book also says that the most important thing in system design is the completeness of the concept. It should be understood that the completeness of the concept rather than the multiplicity of functions is the criterion for evaluating the system. Conceptually unified systems are easier to build and test. To ensure conceptual integrity, design should be done by a small group of people or with a consistent concept. This seems to have the aristocratic tendency, but is to guarantee the system conceptual completeness the need. The architect's role is similar to that of the army, albeit dictatorial, but necessary. Our early preparations found that after the first brainstorming, it really takes one or two powerful people to play the role of architect, and fortunately, we have teammates like Rene and Haifeng.

The seventh chapter says that the failure of the tower project is due to lack of communication and organization. The book says the lack of communication can be addressed through telephone exchanges, regular project meetings and a shared formal project report. The project work report should have a very good structure, timely update, everyone can see. A good organization can reduce the amount of communication needed. The tree structure is the traditional organization way, it is feasible, but not necessarily the most effective, because facilitates the communication organization way should be the net, but the complete network structure because the communication quantity is too big, also is not feasible. Therefore, we need to design a special organization communication mechanism to overcome the lack of tree structure. In a large project, there are two roles that are important, one is the producer (producer), the management manager, and the other is the Technical Director (manager). The management manager is responsible for organizing the team, assigning jobs, creating schedules, and so on. Most of the time, he builds internal communication and reporting patterns, but is often responsible for communication outside the team. The technical manager constructs the design, determines the module, guarantees the system unification and the concept integrality and so on. Management managers and technical managers need different talents and abilities. People who have managerial talent and strong technical talent are extremely rare. There are few thinkers, there are few doers, and the doers with the qualities of a thinker are the least. Management managers and technical managers can only be a person in a small project of 3 to 6 people. In larger projects, these two roles should be held by different people because both of them need to be devoted. Another impressive point of view is that it is important to make a progress statement to ensure that the progress of a project is greatly delayed. The schedule is made up of milestones and time to complete. Milestones must be specific, clear and defined. A milestone either arrives, or does not arrive, and should not be reached by 80%.

An overview of the whole book is: the number of software development participation and completion time is not directly proportional to the participation of too many people do not necessarily shorten the development time. Such as war, more troops, more people are not the key, more need for weapons advanced, tactical, more convenient after the soldiers more supplies. If the number of people involved in software development increases, the cost of software will increase, just take the time to understand the project, to the software management has caused uncoordinated. In the process of software coding, it is necessary not to be human, but to few but good excellent programmers and coders. So the overall programmer's quality is very important, it is necessary to train to improve their quality. Software systems may be the most complex of human creation, often a small function, in fact, it also requires the development of the design of the architecture, the impact of other modules and extensions, as well as code writing work. What the user may see in the foreground is just a few words, which is actually the result of the developers fighting day and night. Conceptual integrity connects software development to a diamond necklace, each part of which cannot be ignored or replaced. The whole abstract complete when software manages the soul. Because of this, the importance of the architect is visible. So on the other hand dividing work into more people will create additional communication costs-training and mutual communication. In order to increase the manpower of the software project, the cost can be divided into three aspects: the confusion caused by the work re-segmentation and the extra work, the training of the new personnel, the new exchange of the mutual communication many times, the customer needs to modify, in their eyes, it seems so easy, But they ignore a lot of things they can't see---of course, this is not to blame our customers. I just think that only when we communicate with each other and understand each other, can we make fine products.

The above is rough time "people's Month myth" a little humble opinion, good book, after a time must read again.

Thoughts on the myth of People's Month

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.