More on this book
Community
Kindle Notes & Highlights
Read between
November 19 - November 19, 2022
One can often get something for nothing, if one has previously bought nothing for something.
Royce in his original paper describes the Waterfall Model so that he can point out its deficiencies.11 Basically he argues that even with back-arrows describing counterflow between adjacent boxes in the waterfall, the model doesn’t work.
The Waterfall Model is wrong and harmful; we must outgrow it.
The dramatically successful programs of yore typically had one or a few clear overriding objectives and schedule urgency.
too-early binding of requirements,
When I went to graduate school in 1953, one could keep up with all of computer science. There were two annual conferences and two quarterly journals.
harness and stimulate the creative powers of multiple designers by holding design competitions.
monumental unconcern about conceptual integrity.
facilitate the suppression of embarrassing but crucial details.
Designing is fun; ironing out misunderstandings with peers is usually not. When designing, one feels progress happening; when resolving interface misunderstandings, one feels slippage.
We found that when a text paragraph couldn’t be made to work, it was always because we didn’t know what we were talking about.
As soon as the designer starts to make explicit use models, trouble strikes: he is rudely confronted with how much he doesn’t know.
When you specify something to be designed, tell what properties you need, not how they are to be achieved.
If there are no constraints, there are no criteria for excellence. In general, it is easier to do a mediocre general-purpose design than to do a mediocre special-purpose design.
“Elegance” in a technical design demands that the basic structural concept of the design be plainly evident and, if not logically straightforward, easily explained.
The designer should avoid limiting a function by his own notions about its use. When you don’t know, grant freedom.
Most technical papers, however, emphasize the whats and give skimpy coverage to the whys.
Although the mistakes were made 45 years ago, JCL is still in use, in essentially the same form. The mistakes continue to curse us. And the lessons are timeless.
Any design space has the same sort of web structure, so the representation of designs is challenging. And if designs are difficult to represent efficiently, design processes are inherently more so.
Design work doesn’t just satisfy requirements, it elicits them.
progressive truthfulness approach.
consensus mechanisms often take off the sharp edges by forcing compromises. But the sharp edges are the cutting edges!
The hardest little tasks get put off until the end.