i@yujinyan.me

Blog

The Mythical Man-Month

The Mythical Man-month gives several insights on software engineering and project management. Some content feels outdated, but many observations are still relevant in our daily job. The second edition has a nice summary of the whole book in Chapter 19. The most important or helpful theses (in my opinion) are listed below.

The Joys of the Craft

These points may resonate with programmers that genuinely love this craft. They give a great answer to why-do-you-program type of question😉.

  • The joy of making things (that are useful to others).
  • The fascination of fashioning puzzle-like objects of interlocking moving parts.
  • The joy of always learning, of a non-repeating task.
  • The delight of working in a tractable medium (pure thought stuff)

The Mythical Man-Month

My boss used to ask me to hire more developers so that the project could be finished earlier. It didn’t feel right. The Mythical Man-Month gives the reason.

Man and months are interchangeable commodities only when a task can be partitioned among many workers with no communication among them.

The number of months of a project depends upon its sequential constraints. The maximum number of men depends upon the number of independent subtasks. One cannot, however, get workable schedules using more men and fewer months. More software projects have gone awry for lack of calendar time than for all other causes combined.

Conceptual Integrity

Conceptual integrity is the most important consideration in system design—the design must proceed from one mind, or from a very small number of agreeing resonant minds.

Schedule pressures dictate that system building needs many hands. Two techniques are available for resolving this dilemma:

  • a careful division of labor between architecture and implementation.
  • new way of structuring programming implementation teams.