No Silver Bullet Essence and Accidents of Software Engineering
All software construction involves essential tasks, the fashioning of the complex conceptual structures that compose the abstract software entity,...
Also Available in:
- Amazon
- Audible
- Barnes & Noble
- AbeBooks
- Kobo
More Details
All software construction involves essential tasks, the fashioning of the complex conceptual structures that compose the abstract software entity, and accidental tasks, the representation of these abstract entities in programming languages and the mapping of these onto machine languages within space and speed constraints. Most of the big past gains in software productivity have come from removing artificial barriers that have made the
accidental tasks inordinately hard, such as severe hardware constraints, awkward programming languages, lack of machine time. How much of what software engineers now do is
still devoted to the accidental, as opposed to the essential? Unless it is more than 9/10 of all effort, shrinking all the accidental activities to zero time will not give an order of
magnitude improvement.
Therefore it appears that the time has come to address the essential parts of the software
task, those concerned with fashioning abstract conceptual structures of great complexity. I suggest:
• exploiting the mass market to avoid constructing what can be bought.
• using rapid prototyping as part of a planned iteration in establishing software require- ·
ments.
• growing software organically, adding more and more function to systems as they are
run, used, and tested.
• identifying and developing the great conceptual designers of the rising generation
- Format:
- Pages: pages
- Publication:1986
- Publisher:
- Edition:
- Language:
- ISBN10:
- ISBN13:
- kindle Asin:B0DV1MLW36






