The Investor's Shelf — one book
The Mythical Man-Month

The Mythical Man-Month

Frederick P. Brooks
1974
T4 195 pages · about 3h 15m to read OL3510570Wgoodreads

Why adding people to a late software project makes it later.

Summary

Brooks managed the development of IBM's OS/360, one of the largest software projects of the 1960s, and wrote these essays about why it went as it did. The central proposition, now called Brooks' law, is that adding manpower to a late software project makes it later, because the new people must be trained by the existing ones and because communication paths grow as the square of team size.

The conceptual integrity argument is the book's other main contribution. Brooks holds that a system must proceed from a single mind or a small number of agreeing minds, that consistency of design matters more than the sum of good individual ideas, and that this requires separating architecture from implementation. He advocates the surgical team structure, in which one person does the design and others support.

Other essays cover the second system effect, in which an architect's second project accumulates all the features omitted from the first and becomes bloated; the argument that a programmer should plan to throw the first version away because they will anyway; the observation that scheduling is where most projects fail and that estimates are compressed by the desire to meet a date; and the recommendation to document design decisions formally.

The twentieth anniversary edition adds No Silver Bullet, in which Brooks argues that no single development produces an order of magnitude improvement in software productivity, because the essential difficulty is the complexity of the problem rather than the accidental difficulty of the tools. The examples are from 1960s mainframe development and much of the technical context is gone. Brooks himself retracted some positions, including on the surgical team. The law about late projects and the conceptual integrity argument remain accurate.

Key takeaways 8

  1. Adding people to a late software project makes it later, because of the training burden and because communication paths grow as the square of team size.
  2. Conceptual integrity is the most important property of a system and requires that the design come from one mind or a few agreeing minds.
  3. Architecture must be separated from implementation, because a design produced by committee acquires inconsistencies that no amount of implementation quality corrects.
  4. The second system an architect designs is the most dangerous, because it accumulates every feature omitted from the first.
  5. The first version of any system will be thrown away, so a team should plan for that rather than pretend otherwise.
  6. Schedule slippage happens one day at a time rather than in catastrophes, which is why it is not noticed until it is unrecoverable.
  7. The essential complexity of software comes from the problem being solved rather than from the tools, which is why no tooling improvement produces an order of magnitude gain.
  8. Building a system that works is fundamentally different from building a product, and the effort is roughly nine times greater for a supported product than for a working program.

Who should read it

Anyone managing software projects who wants the original statement of why adding people fails and why design consistency matters more than individual quality.

Where it sits in the reference 2

Business themes
Industries

Who recommended it 6 · 2 direct

Chai with Pabrai bookshelf — Entrepreneurship, Management and Leadership
Lisp Links: Books — paulgraham.com
Andrew Chenreported
Book recommendations listed on their Good Books profile · aggregator only
Jeff Atwoodreported
Book recommendations listed on their Good Books profile · aggregator only
Jeff Bezosreported
Books read by Amazon's senior team, reported as Jeff's reading list
Marc Benioffreported
Superbook reading list
“Says it "had a huge impact on me" — a foundational software-management text for the engineer-CEO.”

Similar books 6

Chosen by shared topics, the entries that hold them, and the people who recommended both.

The Innovator's Dilemma
The Innovator's DilemmaClayton Christensen
The Hard Thing About Hard Things
The Hard Thing About Hard ThingsBen Horowitz
2020 Vision
2020 VisionStan Davis, Bill Davidson
Blown to Bits: How the New Economics of Info
Blown to Bits: How the New Economics of Information Transforms StrategyPhilip Evans, Thomas S. Wurster
Business @ the Speed of Thought
Business @ the Speed of ThoughtBill Gates
Creating Value in the Network Economy
Creating Value in the Network EconomyDon Tapscott