The book of People's Month myth

Source: Internet
Author: User

The Man-moon myth-This colourful name recalls the passionate memories of childhood myths, which attract people to taste like a chocolate dessert. Opened the bibliography, but surprised, it is not Pandora's box, is not the sword of Damocles. Careful reading, Human moon myth, this time and the human game, depicting the project's beautiful myth. This name, I think, may be the author's desire for engineering to deal with the project we face.

In reading this book, we may wish to stand in the perspective of a project manager, we have a large and small project to complete, we have a lot of engineers or we have only a few employees, we do not have unlimited time and capital equipment, in the face of those large and small projects, facing these many human, money, time constraints, Even with the constraints of technology, it is a challenge for project managers to make the best use of our resources to effectively complete our projects. However, the Myth of Man and moon gives us some answers, although it is a work of decades ago, it now affects the pace of our progress.

on the project manager's point of view, we first understand some of the basic issues in task allocation, the person-month, which is usually used to calculate the workload of the software, assuming we want to do a software, the software is estimated to have 10 million lines of code, if you say a person January can be completed 1 million lines of code, then we launch this person 10 months will complete this software. In other words, if we put 10 people in January, we can finish the software. This seemingly reasonable calculation implies that the number and time of project managers can be replaced by one another. We forget, however, a deadly problem: whether the task can be split. If for a project, each person completes independently, does not have the communication, does not have the mutual influence, then this calculation method is reasonable. But for software development work, this is not the case, and if there is no communication, it will become a failure like Babel. In software development, if a project is lagging behind, a simple increase in staffing will lead to a further lag, as the new staffing needs to be trained by experienced staff and then reassigned, and so on, will have a great impact on the project schedule. At the same time, the project manager to know Huoqixiaoqiang, the biggest cause of the project progress is often not important things, but trivial small things, every little thing delayed half a day or one, little more, will make the project progress serious after drag.

for project managers, one of the many years of experience in scheduling tasks is: 1/3 1/6 code, Span style= "font-family: ' Times New Roman ';" >1/4 build test and early system test, 1/4 system test, all builds are complete. We'll be surprised to find that the encoding time is only , And the test time accounted for half of the overall system development. For a developer, in writing code, we're going to assume that our code doesn't have a problem, but that's not the case, and we're going to spend a lot of time debugging the changes, and for a large project, unit testing and system testing can involve a lot of problems, so in the early schedule, Set aside sufficient test time to allow problems to arise in front of customers and project managers when the product is about to be delivered.

In a project team, a large number of staff responsibilities of the Division is very important, for a project, 1000 people may have 1000 ideas to complete the implementation, then how to let all staff in one Direction to complete a project efficiently, here need to talk about the concept of system concept integrity, It requires the system to reflect only the unique design concept, the technical description that the user sees comes from the minority's thought. A system, must have a clear and clear conceptual model, everyone in this framework work, all the innovation development must be consistent with the basic concept. The concrete implementation personnel can refine the concept, but only the general designer has the power to negate and develop the basic concept. The concept of completeness requires that the design must be implemented by a person or a very small number of people who are mutually tacit. In the entire software development process, the difficult part is the concept of the structure, such as normalization, design and testing concepts such as the structure, rather than the concept of expression and implementation concepts, which will be the architects have extraordinary ability. Deng Xiaoping is the chief architect of China's reform and opening-up, and in the framework of his design, millions of people come together to achieve the goal of prosperity. Our architect will learn his talents in order to make our products develop in an excellent way.

Suppose a project manager already has a code of conduct, an experienced architect, and many programmers, how does he make sure everyone hears, understands and realizes the architect's decision? A necessary tool: A documented specification-manual. The manual is an external specification of the product, describing and stipulating every detail that the user sees, as well as the main work product of the architect. Not only does the manual describe everything that is visible to users, including all interfaces, but it also avoids describing things that the user is not seeing. The latter is the work of the programmer, and here his design and creation freedom should not be limited. The architecture designer must prepare an implementation for any of the features that he describes, but he should not try to dominate the specific implementation staff, who, under the domination of the aristocracy, also needs democracy.

So here we have everything ready, now we need development engineers according to the specification document development system, we have to mention is the development tool, the project manager should develop a set of strategies, and for the development of common tools to allocate resources, at the same time, he must also be aware of the needs of professional tools, The development of such tools cannot be stingy with human and material resources. After that, the development engineer will be able to demonstrate the ability to perform the task efficiently.

The project manager should also know that for software programming products, the appearance (documentation) of the program to the user is as important as the content provided to the machine, and we can use flowcharts or automated documentation programs to present our products to the user.

Finally, the Wolf is the legendary monster, only silver bullets can kill him. Software projects have the character of a wolf, because a software project can also become a monster, a monster that is behind schedule, out of budget, and has a large number of flaws. The inherent characteristic complexity, consistency, variability and invisibility of software systems indicate that the software is inherently free of silver bullets. In the development of society, people constantly think about the development of silver bullet---- software engineering, but also to continue to develop, only in this way can kill the legendary human Wolf.

So our new generation of future computer field of the main force, whether to have silver bullets, we need to constantly learn, think, innovate and invent.

The book of People's Month myth

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.