History Software-Technology

The Mythical Man-Month: Essays on Software Engineering

by Frederick P. Brooks
Copyright (c) 1995

What is relevant about a book, in its second edition, that was originally written a generation or two ago about managing computer projects? The author Brooks led the management of the project for IBM decades ago.

The answer to this question is simple and is evident in the title. Scaling software projects from smaller-to-larger does not scale linearly. In case you don’t know what this means, scaling non-linearly means that a project twice as big does not require twice as many “man-months.” It more likely requires four times as many “man-months” because of the need for communication among programmers.

Brooks shows the aged wisdom of the idea that computer programming is indeed part communication and not fully mathematical problem solving. Brooks then tries to figure out how to manage projects that are larger and that require more communication. Many of the references are aged and not for those who don’t appreciate the history of computation. Nonetheless, for those who like to dabble in history, Brooks’ take – always bright – makes us see that the problem of successfully managing software projects is not a new one. Indeed, there are timeless values which undergird technical success.

This anniversary edition includes a retrospective account that evaluates many of the propositions originally put forth decades ago. (Brooks was mostly right, we see.) However, I wish Brooks would also lend some ink – in the light of the additional experience of a couple of decades – to the questions of what makes a software project successful in the first place. Merely being right should fade while understanding timeless values should come to the fore.