How Fast Is Fast? Using Non-Functional Requirements To Test Requirement Quality
How Fast Is Fast? Using Non-Functional Requirements To Test Requirement Quality
Abstract For some reason, however, we IT pro- in the Hollywood motion picture “Field
By reviewing this paper, the reader fessionals seem to forget these basic of Dreams.” In the movie, Costner has a
should gain additional insight into the investigative techniques when we vision which tells him that “If you build
following areas: attempt to define the requirements for a it (the baseball diamond), they will
• The differences between functional software application. As we interview come (ghostly players and real-life
and non-functional requirements customers for their needs, we focus on fans).” In software, on the other hand,
• The importance of non-functional only one aspect; that is, the “What.” just because we build it (the software),
requirements during system analysis Nearly all of the questions we ask it doesn’t mean they will come (the cus-
and testing address what the customer wants to be tomers).
• The major categories of non-function- able to do with the application, and we
al requirements assume that if we deliver everything the Instead, it is our job to first determine
• The primary characteristics of each customer asked for then our application exactly what a customer needs before
non-functional requirement type will be a success. we begin building the solution. We do
• Suggested methods for integrating this by asking the “What” questions,
non-functional requirements into soft- Unfortunately, this assumption is bla- and the answers to those questions are
ware testing practices tantly inaccurate. It is just as important usually referred to in the IT world as the
to ask the remaining four questions as it “functional requirements” for the appli-
Introduction is to thoroughly document the first. By cation.
From an early age, we are all taught the focusing on only the “What” of the
basic questions to ask when gathering application, we miss much of the under- Functional requirements describe what
information. Whether you are a school lying context and may ignore critical it is that a customer needs to be able to
child researching a report, a journalist business constraints that will ultimately do with our software. They may be doc-
investigating a story, or a witness determine our effort’s success or fail- umented in the form of rigorously spec-
recounting a crime scene, you immedi- ure. And just like a journalist who skips ified process models or use cases, or
ately ask yourself the so-called “Magic one or more of his “Magic Five,” we they may simply be lists of required fea-
Five Questions.” These, of course, often end up building software applica- tures and functions. Whatever the form
include “Who,” “What,” “Where,” tions that seem unfinished and/or cause used, functional requirements should
“When” and “How.” And as every good as many problems as they solve. always identify the minimum function-
journalist knows instinctively, without ality necessary for the software imple-
all of this information the resulting Functional vs. Non-Functional mentation to be considered a success.
work seems unfinished and/or raises as Requirements
many questions as it answers. Unfortunately for IT, software is not However, as mentioned earlier, this is
like Kevin Costner’s baseball diamond not enough. Instead, business analysts