Guideline: Writing Good Requirements
This guideline describes ways of writing good requirements.
Relationships
Main Description

A good requirement must be a complete sentence with a subject and a predicate.  The subject is an Actor, a stakeholder, the system under development, or a design entity to which the requirement is related.  The predicate specifies a condition, action or intended result that is done for, by, with or to the subject.

Consistent use of the verb "to be" solidifies the link between the subject and the predicate.

Thus a requirement can be analyzed from a grammatical point of view.  Beware of lists, bullets, and words such as "all", "every" and "some".  For a requirement to be understood, it must be a complete, correct sentence.

An example of this is as follows:

The order entry clerk shall be able to complete 10 customer orders in less than two hours.

This requirement has a subject (the order entry clerk, which is an Actor), an end state (10 customer orders completed), and a performance criteria (in less than two hours).

Provided below are some simple guidelines to follow in writing any requirement.  For consistency, the example of an aircraft is used throughout. [TEL06]

1.Define one requirement at a time.

The pilot shall be able to control the aircraft's angle of climb with one hand.

The pilot shall be able to feel the angle of climb from the climb control.

2.Avoid conjunctions (and, or) that make multiple requirements.

The navigator shall be able to view the aircraft's position relative to the route's radio beacons. The navigator shall be able to view the aircraft's position estimated by inertial guidance.

3.Avoid let-out clauses (unless, except, if necessary, but).

Each cabin crew member shall be provided a rear-facing seat.

4.Use simple direct sentences.

The pilot shall be able to view the airspeed.

5.Use a limited (500 word) vocabulary (especially if your audience is international).

The airline shall be able to change the aircraft from business to holiday charter use in less than 12 hours.

There is no need to use words like "reconfigured".

6.Identify the type of user who wants each requirement.

The navigator shall be able to...

7.Focus on stating what result is to be provided for that type of user.

...view storm clouds by radar...

8.Define verifiable criteria.

...at least 100 miles ahead.