Story Splitting (PoC)
The Context Mapper DSL (CML) supports capturing user story. Serving as initial input to our OOAD transformations, these stories allow our users to start prototyping an application rapidly. Before you start generating Subdomains and Bounded Contexts in such transformations, you have to create and evolve some use cases or user stories. During this process (in case you work with user stories), you may want to split your stories. Our story splitting transformations based on Patterns for Splitting User Stories support such effort.
Split Story by Verb/Operation
As a first proof of concept for this feature we implemented the transformation “Split Story by Verb/Operation”. It splits a CML user story by its verb.
We illustrate the idea with the following user story written in CML:
UserStory Account_Admin_Story {
As an "Admin" I want to "manage" an "Account" so that "can enable users to work with the system."
}
The Context Mapper editor provides a quick fix on the verb:
By clicking on the verb and then on the light bulb, users can click “Split Story by Verb/Operation”:
Users can then enter multiple new verbs, one after the other:
Once you entered all desired verbs, you can press ESC
and the transformation will be applied. In our case here we entered the verbs create, edit, and cancel. This leads to the following CML result:
The resulting CML model is:
UserStory Account_Admin_Story split by Account_Admin_Story_Split {
As an "Admin" I want to "manage" an "Account" so that "can enable users to work with the system."
}
UserStory Account_Admin_Story_Split {
As an "Admin"
I want to "cancel" an "Account"
I want to "edit" an "Account"
I want to create an "Account"
so that "can enable users to work with the system."
}
With the split by keyword we provide a back-reference so that you still know which story was split by which other story (and how the original story looked like).
Next Steps
After you have modelled and split a sufficient amount user stories, you can use our OOAD transformations to derive Subdomains and Bounded Contexts from them. The transformations will always use the split version of a story and ignore the original one!
- Previous
- Next