Home
 
Information
Sources

 
Training &
Seminars

 
About
Btt

 


 

 

Page 2 of 8

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

There are aspects of the Requirements Language that make certain aspects of a requirement reusable across projects. For example:

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%.


In this case the scale of measure definition has three scale qualifiers (Users, Tasks, Conditions).  These are defined by corresponding scale variables in the Goal statement.  This allows reuse of the scale in the same requirement definition, but it also enhances the capability for reuse of that scale definition in entirely different projects.
 

Principle R2:  The requirement should give information allowing us to check its quality.

What is the ‘quality’ of a requirement specification? Different people are going to give very different answers. But here is mine. There are two distinct quality aspects of a requirement specification:
  • the intelligibility of the specification (even though it is wrong or bad!)
     
  • the relevance of the specification to the stakeholder world (does it really fulfill the real needs of stakeholders?) – even though it may be unclear

The requirements language has a large array of tools addressing these two aspects.

Let us first look at the issue of intelligibility:
 

Reliability:

Scale: Mean Time Between Failure

Goal: 20,000 hours


Some simple notions of intelligibility in this basic example are:
  • the requirement is given an intelligible reference name (Reliability)
     
  • the requirement is described by a set of clear language parameters (Scale, Goal)
     
  • distinct concepts are clearly separated (the name, the scale of measure, the target level)

The language parameters themselves are formally defined in the requirement language concept glossary, so that the parameters have an exact meaning. For example:
 

Goal                                         Concept *109 March 15, 2003
A goal is a primary numeric target level of performance.

A Goal parameter is used to specify a performance target for a scalar attribute.

A Goal level is specified on a defined scale of measure with its relevant qualifying conditions [time, place, event].

An implication of a Goal specification is that there is, or will be, a commitment to deliver the Goal level (something not true of a Stretch or Wish target specification).

Any commitment is based on a trade-off process, against other targets, and considering any constraints. The specified goal level may need to go through a series of changes, as circumstances alter and are taken into consideration.

A specified Goal level will reasonably satisfy stakeholders. Going beyond the goal, at the cost of additional resources, is not considered necessary or profitable – even though it may have some value to do so.
 

(and this snippet does not include the extensive notes also found in the glossary)

Of course the exact content itself is critical to intelligibility, but we are just mentioning some of the intelligibility concepts, not all of them.

more...
 

©Tom Gilb 2005

 

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

Copyright © Biness Transition Technologies Ltd 2004.  A

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