Table of Contents

About the Author

Preface to the 20th Anniversary Edition

Preface to the First Edition

Chapter 1. The Tar Pit

The Programming Systems Product

The Joys of the Craft

The Woes of the Craft

Chapter 2. The Mythical Man-Month

Optimism

The Man-Month

Systems Test

Gutless Estimating

Regenerative Schedule Disaster

Chapter 3. The Surgical Team

The Problem

Mills's Proposal

How It Works

Scaling Up

Chapter 4. Aristocracy, Democracy, and System Design

Conceptual Integrity

Achieving Conceptual Integrity

Aristocracy and Democracy

What Does the Implementer Do While Waiting?

Chapter 5. The Second-System Effect

Interactive Discipline for the Architect

Self-Discipline—The Second-System Effect

Chapter 6. Passing the Word

Written Specifications—the Manual

Formal Definitions

Direct Incorporation

Conferences and Courts

Multiple Implementations

The Telephone Log

Product Test

Chapter 7. Why Did the Tower of Babel Fail?

A Management Audit of the Babel Project

Communication in the Large Programming Project

The Project Workbook

Organization in the Large Programming Project

Chapter 8. Calling the Shot

Portman's Data

Aron's Data

Harr's Data

OS/360 Data

Corbatò's Data

Chapter 9. Ten Pounds in a Five-Pound Sack

Program Space as Cost

Size Control

Space Techniques

Representation Is the Essence of Programming

Chapter 10. The Documentary Hypothesis

Documents for a Computer Product

Documents for a University Department

Documents for a Software Project

Why Have Formal Documents?

Chapter 11. Plan to Throw One Away

Pilot Plants and Scaling Up

The Only Constancy Is Change Itself

Plan the System for Change

Plan the Organization for Change

Two Steps Forward and One Step Back

One Step Forward and One Step Back

Chapter 12. Sharp Tools

Target Machines

Vehicle Machines and Data Services

High-Level Language and Interactive Programming

Chapter 13. The Whole and the Parts

Designing the Bugs Out

Component Debugging

System Debugging

Chapter 14. Hatching a Catastrophe

Milestones or Millstones?

"The Other Piece Is Late, Anyway"

Under the Rug

Chapter 15. The Other Face

What Documentation Is Required?

The Flow-Chart Curse

Self-Documenting Programs

Chapter 16. No Silver Bullet—Essence and Accident in Software Engineering

Abstract

Introduction

Does It Have to Be Hard?—Essential Difficulties

Past Breakthroughs Solved Accidental Difficulties

Hopes for the Silver

Promising Attacks on the Conceptual Essence

Chapter 17. "No Silver Bullet" Refined

On Werewolves and Other Legendary Terrors

There is Too a Silver Bullet—AND HERE IT IS!

Obscure Writing Will Be Misunderstood

Harel's Analysis

Jones's Point—Productivity Follows Quality

So What Has Happened to Productivity?

Object-Oriented Programming—Will a Brass Bullet Do?

What About Reuse?

Learning Large Vocabularies—A Predictable but Unpredicted Problem for Software Reuse

Net on Bullets—Position Unchanged

Chapter 18. Propositions of The Mythical Man-Month: True or False?

Chapter 1. The Tar Pit

Chapter 2. The Mythical Man-Month

Chapter 3. The Surgical Team

Chapter 4. Aristocracy, Democracy, and System Design

Chapter 5. The Second-System Effect

Chapter 6. Passing the Word

Chapter 7. Why Did the Tower of Babel Fail?

Chapter 8. Calling the Shot

Chapter 9. Ten Pounds in a Five-Pound Sack

Chapter 10. The Documentary Hypothesis

Chapter 11. Plan to Throw One Away

Chapter 12. Sharp Tools

Chapter 13. The Whole and the Parts

Chapter 14. Hatching a Catastrophe

Chapter 15. The Other Face

Original Epilogue

Chapter 19. The Mythical Man-Month after 20 Years

Why Is There a Twentieth Anniversary Edition?

The Central Argument: Conceptual Integrity and the Architect

The Second-System Effect: Featuritis and Frequency-Guessing

The Triumph of the WIMP Interface

Don't Build One to Throw Away—The Waterfall Model Is Wrong!

An Incremental-Build Model Is Better—Progressive Refinement

Parnas Families

Microsoft's "Build Every Night" Approach

Incremental-Build and Rapid Prototyping

Parnas Was Right, and I Was Wrong about Information Hiding

How Mythical Is the Man-Month? Boehm's Model and Data

People Are Everything (Well, Almost Everything)

The Power of Giving Up Power

What's the Biggest New Surprise? Millions of Computers

Whole New Software Industry—Shrink-Wrapped Software

Buy and Build—Shrink-Wrapped Packages As Components

The State and Future of Software Engineering

Fifty Years of Wonder, Excitement, and Joy

Notes and References