SMART Objective AttributesSpecificMeasurableAchievableRelevantTimeOr other Resource constraint(Duration, Expense, etc.)

An acronym for what Requirements should be:

  • Specific (ie, Atomic, SRP)
  • Measurable (ie, Testable: define quantity, and test to prove so)
  • Achievable (ie, Objective, as opposed to an open ended Goal).
  • Relevant (ie, Rationale given, associated to an ISO-25010 Quality)
  • Time-bound (ie, …or better yet, Resource bound (expected Time, Cost, Effort)

What's implied from the above is capturing:

  • Specific: Input Criteria are defined

What's ambiguous from the above is whether Alternate Flows are beyond Specific.

What's missing from SMART is asking for:

  • Context/Exceptions: when to apply and when not to apply Information: recommendations and resources (how)

Note that there is value in using something like IT:AD:OCRRA or IT:AD:ART ICE notation when defining Requirements.