I don't mean to sound like the grumpy reader mentioned in the epilogue, complaining that the book offered "nothing I didn't know already know" however experienced he might have been, I still doubt itbut whether from my limited experience in the industry first hand or second-hand through the various managers I've had over the years, the tenet that developers and time aren't interchangeable resources As far as I can tell, the core tenets of this book aren't really even up for dispute anymore.
Any attempt to fix observed errors tends to result in the introduction of other errors. Does your project need beards to get grown or code to get written? The tendency towards irreducible number of errors[ edit ] 99 little bugs in the code.
Thus, when embarking on a second system, an engineer should be mindful that they are susceptible to over-engineering it. In fact, to ensure a user-friendly system, a system may deliberately provide fewer features than it is capable of.
Women code. Two examples spring to mind: the first comes in the chapter "Aristocracy, Democracy, and System Design", which argues for conceptual integrity as the supreme virtue of a software system. All requests for changes should be delayed until the next version of the system.
The surgical team[ edit ] Much as a surgical team during surgery is led by one surgeon performing the most critical work, while directing the team to assist with less critical parts, it seems reasonable to have a "good" programmer develop critical system components while the rest of a team provides what is needed at the right time.
With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects.
The system should, therefore, be changed to fulfill the changed requirements of the user. Shelves: cs-software As far as I can tell, the core tenets of this book aren't really even up for dispute anymore. Complex programming projects cannot be perfectly partitioned into discrete tasks that can be worked on without communication between the workers and without establishing a set of complex interrelationships between tasks and the workers performing them.
Brooks insists that there is no one 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.