In (very) broad terms, there are two types of requirements: implicit and explicit.
Explicit requirements are those that come from upon high. For example, the application must handle authentication over SSL. There isn’t much discussion about those necessary. We’re used to those.
Implicit requirements are a much trickier thing to navigate. It is implied that the application “shouldn’t suck”, or not be “dog slow”. These require human judgement to decide whether there is a bug in this implicit requirement or not.
One other implicit requirement is often the look-and-feel in terms of the operating system. (And to a lesser degree corporate look-and-feel, but that is often explicit.). For Windows based applications, the official Microsoft look-and-feel guidelines are posted on MSDN. To be specific, they here: Windows User Experience Interaction Guidelines (or are a giant pdf).
If you have an application that lives in Windows, you really should have that page bookmarked.
Categories
- Android (2)
- BITW (5)
- Books (21)
- CAST2008 (2)
- GLSEC2008 (14)
- Housekeeping (22)
- Interviews (1)
- javascript (1)
- marketing (1)
- Podcasts (28)
- Process (23)
- Python (19)
- Quality (400)
- Ruby (7)
- s3cr3t (1)
- Selenium (10)
- Star West 2010 (8)
- subversion (1)
- Uncategorized (415)
- Video (54)
- What I Learned Yesterday (3)
Find things by
- Browsing...
- Searching...
I wouldn’t go as far to state your first examples on implitic requirements as requirements. They are vague. Since they describe the omission of something, they invite the full creativity to avoid the obvious solution which the author had in mind. In “Quality Software Management Vol. 2” Jerry Weinberg points out why this is a poor set of a goal.
For example:
To achieve that my software is “not dog slow”, I can choose among one of the following options:
– avoid implementing any software at all
– put some wheels under my computer, to make it faster than a dog, maybe with an engine
– measure the speed at which my software transports electrons through the computer hardware and find out that this is faster than any dog.
Requirements expressed as omissions with a negation term are suspicious to me. They are vague at best. But they leave much room for creativity of the human mind.