Why this is in my collection
From the publisher:
John von Neumann once said, "There's no sense being exact about something if you don't even know what you're talking about." In a world that is growing increasingly dependent on highly complex, computer-based systems, the importance of defining what you want to make before making it—that is, knowing what you're talking about—cannot be stressed enough. Here's the second volume of an innovative book that gives you the understanding you need to give people the solutions they want. The collaborative team of Gause and Weinberg tells how you can assure the requirements are right—before the product i
Highlights
- A typed schema for wants — the second volume's decomposition of requirements into functions, attributes, constraints, and preferences is effectively a data model for requirements themselves; typing the requirement is the first step toward making it processable, the road that ends at rules-as-data.
- Constraints are first-class, not fine print — separating what the solution MUST respect from what stakeholders would LIKE is what makes trade-offs decidable; the same discipline as separating hard business rules from heuristics in a rules layer.
- Test cases clarify requirements before any design exists — writing black-box test cases against a requirement exposes its ambiguities immediately; validation as an elicitation instrument, decades before "shift-left" had a name.
- Expectations must be explicitly limited — stating what the system will NOT do is as much a deliverable as the feature list; scope expressed as structure rather than left to disappointment.
- Agreement is measured, not assumed — Gause and Weinberg push for explicit user participation and sign-off on the requirements model before design begins; a shared model of the problem is the deliverable, which is precisely what a conceptual data model is.
- Preferences enable engineering trade-offs — once wants are ranked rather than absolute, design becomes optimization instead of guesswork; unranked requirements are where projects hide their future conflicts.
Highlights on this page are generated with the help of AI.