I’ve just finished reading of a book recommend by a friend: The Mythical Man-Month.
The Mythical Man-Month: Essays on Software Engineering is a book on software engineering and project management by Fred Brooks, whose central theme is that “adding manpower to a late software project makes it later”.
Amongst others he introduces a recipe for how to manage large software projects.
One of the radical ideas presented in the book is to design programming teams as surgical teams, eg. just as a surgeon has a team of experts around him, but he is the only who does the cut. The surgeon within programming team is the chief programmer who is the sole author of the code. He has a co-pilot to review his code, and others (administrator, editor, tester etc.) to help him to be as productive as he can be.
In large projects, where you need hundreds of programmers, you would typically have a problem of mis-communication to the point where productivity would go down the more people you would add to the project. But if you divide them into surgical teams, then you effectively face the problem of co-ordinating only few minds, those of surgeons.
Excerpt from the book – Surgical Team:
- Very good professional programmers are ten times as productive as poor ones
- A small sharp team is best – as few minds as possible
- A team of two, with one leader, is often the best use of minds
- Conceptually integrity of the system is of utmost importance
- A chief-programmer with surgical-team organisation offers a way to get the product integrity of few minds and the total productivity of many helpers, with radically reduced communication
It’s worth a read.