The Mythical Man-Month
The Mythical Man-Month: Essays on Software Engineering by Fred Brooks is a fantastic book on software engineering and project management. Despite its age, many of the principles presented here still hold true. This book should be in your collection. Make sure you get the Anniversary Edition for four additional chapters.
If you are a fan of the laws and principles of software development, then this book will be a treasure trove for you. There are several essential essays in this collection:
-
The Mythical Man-Month, covering Brook’s Law: “Adding manpower to a late software project makes it later.” (See here and here for additional info.)
-
No Silver Bullet: “There is no single development, in either technology or management technique, which by itself promises even one order of magnitude [tenfold] improvement within a decade in productivity, in reliability, in simplicity.” (See Mark Harun’s post for more info.)
-
The Second-System Effect: The tendency of small, elegant, and successful systems to be succeeded by over-engineered, bloated systems due to inflated expectations and overconfidence. (See jordangonen’s post for more info.)
-
The Surgical Team: Model the software engineering team as a surgical team, with the surgeon making the cuts and various other team members playing various support roles. So, have a lead programmer come up with the core architecture and write most of the core code, with others playing a support function (writing sub-systems, tooling, documentation, etc.). (Interesting discussion on this here.)
This book also touches on concepts like 10x developers, limiting the number of architects involved in design, and communication overhead in development projects. And many other topics.
For more info on the Mythical Man-Month, tcagley has a thorough series of posts looking at the various essays. Scroll to the bottom to see links to the full series. There’s also a good summary of the essays here.