Requirements Engineering, Second Edition

To write simply is as difficult as to be good.
William Somerset Maugham, author, 1874 1965
Requirements engineering is a technical process. The writing of requirements is therefore not like other kinds of writing. It is certainly not like writing a novel, or a book like this; it is not even like the kind of "technical writing" seen in instruction manuals and user guides.
The purpose of this chapter is to present those aspects of writing requirements that are common to every development layer. Wherever the generic process is instantiated, certain principles and techniques are constant in their application to the expression and structuring of requirements.
In writing a requirements document, two aspects have to be carefully balanced:
the need to make the requirements document readable;
the need to make the set of requirements processable.
The first of these concerns the structure of the document, how it is organized and how the flow of it helps the reviewer to place individual requirement statements into context. The second focuses on the qualities of individual statements of requirement, the language used to promote clarity and preciseness and how they are divided into single traceable items.
The experienced requirements engineer comes to realize that a word processor alone is not sufficient to manage a set of requirements, for the individual statements need to be identified, classified and traced. A classic problem, for instance, is the use of paragraph numbers to identify requirements: insert a new one in the middle, and suddenly all...