The Shell


Individual requirements have a structure. There are a number of components for a requirement, each contributes something to your knowledge, and you need them all to understand the whole requirement.

The components are all used, and all have a contribution to make. Although they may at first glance seem rather bureaucratic, we have found that their value repays the effort used to gather the information. The components will be described as we work our way though the process.

The requirement shell is completed progressively, because it is not practical to find all components of one requirement before moving on to the next. For this reason, we have the shell printed onto cards, and then we use the cards when we are interviewing stakeholders, quickly scribbling each requirement as we discover it, and completing the card as we learn more about the requirement. (See Figure 1.4.)

Figure 1.4.

The requirements shell. We use a 5 inch by 8 inch card, printed with the shell components, for our initial requirements gathering. Each of the components contributes to the understanding and testability of the requirement. Although a copyright notice appears on the card, we have no objections to any reader making use of it provided the source is acknowledged.


This low-tech approach gives us an initial flexibility and does not hinder us as we gather the requirements at the stakeholders' place of work. We usually keep the cards grouped according to the business event/product use case to which they belong (see Event/Use Case # in the upper right of Figure 1.4), as that makes it easier to find individual cards in the deck. When we think that the requirements for a product use case are well formed, we store them using an automated tool.

A number of automated tools are available for recording, analyzing, and tracing requirements.





Mastering the Requirements Process
Mastering the Requirements Process (2nd Edition)
ISBN: 0321419499
EAN: 2147483647
Year: 2006
Pages: 371

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net