Home
 
Information
Sources

 
Training &
Seminars

 
About
Btt

 


 

 

Page 4 of 8

"Rich Requirement Specifications: the use of Planguage to clarify requirements"

 

A Meter specifies one or more ways to measure along the defined scale, what the level of performance is, for example in operation. Tests can be specified, in detail, schematically or by reference to detailed test plans and test cases. A design proposal is not a firm design commitment, just a note documenting some early design ideas; maybe indicating that ambitious target levels have a practical technical solution.

Principle R4:  The requirement should be a future state, and not unintentionally a design to get there.

Usability:

Scale: The probability in % that defined Users can successfully complete defined Tasks under defined Conditions.

Goal [Users = Novices, Tasks = Most Difficult, Conditions = {Noise, Pressure}] 60%.

Goal [Users = Experts, Tasks = Average, Conditions = {Noise, Movement}] 80%.

Stretch [Users = Experts, Tasks = Average, Conditions = {Noise, Movement}] 85%.

Wish [Users = Experts, Tasks = Average, Conditions = {Noise, Movement}] 90%.

Ideal [Users = Experts, Tasks = Average, Conditions = {Noise, Movement}] 100%.
 

In addition to the Goal statement - the one requirement level we take as a serious commitment - there are three other target notions.

'Stretch' represents a level somewhat above the corresponding qualifiers Goal level. It has added stakeholder value, but we do not believe we have either the resources or the technology to commit to the Stretch level. But we document it as background, not as a ‘required’ level, that there is stakeholder value in reaching that level. Maybe later we can find additional resources, or better technology and reach the stretch level. It is a sort of motivator for engineers to do that little extra. But you could say it is a requirement level that is not required.

'Wish-level' specification represents a target level of performance that has some value for some stakeholder. Wish specification represents a stakeholder ‘need’ but not currently a Goal level. Perhaps it can later be converted, but first we would need to find a suitable design to get to that Wish level. Then we would need to estimate costs for using the design and finally, we would need to accept that cost within our total budget. Then we could convert the Wish level to a Goal level. You could say that the non-committed Wish specification, can be viewed as a way of ‘begging for resources’. We won’t promise to commit to the wish as a goal level, unless we get sufficient resources.

The Ideal level is rarely used in practice, but it is a useful concept. It represents perfection that all stakeholders, want in principle. However, they do not want to pay the infinite price that perfection normally costs. Whilst not a requirement, the 'Ideal' can serve as a conceptual reminder that we cannot promise to satisfy peoples' impossible dreams.

Notice that the level of performance intentionally says nothing about the actual design that will be used to deliver that level of performance.

That strict division between required performance levels and its next stage, the design process, is necessary. It is necessary to free the architect and the design engineer to find the best solutions to the problems posed by the complete set of requirements: all performance levels, all cost levels and all constraints. It would be logically wrong to decide on a particular design on the basis of a single dimension of performance. That would be sub-optimization.
 

Principle R5: Complex requirements should have a clear hierarchy, not a vague summary.


Many top level performance requirements seem to defy quantification. This is normally because they are not really a single scalar dimension. They need to be decomposed from being a ‘complex’ notion (consists of many dimensions) to a set of elementary dimensions. It is a simple as making a list of the aspects that we associate, and agree to associate with, a performance attribute. Then we can normally define a suitable scale of measure for the elementary aspects. Sometimes further decomposition is necessary.

Adaptability:

Scale:

time needed to [Adapt]

a defined [System]

from a defined [Initial State]

to another defined [Final State]

using defined [Means].
 

Example: this is the high level concept of adaptability, defined using a number of scale qualifiers (like [Adapt]). Another approach to defining adaptability is to treat it as a set of defined classes of adaptation (which is what the Adapt qualifier does too).

more...
 

©Tom Gilb 2005 

 

Back to: System Development     Back (previous): Page 3 of 8   
 

Copyright © Biness Transition Technologies Ltd 2004.  A

ll Rights Copyright © Business Transition Technologies Ltd 2006.  All Rights Reserved.