The thought of reading the myth of the human Moon

Source: Internet
Author: User

Recently, read the teacher recommended "People's Month myth", deeply the hardships of project development. The first version of the book, "The Myth of Man and the Moon", was in the 1975, and 40 years on, it seems that some of the ideas in the book still apply, and some are outdated. The following is a list of the two most impressive views after reading this book:

    •   "Man-month is a dangerous and deceptive myth, because it implies that the number of people and time can be replaced by each other." "

  Admittedly, this view is still beyond doubt.

Man-month is dangerous and deceptive because people confuse workload and project progress. According to the brook rule, the increase of manpower in the lagging project will only make progress more backward. The deployment of additional staff to software projects has increased the overall workload of the project from three aspects: the reallocation of tasks itself and the resulting disruption of work, the training of new personnel, and the additional communication with one another.

The issue of "man-month" seems to be only effective at the start of a project, and when progress is lagging behind in the development of the project, a more efficient solution will either compromise the expected effect or increase the expected time-consuming process. The key to prevent "People's month" problem is to set up a detailed project development schedule document and implement the project progress log. The day-to-day progress is less than a major disaster, more difficult to identify, less easy to prevent and more difficult to compensate. Once the documentation is specific to developers who cannot deceive themselves, developers will not be able to get a day off tomorrow, but rather to do the work required for efficient completion.

From the outset to eliminate the problem of backward project progress, need not only detailed schedule rules, more need for the development of high enthusiasm and positive optimism. This requires the development team to have a reasonable and efficient incentive mechanism. The establishment of incentive mechanism is mainly considered from two aspects: material level and spiritual level.

Material level:

    • Compensation bonus: For individuals who work prominently, they can raise pay, give bonuses or prizes.

Spiritual level:

  •         Target motivation: determine appropriate goals, induce people's motives and behavior, to mobilize the motivation of people.
  •         respect for motivation: managers do not pay attention to staff feelings, do not respect the staff, will greatly discourage the enthusiasm of employees.
  •         honors and promotion incentives: for some outstanding work performance, representative of advanced individuals, to give the necessary honors and awards.
  •         Elimination Incentive: penalties can be used to create an unpleasant or stressful condition by using coercive, threatening control techniques to negate certain non-conforming behaviors.

in addition, team members should communicate with each other in as many ways as possible: informal, regular project meetings, will be motivated A brief technical statement, a shared formal project work manual, etc. This will ensure that the development work is done on time and not halfway.

    • Waterfall model of the wrong!

  In 20, after the publication of the People's Month myth, the author pointed out that the waterfall model was wrong in the 75 book.

Waterfall model (image from Baidu)

The basic fallacy is that it assumes that the project undergoes only one process, that all errors occur during the coding implementation phase, so that their fixes can be easily interspersed in the unit and system tests, and that the entire system is built once, after all the design, most of the code, and some unit tests are completed, The closed-loop system test merges the various parts.

The idea of a waterfall model is obviously not applicable in the changing needs of the development process. At the same time, the authors suggest that incremental development models are better. Because the idea of incremental development model is to be refined gradually.

Incremental development model (image from Baidu)

The advantage of an incremental development model is that, at all times, developers have a functioning system, so they can start user testing very early, and can use a budget-based strategy to completely guarantee that there will be no progress or budget overruns. For large-scale system development, the incremental development model is indeed a better choice than a waterfall model. However, the incremental development model also has drawbacks. Although the flexibility of the incremental model can make its ability to adapt to the change of requirements is much better than the waterfall model, it is also easy to degenerate into a side-by-side modification model so that the control of the software process loses its entirety.

In the beginning of the human moon myth, software engineering is likened to a tar pit, and it is true that the tar pits of software engineering can make developers struggling for a long time to come. In the face of the problem of software engineering that will last a long time, the key is to constantly learn and develop and utilize new tools. How to improve the efficiency of software development will become one of the key issues in the information technology age.

The thought of reading the myth of the human Moon

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.