<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Perspectives on User Story Based Visual Transformations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yves Wautelet</string-name>
          <email>yves.wautelet@kuleuven.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Samedi Heng</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manuel Kolp</string-name>
          <email>manuel.kolpg@uclouvain.be</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KU Leuven</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LouRIM, Universite ́ catholique de Louvain</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper summarizes previous works done by the authors on User Story (US) template unification and visual requirements models generation out of a US set. Indeed, transformation of a US set tagged using templates from a unified model to a Goal-Oriented model called the Rationale Tree and to a UML UseCase Diagram are previous contributions summarized here. It also introduces the genuine contribution of generating a UML class diagram from a US set. Future research - notably on the use of the transformations in real life-case studies - is also discussed. Finally, the CASE tool supporting the approaches is overviewed.</p>
      </abstract>
      <kwd-group>
        <kwd>User Story</kwd>
        <kwd>Rationale Tree</kwd>
        <kwd>Use-Case Diagram</kwd>
        <kwd>Agile Development</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        1 Introduction
User stories are short, simple descriptions of a feature told from the perspective of
the person who desires the new capability, usually a user or customer of the system
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, no unification is provided in User Story (US) templates [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Indeed, the
general pattern relates a WHO, a WHAT and possibly a WHY dimension, but in practice
different keywords are used to describe these dimensions (e.g. Mike Cohn’s As a &lt;type
of user&gt;, I want &lt;some goal&gt; so that &lt;some reason&gt; [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which could be instantiated
to As a &lt;DRIVER&gt;, I want to &lt;register to the service&gt; so that &lt;I can propose a ride to
go from A to B&gt;; a series of examples can be found in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]). Moreover, in the literature,
no semantics has ever been associated to these keywords. This is why, [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] conducted
research to find the majority of templates used in practice, sort them and associate
semantics to each keyword. These semantics were derived from several sources and
frameworks; some of these are derived from Goal-Oriented Requirements Engineering
(GORE, see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). The research lead to build a unified model of US templates with
only a minimal but sufficient amount of keywords; most of the semantics adopted for
these keywords were selected from the i* framework (i-star [
        <xref ref-type="bibr" rid="ref11 ref3">11, 3</xref>
        ]) The entire research
process can be found in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] while Section 2 summarizes the US templates unified model.
      </p>
      <p>
        One may question the utility of such a model; why should US be “tagged” to a
