Chapter 17. Requirement Specifications: An Oxymoron

Alan Greenblatt

image with no caption

GOOD REQUIREMENTS (R) describe how features of a product are going to solve particular existing or potential problems. Good features (F), sometimes called functionality, are added to products to address those important problems. Requirements are captured by salespeople or created by software project managers:

  • We can't sell the product outside of the United States (R). We need to provide internationalization and location support (F).

  • Users have to click five buttons to complete a very simple task. They get frustrated and never complete the task. We need to simplify the user interface (R) and reduce the number of button clicks to two or fewer to complete the same tasks (F).

Specifications (S), on the other hand, describe exactly how problems will be solved and the requirements will be met. Using the examples above, the following specifications might be written by systems architects:

  • We will extract all text strings, including pop-up messages, and place them in external resource bundles (S).

  • The application will be enhanced so that all text displayed on the screen will be retrieved from these resource bundles (S).

  • Localization can be performed by creating specific resource bundles for the locales required (S).

  • The functionality achieved through clicking buttons 1, 2, and 3 will be bundled into a single button click on Button ...

Get 97 Things Every Project Manager Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.