Via Charles Miller, a link to Fred Brooks's classic essay, "No Silver Bullet". (You can also get it at the IEEE Computer Society, here.)
As a small advertisement, here's a quote:
I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. We still make syntax errors, to be sure; but they are fuzz compared with the conceptual errors in most systems.
If this is true, building software will always be hard. There is inherently no silver bullet.
The essay is also included in the most recent edition of Brooks's The Mythical Man Month, which is also required reading. (I've blogged elsewhere about this previously.)
Discovery occurs only through experience. Expecting to get it wrong the first time -- which you will -- and then being ready to throw it away are the first steps to getting it (more) right the next time. Ignorance of this fact is damaging to everyone who builds and uses software, whether the project in question is an internal application, a product, or a specification. (There are plenty of examples of crimes perpetrated on the community by committees, and there are more coming.)
Add a comment.









