Epic
An epic in RIDDL is a definition that defines a large user story with a set of use cases. This is the same concept as the idea Kent Beck introduced in 1997. In RIDDL, a story gets a little more involved than the usual formulations of a user story:
As a {user}, I would like {capability}, so that {benefit}
or
In order to receive {benefit}, as a {user}, I can {capability}
which have these three ideas:
* A user that provides the role played by the narrator of the story
* A capability that provides the capability used by the narrator
* A benefit that provides the reason why the narrator wants to
use the capability
A RIDDL Epic also provides a set of use cases that relate the story to
other RIDDL components through the steps taken for each
case. Each case specifies a set of
interactions that define and label the interactions between other RIDDL
definitions such as
elements,
entities, and
projectors.
Cases can also outline user acceptance testing.
Stories are designed to produce sequence diagrams. This allows the intended interaction of some user (human or not) with the system being designed in RIDDL to support a detailed definition of a user story.
Syntax¶
epic ShoppingCartEpic is {
user Customer wants to "add items to a shopping cart"
so that "they can purchase multiple items at once"
case AddingToCart is { ??? }
} with {
briefly as "User stories about shopping cart management"
}
Modal Verbs¶
RIDDL 2.0 widens the user-story verb from wants alone to a modal set:
wants, must, shall, should, may, will, can
user Customer must "authenticate" so that "their account is protected"
user Auditor should "review the ledger" so that "discrepancies are caught"
user Guest may "browse without an account" so that "they can evaluate us"
This is vocabulary only. All variants parse to the same structure, so the modality reads naturally but is not captured as data — a model cannot be queried for its "must" stories. Recording modality as MoSCoW priority would be a separate feature, and was deliberately not done here.
The to after the verb remains optional, as it always was.
Options¶
sync marks an epic whose interactions are synchronous.