Reflections on Software Performance An Article by Nelson Elhage blog.nelhage.com Performance is a feature Performance changes how users use software Performance needs effort throughout a project’s lifecycle Architecture strongly impacts performance Performance isn’t just about hot spots Performant foundations simplify architecture …we underrate performance when designing and building software. We have become accustomed to casually giving up factors of two or ten or more with our choices of tools and libraries, without asking if the benefits are worth it. performancesoftware
A grossly obese set of requirements Who advocates in the requirements process for the product itself—its conceptual integrity, its efficiency, its economy, it’s robustness? Often, no one. As often, an architect or engineer who can offer only opinion based on taste and instinct, unbuttressed as yet by facts. For in a classical Waterfall Model product process, requirements are set before design is begun. The result, of course, is a grossly obese set of requirements, the union of many wish lists, assembled without constraints. Usually, the list is neither prioritized nor weighted. The social forces in the committee forbid the painful conflicts occasioned by even weighting, much less prioritizing. Frederick P. Brooks, Jr., The Design of Design Requirements proliferationA Plea for Lean Software features