<!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>Using i* Models to Enrich User Stories</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Aline Jaqueira</string-name>
          <email>alinejaqueira@ppgsc.ufrn.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Márcia Lucena</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eduardo Aranha</string-name>
          <email>eduardo@dimap.ufrn.br</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fernanda Alencar</string-name>
          <email>fernanda.ralencar@ufpe.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaelson Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centro de Informática - UFPE</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Departamento de Eletrônica e Sistemas - UFPE</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Departamento de Informática e Matemática Aplicada - UFRN</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <volume>978</volume>
      <fpage>55</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>In agile methods the user stories are widely used to describe requirements. However, the user stories are an artifact too narrow to represent and detail the requirements. Issues like software context and dependencies between stories are also limited with the use of only this artifact. The lack of documentation in agile development environment is identified as one of the main challenges of the methodology. This work proposes the use of i* model that aims to reduce this lack of existing documentation in agile methods. We propose a set of heuristics to perform the mapping of the requirements presented as user stories in i* models. The i* models are used as a form of documentation in agile environment, thus the user stories can be viewed more broadly and with their proper relationships according to the business environment that they will meet.</p>
      </abstract>
      <kwd-group>
        <kwd>i* Models</kwd>
        <kwd>User Stories</kwd>
        <kwd>Agile Requirements</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Agile methods have been gaining much interest among practitioners and researchers
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], because they use more simplified processes with less bureaucratic activities
associated with the development [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. However, requirements engineering and agile
development are often seen as incompatible activities [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], as requirements engineering is
a traditional process of software engineering and has the documentation to manage
the project and share knowledge, while the agile methods focus on face-to-face
collaboration among stakeholders to address the same goals.
      </p>
      <p>
        In addition, the elicitation is held with clients that are part of the development
team. In order to do this, customers write stories according to the system needs to do
(user stories) and prioritize them according to the value of the concerned business. A
user story describes the functionality that is valuable to the customer and is used for
project planning, acting as a reminder to the team since subsequent conversations
about the story are essential to convey the details [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. User stories are used to
establish a common understanding of the software requirements using a flexible approach,
low overhead and focusing on the user [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. They are widely used by agile
development [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and are therefore considered in this work as an agile artifact.
      </p>
      <p>
        The requirements documentation is seen as a bureaucratic activity in the Agile
methods [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], but their absence is singled out as one of the main challenges of the
methodology [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. In addition, the user stories are very limited artifacts to process
issues such as progress tracking software and that there is a lack of detailed
information about software in development [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. The control of the system performed only
by way of user stories is a challenge both for customers and for the team. To make
decisions based only on the stories, without any documentation, becomes risky
especially for complex systems [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>This work proposes the use of i* model that aims to reduce this lack of existing
documentation in agile methods. We propose a set of heuristics to perform the
mapping of the requirements presented as user stories in i* models. The i* models are
used as a form of documentation in agile environment, thus the user stories can be
viewed more broadly and with their proper relationships according to the business
environment that they will meet.</p>
      <p>In the following section, briefly define the research objectives. In Section 3 we
discuss the scientific contributions. Section 4 provides the conclusions and Section 5
presents future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Objectives of the research</title>
      <p>This work proposes the use of i* models as an additional resource that aims to reduce
the lack of documentation of agile software development projects and improve view
dependencies between user stories and the system and also provide information and
understanding of the system as a whole. We seek to support the stakeholders, through
models i* providing a graphical and comprehensive vision of the user stories and their
relationships.</p>
      <p>
        The common concern with stakeholders justifies the choice of the technique i* to
represent the user stories. The focus on stakeholders and their relationships to the
description of requirements is a feature of the technique i*, where actors depend on
each other to achieve their goals. The agile methods also focus on human factors and
bet in delivering value to the customer [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], recognizing people as fundamental part
of the project success [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Therefore, the concepts of user stories are employed
together with the concepts of the i* model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
      </p>
      <p>
        Although user stories are written in natural language by the client, Mike Cohn
suggests a format for writing the stories that has been widely used: "as &lt;role&gt;I want
&lt;action&gt;to &lt;goal&gt; " [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Therefore, for this proposal it is assumed that the same format
proposed by Cohn [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] will be used.
      </p>
      <p>
        The user stories are mapped to i* models generating a graphical and
comprehensive vision of the software requirements and their relationships. The concepts and
notations of the i* model are used according to i* Wiki [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], that represents a
simplified version of the technique. It is also important to report that only a few elements of
i* are used in accordance with the need of the proposal. In this way, to build the SD
model, the elements used are the actor, the goals and the IS_A Association. For SR
model the tasks, resources, and also the connection of decomposition are used.
      </p>
      <p>By using i * models from user stories, agility feature of the projects should be
maintained because the view of stories complemented by i * models can make better
understanding, easier and simpler. The following presents the correspondence of
elements when mapping the user stories to i* model: (i) Role in User Story is mapping to
Actor in i* model; (ii) Action in User Story is mapping to Task in i* model; and (iii)
Goal in User Story is mapping to Goal in i* model.</p>
      <p>To simplify the understanding of the mapping, heuristics were established as a
resource to arrive at the solution of the mapping proposed in this paper. It is noteworthy
that the heuristics set must be executed in the order they were made for the mapping
occur in a more objective. The heuristics to map user stories to SD model are: SD-H1:
Create the Actor System; SD-H2: Create an Actor in i * model for each different role
of user stories; SD-H3: Create a meta in i* model for each goal of user stories. If
repeated the same goals will be defined only once in the model; SD-H4: If repeated
goals for different actors, create a Generic Actor; SD-H4.1: Create a relationship is_a
the Actor generic to other specific actors who share the same goal; SD-H5: Connect
the dependencies of each actor with their goals.The heuristics used to map user stories
for the SR model are: SR-H1: Create a Task within the Actor System for each share
of user stories; SR-H2: If there are different actions for the same goal, to create a
generic task; SR-H2.1: Decomposing the generic task into sub tasks that represent the
actions associated with the same goal; SR-H3: List the dependencies of each goal
with the corresponding tasks according to user stories; SR-H4: If there are tasks that
depend on own Actor that are related, generate a resource with the name of the task;
SR-H5: Relate the resource depending on the Actor.</p>
      <p>According to the proposed heuristics, the SD model is mapped by first creating the
System actor. Subsequently, it creates the actors for the roles of user stories, which, in
this case, the actors are User and Administrator. The goals of the user stories are
created as goals for the SD model and linked as dependencies leaving from the actors
that are associated and coming to System Actor. We omitted the result of heuristics
this example for SD model mapping (from user stories to i* SD model) due to lack of
space.</p>
      <p>To demonstrate this proposal a login system was used as an example, considering
the prospect of a user and an administrator. Table 1 presents the stories of user login
system and the figure 1 shows the result of the mapping.</p>
      <p>Table 1. User stories Login System (Source: IBM, 2012)</p>
      <p>Role Action Goal
1 User Having username Access secure content
2 User Having password Access secure content
3 User Choose your username Customize account
4 User Change the default password Customize password
5 Administrator Assign the user password Automated registration
6 Administrator Send email registry vCaotniofnirmemthaiel account
acti7 Administrator Request to login user Ensuring security of
con</p>
      <p>To generate the SR model, every action of the user stories have been generated as a
task within the system actor, once it is the system actor that will operate them,
performing the task in a particular manner in order to meet the goals of the actors. As
there are, in this example, different actions for the same goal, a generic task was
created in SR model which was decomposed in the actions in the form of sub-tasks. The
tasks that depend on the actor himself generate a resource that depends on the actor
and that has the same name as the task.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Scientific contributions</title>
      <p>
        Even in an agile environment it is necessary to develop some models before any
implementation to ensure a shared understanding by the development team, so that it is
synchronized with the goals of the business value and context of the project [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
Visual models assist in understanding of how users will need to use the system. In
addition, those models are effective for the stakeholders to understand the proposed
solution and also to keep them interested and involved.
      </p>
      <p>
        The most important contribution of this work is the development of a proposal that
uses visual models provided by i* to alleviate the lack of documentation in agile
development environments that was cited in the systematic review conducted by
Jaqueira et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. A set of heuristics is proposed to perform the mapping of user
stories for i* models.
      </p>
      <p>Since i * models are graphical representations of the requirements, they would
have a comprehensive and visual way to see the user stories, thus mitigating the lack
of documentation in agile software development projects, improving the visualization
of the system context, facilitating access to requirements, contributing to
decisionmaking in the development environment.</p>
      <p>In addition, other contributions may be cited as the improvement in understanding
the context of the system to be developed, the use and easier access to information of
user stories from the preview of the visual model, improving the decision-making
process in accordance with the analysis of the stories, as they are described in i*
models, and tooling support enabling the automation of some of its stages (construction of
SD and SR models).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>
        To evaluate the approach this work, we performed a case study analyzing qualitative
issues. From the participants' impressions of use, it was found that the use of i *
models contribute to complement user stories [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. An approach based on visual models
can provide more direct and traceable links to system development, promoting an
analysis with the greatest impact in the design and implementation of software. It also
works to facilitate communication, understanding, and detecting problems or explore
what-if scenarios and potential solutions.
      </p>
      <p>
        We find that when viewing models, errors and/or neglect could be more easily
recognized [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. All this facilitates the process of analysis and discussion of the system
to be developed.
      </p>
      <p>From the mapping of the user stories to SD and SR i* models, we can organize and
represent all the stories in a model that provides an overview of the stories and their
relationships. In addition, all the stories of the same actor were presented in the same
model, allowing to find them more easily. In this way, it is possible to understand the
context of the system, its main actors and their goals.</p>
      <p>Viewing through the models makes it easier to identify dependencies between user
stories and the identification of system tasks to meet each specific actor involved with
the software. Thus, it is possible to notice that the use of i* models enriches the user
stories to provide a better view (broader and general); to enable showing the
dependencies between the stories, contributing to a better understanding of the context of the
system to be developed; to provide visualization of system tasks associated with the
goals of each actor; to allow the recognition of possible errors or negligence in the
stories. Therefore, this work proposes a form of documentation of the requirements on
agile development, thus a visual artifact will be provided supplementing the user
stories allowing analysis, communication, discussion and better understanding of the
system.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Ongoing and future work</title>
      <p>
        In order to continue the research for this work a few suggestions of further work can
be cited. The development of a tool to perform the transformation of user stories the
format Mike Cohn [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] used in this work, in order to use this proposal to all user
stories. The development of a tool for the purpose of this work in order to fully
automate the mapping of user stories for i* models. The treatment of scalability for the
system actor. Identify and treat the relationships and connections between tasks in
System Actor. Furthermore, the development of guidelines to perform the mapping
back from i* models to user stories.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <article-title>Requirements Engineering Practices: An Empirical Study</article-title>
          ,
          <source>IEEE Software</source>
          , Volume:
          <volume>25</volume>
          , Issue: 1. page(s):
          <fpage>60</fpage>
          -
          <lpage>67</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>The new methodology</article-title>
          . Disponível em: &lt;http://www.martinfowler.com/articles/newMethodology.html&gt;.
          <source>Acesso em</source>
          <volume>03</volume>
          /12/
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Paetsch</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberlein</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Maurer</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>Requirements Engineering and Agile Software Development</article-title>
          ,
          <source>Proc.12th</source>
          IEEE
          <string-name>
            <surname>Int'l Workshops Enabling</surname>
          </string-name>
          <article-title>Technologies: Infrastructure for Collaborative Enterprises (WETICE 03)</article-title>
          , IEEE CS Press,
          <year>2003</year>
          , pp.
          <fpage>308</fpage>
          -
          <lpage>313</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>User Stories Applied: For Agile Software Development (The Addison-Wesley Signature Series), March</article-title>
          . Addison-Wesley
          <string-name>
            <surname>Professional</surname>
          </string-name>
          , Reading (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>O</given-names>
            <surname>'hEocha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            , &amp;
            <surname>Conboy</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          (
          <year>2010</year>
          ).
          <article-title>The role of the user story agile practice in innovation</article-title>
          . In P. Abrahamsson &amp; N. Oza (Eds.),
          <source>Lean enterprise software and systems</source>
          (pp.
          <fpage>20</fpage>
          -
          <lpage>30</lpage>
          ). New York: Springer.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Agile Software Development: The Cooperative Game</article-title>
          . Boston, Pearson.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Agile Estimating and Planning</article-title>
          . Prentice Hall,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jaqueira</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Andreotti</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lucena</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aranha</surname>
          </string-name>
          , E. Desafios de Requisitos em Métodos Ágeis:
          <article-title>Uma Revisão Sistemática 3rd WBMA</article-title>
          ,
          <string-name>
            <surname>São</surname>
            <given-names>Paulo</given-names>
          </string-name>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Sharp</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Robinson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Segal</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Furniss</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          (
          <year>2006</year>
          ) '
          <article-title>The Role of Story Cards and the Wall in XP teams: a distributed cognition perspective'</article-title>
          ,
          <source>Proceedings of Agile</source>
          <year>2006</year>
          , IEEE Computer Society Press,
          <fpage>pp65</fpage>
          -
          <lpage>75</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Bassi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Experiências com desenvolvimento ágil</article-title>
          , Dissertação de Mestrado, Universidade de São Paulo,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Highsmith</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <article-title>"Agile Software Development: The Business of Innovation,"</article-title>
          <source>Computer</source>
          , vol.
          <volume>34</volume>
          , pp.
          <fpage>120</fpage>
          -
          <lpage>122</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          “
          <article-title>Modelling Strategic Relationships for Process Reengineering”</article-title>
          .
          <source>PhD thesis</source>
          .University of Toronto, Department of Computer Science.
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. i* Wiki Home, Disponível em &lt;http://istar.rwth-aachen.de/tiki-index.
          <source>php&gt; Acesso em</source>
          <volume>10</volume>
          /08/
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Beatty</surname>
          </string-name>
          , J. e
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Visual Models for Software Requirements</article-title>
          . Washington, Microsoft Press:
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Horkoff</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>A Qualitative, Interactive Evaluation Procedure for Goal-</article-title>
          and
          <string-name>
            <given-names>AgentOriented</given-names>
            <surname>Models</surname>
          </string-name>
          . In: CAiSE Forum.
          <source>CEUR Workshop Proceedings</source>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Jaqueira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Uso de Modelos i* para Enriquecer Requisitos em Métodos Ágeis</article-title>
          . Dissertação de Mestrado. Departamento de Informática e Matemática Aplicada - UFRN. Natal (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>