A notation for Requirements developed by Tob Gilb.

Planguage stands for “Plan Language”.

Tom Gilb had a strong distrust of the use of “Natural Language” for defining requirements due to flexibility – and therefore potential for ambiguity – within everyday English.
The PLanguage solution is to use a set of formal tags, listed below.

  • Tag:
    • The unque Identifier of the Requirement
  • Gist/Ambition:
    • The goal that is to be met
  • Scale:
    • The scale to use when measuring (see Meter)
  • Meter:
    • Describes precisely how to perform the measurement.
  • Must:
    • The minimum target value to meet.
  • Plan:
    • The desired normal wish.
  • Wish:
    • The desired optimal value.


  • Advantages:
  • Considerations:
    • It appears to be heavily influenced by an engineering environment.
    • It's formality appears to have had only a limited success at influencing the field of requirement development.
    • Is it Ambition or Aspiration – or Gist? They're all a bit unclear as to whether they are Obligations, Recommendations or Allowances.
    • Missing 'Context' and 'Exceptions' to 'Context'. Not all Requirements are applicable to all situations.
    • Missing a word to define or at least suggest the Test method.
    • Tag is unclear as to being a 'Action' to be undertaken, or simply a handle/tag (if so, where do we put the Action?).
  • Disadvantages:
    • It's flexibility – the ability to define tags as needed – is also it's disadvantage. It's hard to find two companies using the exact same set of same tags.
    • There's an unproductive amount of duplication – therefore chance for errors – in between filling in Tag, Gist (basically the same thing in most cases), Ambition, Aspiration, and Requirement (all dealing with the same thing, but in long format).
    • Having multiple Targets ('Record', 'Must', 'Past', 'Wish', 'Stretch', 'Trend' make the requirements non atomic, adding ambiguity.
      • In such cases it would better to break the requirements into multiple requirements, each with a varying desirability (MUST be polite at greeting + SHOULD be polite during rest of meeting).

PLanguage has good intentions, but adds a lot of artificial friction in order to ensure thought has been put into the requirements. But it's still a lot of friction, that is not needed.

Consider instead using a Restrained Natural Language.