Library Discover Ideas My library Paths Compare Shelves Collections Method
The Mythical Man-MonthFrederick P. Brooks Jr.Cover of The Mythical Man-Month by Frederick P. Brooks Jr.
Two sources agreed 4 min read

Technology & AI

The Mythical Man-Month

Essays on Software Engineering

Frederick P. Brooks Jr.

Fred Brooks's essays on software project management, drawn from running IBM's OS/360 development, and still the clearest account of why large software projects are late — including the one observation that made its title a permanent part of the field.

First published
1975
Publisher
Addison-Wesley
Pages
195
Level
Core
ISBN-13
9780201006506
softwaremanagementclassic

Record checked against

Catalogue note

Reads as
TechnicalAssumes and builds craft knowledge.
Level
Core / BuildingAssumes general familiarity with the subject.
Approach
Applied
Written for
Engineers, Readers with some grounding
Your shelf

Saved in this browser only — no account, nothing sent anywhere. My library

Read this if

  • You build software and want the ideas under the tools.
  • You are responsible for other people's work as well as your own.
  • You work in this area and want depth rather than an overview.
  • You know roughly how the subject works and want the fuller account.
01

Brooks's Law

Adding manpower to a late software project makes it later. Brooks states it as an outrageous oversimplification and then demonstrates why it holds.

The reasoning is arithmetic. New people must be trained by the people currently producing, which removes capacity now in exchange for capacity later. And communication paths grow quadratically with team size, so each addition costs more coordination than the last. Beyond some point, the coordination cost exceeds the contribution.

Nine women cannot make a baby in one month. Some work does not partition, and software is full of it.

Devmark’s reading — not a quotation from the book
02

The man-month as a myth

The title's real target is the unit itself. Effort and progress are interchangeable only for work that can be partitioned without communication — which describes almost nothing in software.

Brooks's point is that estimating in man-months quietly assumes the wrong model of the work, and that a great many scheduling disasters begin with a unit of measurement rather than with a decision.

03

The tar pit

The opening essay asks why programming feels so much harder than it looks, and distinguishes a program from a programming *product* — generalised, tested, documented, maintainable — and from a programming *system*, which must interoperate with others.

His estimate is that each step costs roughly three times the previous one, so a programming systems product is about nine times the effort of the program a single person wrote to solve their own problem. This single observation still explains most underestimation.

04

Conceptual integrity

Brooks's strongest design claim: conceptual integrity is the most important consideration in system design, and it is better to have a system reflect one set of ideas than many good but uncoordinated ones.

This leads to his argument for separating architecture from implementation, and for a small number of minds holding the design. It sits uncomfortably with modern collaborative practice, and it has not been refuted so much as worked around.

05

The second-system effect

The most dangerous system a person designs is their second. The first is built cautiously by someone unsure of themselves; the second carries all the ideas held back from the first, and tends toward over-generality and feature bloat.

Brooks's advice is that awareness is the only real defence — and his observation that third and later systems are usually disciplined again is one of the most quietly reassuring things in the book.

06

Plan to throw one away

The original edition advised building a pilot system and discarding it, because you will have to anyway.

In the twentieth-anniversary edition Brooks explicitly retracts this. He accepts that the waterfall model it assumed is wrong, and endorses incremental and iterative development instead. The retraction is worth reading: it is a rare example of an author publicly revising a famous position with reasons.

The most famous advice in the book was withdrawn by its author twenty years later, with reasons given.

Devmark’s reading — not a quotation from the book
07

No Silver Bullet

The 1986 essay included in later editions is arguably the book's most important content. Brooks distinguishes essential complexity — inherent in the problem — from accidental complexity, created by our tools and representations.

His claim is that no single development in a decade would produce an order-of-magnitude improvement, because the remaining difficulty is essential, and tooling can only ever remove the accidental part. The argument has held up remarkably well against four decades of claimed silver bullets.

08

Communication and documentation

Brooks's recurring theme is that large projects fail on communication rather than on coding. His prescriptions — a formal project workbook, explicit architecture documents, a defined owner for each decision — read as bureaucratic now.

The underlying observation survives its remedies: when a team cannot state where a decision lives, the decision gets made repeatedly and inconsistently, which is a failure mode no tooling has removed.

09

Where it shows its age

The specifics are of the mainframe era: machine time as a scarce shared resource, punched-card workflows, hierarchical surgical teams, and a development cycle measured in years.

The organisational assumptions are equally dated — large co-located teams, long tenure, and a sharp separation between architects and implementers that most modern practice rejects.

10

Why it is still read

Because it is about people rather than technology, and the constraints it identifies are properties of coordination rather than of any platform. Brooks's Law, the second-system effect, conceptual integrity and the essential/accidental distinction are all still operative.

It is also unusually well written and genuinely funny, which is rare in the field, and the anniversary edition's willingness to mark what its author got wrong makes it a better book than the original.

—

What to take away

  1. 01Effort and progress are not interchangeableThe man-month assumes partitionable work with no communication cost, which describes almost no software.
  2. 02Coordination grows quadraticallyEach new person adds more communication paths than contribution past a certain team size.
  3. 03A product costs about nine times the programGeneralising, testing, documenting and integrating are where the estimate goes wrong, every time.
  4. 04Beware your second systemIt collects every idea held back from the first, and tends toward over-generality.
  5. 05Tooling only removes accidental complexityThe essential difficulty of the problem is what remains, which is why no silver bullet has arrived.

Reading journey

A route through this idea

This book is not on a curated path, so the route below is derived from the catalogue: what comes before it, what goes further, and what approaches the same ground differently.

  1. Start hereHackersComputing, and it assumes less before you start.
  2. You are hereThe Mythical Man-Month
  3. Go deeperSite Reliability EngineeringSame ground — Computing and Management — and it assumes more of you.
  4. A different angleThe DevOps HandbookAlso about Computing and Management, but it reads as reference where that one is technical.
  5. Somewhere else entirelyChaosHistory and Computing travel together in this library, and this comes at it from the other side.

Nearby on the shelves

Related reading

↑↓ to move↵ to openesc to close