Writing Rules

Ambiguous Terms Ways to Improve Them
acceptable, adequate Define what constitutes acceptability and how the system can judge this.
as much as practicable Don't leave it up to the developers to determine what's practicable. Make it a TBD and set a date to find out.
at least, at a minimum, not more than, not to exceed Specify the minimum and maximum acceptable values
between Define whether the end points are included in the range.
depends on Describe the nature of the dependency. Does another system provide input to this system, must other software be installed before your software can run, or does your system rely on another one to perform some calculations or services?
efficient Define how efficiently the system uses resources, how quickly it performs specific oper ations, or how easy it is for people to use.
flexible Describe the ways in which the system must change in response to changing conditions or business needs.
improved, better, faster, superior Quantify how much better or faster constitutes adequate improvement in a specific functional area
including, including but not limited to, and so on, such as, etc. The list of items should include all possibilities. Otherwise, it can't be used for design or testing.
maximize, minimize, optimize State the maximum and minimum acceptable values of some parameter.
normally, ideally Also describe the system's behavior under abnormal or non-ideal conditions.
optionally Clarify whether this means a system choice, a user choice, or a developer choice.
reasonable, when necessary, where appropriate Explain how to make this judgment.
robust Define how the system is to handle exceptions and respond to unexpected operating conditions.
seamless, transparent, graceful Translate the user's expectations into specific observable product characteristics.
several State how many, or provide the miinimum and maximum bounds of a range.
shouldn't Try to state requirements as positives, describing what the system will do.
sufficient Specify how much of something constitutes sufficiency
support, enable Define exactly what functions the system will perform that constitute supporting some capability.
user-friendly, simple, easy Describe system characteristics that will achieve the customer's usage needs and usability expectations.

Source: Software Requirementsby Karl Wiegers, 2ndEdition, Microsoft Press, 2003