it:ad:smart:home

IT:AD:SMART

Summary


@startuml

!includeurl http://skysigal.com/_media/resources/configuration/plantuml/minimalist.txt
skinparam nodesep 50
skinparam ranksep 30
scale 0.8
scale max 800 width
'skinparam handwritten true

title SMART Objective Attributes

class Specific
class Measurable
class Achievable
class Relevant
class Time

Specific -[HIDDEN]RIGHT- Measurable

Specific -[HIDDEN]- Achievable
Measurable -[HIDDEN]- Achievable

Achievable -[HIDDEN]- Relevant
Achievable -[HIDDEN]- Time

Relevant -[HIDDEN]RIGHT- Time

note right of Time
Or other Resource constraint
(Duration, Expense, etc.)
endnote

@enduml

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.