certain template. The main advantage is that, if the tagging respects the semantics
associated to the concepts, it provides information about both the nature and the granularity
Copyright 2017 for this paper by its authors. Copying permitted for private and academic
purposes.
of the US element. Even in an agile context, this is useful for performing requirements
analysis [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This paper summarizes the transformations from a tagged US set to a
GORE model called the Rationale Tree (from [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) as well as to a UML class
diagram (from [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). It also overviews future work around the Rationale Tree. Last but not
least, preliminary work around the transformation from a tagged US set to a UML class
diagram is depicted; this constitutes a genuine contribution of this paper.
2
      </p>
      <p>Unified-Model of User Stories’ Descriptive Concepts</p>
      <p>
        Each concept is associated with a particular syntax (identical to the name of the
class in Figure 1) and a semantic. Due to a lack of space we do not depict the semantic
associated to each of the concepts here; it can be found in [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ].
      </p>
      <p>
        [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] pointed out the need of 3 possible levels of granularity within the functional
elements expressed in US. We thus distinguish the Hard-goal, Task and Capability.
      </p>
      <p>The Hard-goal is the most abstract element; there is no defined way to attain it and
several ways could be followed in practice. It is indeed part of the problem domain. The
Task represents an operational way to attain a Hard-goal. It is thus part of the solution
domain. An example of a Hard-goal could be to Be transported from Brussels to Paris;</p>
      <p>Perspectives on User Story Based Visual Transformations
it can be the Hard-goal of a traveler but there are several ways to attain this Hard-goal
(by train, by car, etc.).</p>
      <p>The Task and the Capability represent more concrete and operational elements but
these two need to be distinguished. The Capability does in fact represent a Task but the
Capability has more properties than the former since it is expressed as a direct intention
from a role. In order to avoid ambiguities in interpretation, we point to the use of the
Capability element only for an atomic Task (i.e., a task that is not refined into other
elements but is located at the lowest level of hierarchy). A Task could then be Move
from Brussels to Paris by car and a Capability would be Sit in the car.</p>
      <p>In practice, US elements need to be compared to each other to properly determine
their type. Since this is also subject to interpretation these elements are re-tagged several
times when they analyzed and structured.
3</p>
      <p>
        From User Story Set to Rationale Tree: Goal-Based Approach
Building the Rationale Tree from a User Story Set. Visual GORE models were
envisaged for graphical representation in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. From this [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] develops a decomposition
structure for US elements called the Rationale Tree, largely inspired by i*. The icons
used for its representation are illustrated in Figure 2.
      </p>
      <p>Soft-goal</p>
      <p>Task</p>
      <p>Capability</p>
      <p>
        Contribution link(+,-)
b)
Fig. 2. Elements of the Rationale Tree: GraphiRcoale_l1Representation (from [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]).
      </p>
      <p>US1: As Role_1, I want Task_1, so Hard_Goal_1 Task_2
that Hard_Goal_1</p>
      <p>Task_1
Figure 3 shoUSw2:sAsaRole_1, I want CapabiTlityr_e1e, both in canonical foCrampabiliatyn_1d instantiated to the</p>
      <p>
        Rationale
carpooling examsopthlaet T(asske_2e [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for the US set). The US including the Task “Pay by SMS
Soft_Goal_1
in domestic country” and the US including the Task “Pay by credit card” are Epic US
(i.e. a US too abUsStr3:aAcstRo(lce_o1,aIrwsaent-Sgofrt_aGionale_1d, ) to be estimated, implemented and tested at once)
because these arUeS4t:oAps -Rloelev_2e,IlwTaantsCkapsabrileityl_a2t,ed to means-enRdoled_2eco mTaspk_o3sitions of the Hard-goal
“Pay for the carsopthoatoTlaiskn_g3 service in function of the country he isHtarrda_Gvoael_l2ing in”.
Rationale Tree: Benefits and Future Perspectives. TCahpaebiliityn_2terest of the Rationale Tree
      </p>
      <p>US5: As Role_2, I want Capability_3,
approach essentially lies in the possibility to use a tool thatCsapuabpilitpy_o3rts reasoning within
so that Hard_Goal_2
the requirements set initially expressed through US. The decomposition of elements
helps to evaluate tactics for Hard-goal and TaskStrfautelfigilclmRaetniotnaalsDwiaeglrlamas(SrReqDu) irements</p>
      <p>User Stories (US)
consistency. Missing (or missing parts of) require(mSReDn)ts can thus be identified.
Reasoning can also help provide justifications for architectural choices made for the support of
Soft-goa²ls.</p>
      <p>User Story</p>
      <p>WHO
are part of
Role
Role Boundary</p>
      <p>Elements
Hard-goal</p>
      <p>WHAT</p>
      <p>WHY</p>
      <p>Links
Means-end link
Decomposition link</p>
      <p>Elements of EPIC US
#</p>
      <p>$%$
'
' # !'
!"#
&amp;
#</p>
      <p>#
$
$%$#</p>
      <p>Real life case studies are currently being performed using the Rationale Tree
approach in SCRUM projects. It has so far notably been applied for the reinterpretation
of the requirements in a travel and expense management application. As first result we
highlight that visual identification of the requirements dependencies allows a more
efficient re-usability of elements developed in the project. This case goes further than
a simple application of the rationale tree and also integrates the latter directly in the
SCRUM board. Then, coupled to an algorithm for determining elements with highest
business value, iteration planning can be performed. This approach allowed to increase
traceability and visibility on requirement elements across iterations and monitor the
progress on multiple levels (i.e. the levels of the elements in the tree).</p>
      <p>
        Future work also includes comparing the Rationale Tree Approach with Natural
Language Processing (see [
        <xref ref-type="bibr" rid="ref6 ref7">7, 6</xref>
        ]) for discovering missing requirements in a US set.
4
      </p>
      <p>
        From a User Story Set to UML Diagrams
Building a Use Case Diagram from a User Story Set. Starting from a tagged set of
US, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] suggests a method to systematically build a UML Use-Case Diagram (UCD);
Table 1 summarizes the mapping of elements. The UCD proposes a view focusing on
US containing coarse-grained process elements (Epic US). This furnishes an abstract
view of the system-to-be and helps with the scoping of US realizations.
Building a Class Diagram from the US Set and the Use Case Diagram. In future
work, we will formally define forward engineering mechanisms from a US set to a
UML Class Diagram. We can already highlight that Roles can be forward engineered
into classes. Realization analysis of Goals and Tasks allows to identify more classes.
In turn, Capabilities lead to class operations. This is shown in a canonical form in the
left side of Figure 4 and instantiated on the Carpooling example in the right side of the
figure. For example, the Task Register to the service from US3 requires to architecture
the Ride class because it needs to create and manipulate Ride objects. The Capability
Confirm the proposal from US5 leads to the operation confirm() of the class Ride.
#
      </p>
      <p>$%$</p>
      <p>UCD Element $ $%$#
Actor</p>
      <p>
        Use Case; several Use Cases transformed from Hard-goals can
.//
(a) Class Diagram Forwarded on the Basis of (b) Partial Class Diagram for the Carpooling Example
Stereotyped User Stories
Automating Approaches and Round-Tripping Between Views. We have built an
addon to our Descartes CASE-Tool [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to support transformations (see Figure 5). It allows
multiple views: the User Story View edits US through virtual US cards; the Rationale
View rationale trees; the Structural View structural agent diagrams; the Use-Case View
a UCD and finally the Class, Sequence and Activity Diagram Views. The CASE-Tool
synchronizes other views when changes are made. The editing process is continuous
over the requirements analysis stage and he entire project life cycle.
      </p>
      <p>1
Conclusion. US are popular informal artifacts for quickly expressing requirements in
the agile methods. Through multiple contributions, we have shown that with little
effort it is possible to bring more formality to the US sorting process and build a visual
representation. These can be driven by GORE frameworks or the UCD. These visual
representations are useful for building a high level picture of the system-to-be. The
Rationale Tree also allows to study dependent requirements with an impact on re-usability
or identify missing ones. Put in an iterative perspective, it allows business value based
iteration planning and to monitor the project progress on multiple levels. Finally, we
overviewed how a class diagram can be forward engineered out of a tagged US set.
, '
"
)( ! * + .
) ! * +
.//
&amp;
'
!
#" $
%</p>
      <p>(a) User Story View: edit and tag US
(c) US model: Rationale Tree View
(b) US model: Use-Case View</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Descartes architect (
          <year>2017</year>
          ), http://www.isys.ucl.ac.be/descartes/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Succeeding with Agile: Software Development Using Scrum. Addison-Wesley Professional, 1st edn</article-title>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franch</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horkoff</surname>
          </string-name>
          ,
          <source>J.: istar 2</source>
          .
          <article-title>0 language guide</article-title>
          .
          <source>CoRR abs/1605</source>
          .07767 (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. van Lamsweerde,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Goal-oriented requirements enginering: A roundtrip from research to practice</article-title>
          .
          <source>In: 12th IEEE International Conference on Requirements Engineering (RE</source>
          <year>2004</year>
          ),
          <fpage>6</fpage>
          -
          <issue>10</issue>
          <year>September 2004</year>
          , Kyoto, Japan. pp.
          <fpage>4</fpage>
          -
          <lpage>7</lpage>
          . IEEE Computer Society (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Liskin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pham</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiesling</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Why we need a granularity concept for user stories</article-title>
          .
          <source>In: Proceedings of XP'14</source>
          , Rome. LNBIP, vol.
          <volume>179</volume>
          , pp.
          <fpage>110</fpage>
          -
          <lpage>125</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lucassen</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>van der Werf</surname>
            ,
            <given-names>J.M.E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Visualizing user story requirements at multiple granularity levels via semantic relatedness</article-title>
          .
          <source>In: Conceptual Modeling - 35th Intl. Conference, ER</source>
          <year>2016</year>
          ,
          <article-title>Proceedings</article-title>
          . LNCS, vol.
          <volume>9974</volume>
          , pp.
          <fpage>463</fpage>
          -
          <lpage>478</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Robeer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucassen</surname>
            , G., van der Werf,
            <given-names>J.M.E.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brinkkemper</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Automated extraction of conceptual models from user stories via NLP</article-title>
          . In: 24th IEEE International Requirements Engineering Conference,
          <string-name>
            <surname>RE</surname>
          </string-name>
          <year>2016</year>
          . pp.
          <fpage>196</fpage>
          -
          <lpage>205</lpage>
          . IEEE (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Wautelet</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heng</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hintea</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Bridging user story sets with the use case model</article-title>
          . In: Link,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Trujillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.) Advances in Conceptual Modeling - ER
          <source>2016 Workshops Proceedings. LNCS</source>
          , vol.
          <volume>9975</volume>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>138</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Wautelet</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heng</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mirbel</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Unifying and extending user story models</article-title>
          .
          <source>In: CAiSE</source>
          <year>2014</year>
          ,
          <article-title>Thessaloniki, Greece</article-title>
          .
          <source>Proc. LNCS</source>
          , vol.
          <volume>8484</volume>
          , pp.
          <fpage>211</fpage>
          -
          <lpage>225</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Wautelet</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heng</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolp</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mirbel</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poelmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Building a rationale diagram for evaluating user story sets</article-title>
          .
          <source>In: Tenth IEEE International Conference on Research Challenges in Information Science</source>
          ,
          <string-name>
            <surname>RCIS</surname>
          </string-name>
          <year>2016</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . IEEE (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modeling Strategic Relationships for Process Reengineering</article-title>
          ,
          <source>chap. 1-2</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>153</lpage>
          . MIT Press, Cambridge, USA (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>