No Silver Bullet - Frederick P. Brooks, Jr. Flashcards
What’s the hardest part of bulding software?
The specification and design of the software. NOT the writing of it.
What are the four properties of software that are essence of it?
Complexity. Conformity. Changeability. Invisibility.
Explain inherent complexity of Software and how it creates difficulties.
Software is complex because no two parts are alike.
Scaling up of Software is not a repetition of parts but an increase in number of different parts.
As parts added the complexity of the whole increases much more than non-linearly.
This complexity creates difficulties of communication, which leads to product flaws, cost overruns and schedule delays.
Explain inherent conformity of Software.
Software often has to conform because it is the newest arrival on the scene, or even because it is perceived to be conformable. As a result it has a lot of arbitrary complexity forced upon it by human institutions.
Explain inherent changeability of software.
Software is constantly being changed because 1) software embodies function and function changes most and 2) it is easily changed.
Explain inherent invisibility of software.
Software cannot be visualized with a diagram.
This is a problem for Software as visualizing is one of the human minds most powerful tools.