<!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>Generation of Multiple Conceptual Models from User Stories in Agile</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Abhimanyu Gupta Ghent University Gent</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <abstract>
        <p>While agile methodologies are commonly used in software development, researchers have identified many issues related to the requirements elicitation in agile projects. Some of these issues relate to documentation and more specifically the development, maintenance, and management of user stories. This research addresses some of the user stories challenges by proposing use of conceptual models while development of user stories. Conceptual models are visual representations that are commonly used for understanding the domain of business functions and communicating with the stakeholders. The research considers development of such conceptual models automatically (with the help of a tool) while user stories are developed. Such conceptual models can provide rich perspectives of the domain from multiple views (e.g. structural and dynamic). A detailed research plan has been developed to conduct this research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In Agile software development processes, the software requirements documentation is limited to the
creation of user stories [1]. The user stories are simple description of a feature of the working software written
from the user’s perspective [2, 3].</p>
      <p>Because of the substantial number of user stories that are developed in an Agile software development
project, the Agile team finds difficulty in maintaining, tracing, and managing the user stories [4]. Even for
moderately complex software, the number of user stories easily exceeds human capacity of overview and
understanding. To alleviate this problem, we suggest using a tool to automatically generate conceptual
models in the process of developing user stories. Conceptual models are visual representations that are
commonly used for understanding the domain of business functions and communicating with the
stakeholders [5].</p>
      <sec id="sec-1-1">
        <title>Research Problem</title>
        <p>There has been limited research in developing conceptual models automatically from user stories. For
example, Mesquita et al. [6] automatically extracted goal models (in i* language) from user stories. Robeer et
al. [7] built a tool that automatically generates an ontological model of the domain (in OWL ontology) from
user stories. And Lucassen et al. ([8]) developed a visual narrator tool to visually show concepts and
relationships extracted from user stories. However, each of these tools have targeted only one type of
conceptual model.</p>
        <p>What is currently missing in the state-of-the-art is the automated generation of conceptual models that
show both the functional (de)composition of the domain (i.e. the process view) and the domain concepts
and the relationships (i.e. the object view). Moreover, the tools have focused on the standard structure of
user stories structure which is: As a &lt;type of user&gt;, I want &lt;some goal&gt; so that &lt;some reason&gt;.</p>
        <p>In this paper, we extend the current research by extracting multiple conceptual models from user stories.
Multiple conceptual models provide rich perspectives of the domain from multiple views (e.g. structural
perspective and dynamic perspective of a domain) [9]. We achieve this by adding acceptance criteria to the
standard template of user stories which allows us extraction of multiple conceptual models from the user
stories. Acceptance criteria are the performance or other metrics that define the acceptable functionality
of a story [3]. The conceptual models that are developed by our tool are: ER diagram, BPMN process model,
UML State Machine model, and UML Use Case model.
1.2</p>
      </sec>
      <sec id="sec-1-2">
        <title>Relevance</title>
        <p>While use of conceptual models is popular in the industry, there is also a growing evidence of use of
multiple conceptual models simultaneously. Surveys conducted on the use of multiple conceptual models
indicate that practitioners indeed use more than one conceptual model for different types of tasks [13-15].
Recker [10] found that process modelers access additional grammars when modeling business processes.
Similarly, Green et al. [16] found that a significant percentage of analysts use multiple conceptual models
when performing requirements analysis tasks. Dobing and Parsons [14] mentioned that 90% of UML users
employ at least two different UML grammars in at least one-third of their projects.</p>
        <p>The reason why practitioners use multiple interrelated conceptual models is because information systems
are getting more complex and interrelated models can be used to represent different aspects of the system
[9]. Empirical studies on multiple conceptual models [11, 12] suggest using multiple models results in better
performance than using a single model. Kim et al. [11] mention that complex IS should be represented using
multiple interrelated conceptual models.</p>
        <p>Research also investigated on why analysts use multiple conceptual models. Jabbari et al. [9] mention
that multiple models are used to obtain multiple perspectives of the systems. Recker et al. [10] suggest using
multiple conceptual models as no one model is a complete representation of a domain as no single available
grammar is ontologically complete. Most grammars have been developed keeping in mind modeling a
realworld phenomenon.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Research Plan</title>
      <sec id="sec-2-1">
        <title>The research methodology will be implemented using the following stages:</title>
        <p>Stage 1. In agile development, where there is less focus on documentation, it will be unrealistic to expect
that users will develop and maintain the conceptual models in the process of creating the user stories.
Therefore, a new prototype tool will be developed that will automatically create and update conceptual
models when user stories are fed to it. The objective of the prototype will be to demonstrate the feasibility
of creation of such tool. Once the prototype tool is developed, a validation of the tool in terms of feasibility
and accuracy will be performed using a case study.</p>
        <p>
          Stage 2. To test the recommendation that conceptual models can be helpful for developing user stories, a
laboratory study will be done with real users as subjects. Subjects will be asked to extend and develop a set
of user stories from a specific set of existing user stories. A Factorial Design of Experiment study will be
used where a group of subjects will have access to the conceptual models (related to the domain) and
another group of subjects will not have any access to these models. An eye tracking device will be used to
identify: (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) whether the conceptual models that are provided to one set of users are indeed being referred
to develop the user stories, (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) if these models are used then which specific parts of the models are referred
to, (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) between the two groups, whether there is a difference in the pattern of using the existing user stories.
2.1
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Proposed Solution</title>
        <p>We include the acceptance criteria based on Behavior-Driven Development (BDD), which is a set of
software engineering practices designed to develop high quality software faster [17], in the standard user story
template, as used in practice. It is based on agile practices followed in test driven development and domain
driven design and provides a common language based on simple structured English that facilitates
communication between project team members and business stakeholders [18]. The BDD scenario consists of a
feature title, an associated user story and scenarios where each scenario is defined by three keywords –
Given, When, and Then [3]. Given describes context, when specifies actions or events and then states
expected outcomes of the performed actions. Following (Figure 2) is the BDD scenario template recommended
by the agile community [18].</p>
      </sec>
      <sec id="sec-2-3">
        <title>Feature: [title]</title>
        <p>As [role] I want [feature] So that [benefit]
Scenario: [title]</p>
        <p>Given [context] And [some more context]
When [some event occurs] And [some other event]</p>
        <p>Then [outcome] And [some other outcome]</p>
        <p>As user stories are written in the context of users performing a certain task, therefore we base our
construct in terms of agents. We develop an agent-based framework in three steps. First, we identify a set of
basic constructs from an agent’s perspective. Second, we identify the relationships that exist among these
constructs. Third, we support the concepts and their relationships from the literature. These concepts and
their relationships will provide theoretical framework for the algorithm.</p>
        <p>To provide an overall view of the concepts and their relationships we depict the concepts and their
relationships in a visual model represented in Entity-Relationship Diagram. We use the ER notation because it
is widely familiar, simple, and often used in information systems analysis and design.
Our approach here is to not involve the users to focus on the models that are created rather focus on writing
and maintaining the user stories in certain way so that the models are output of the user stories. In fact,
users are not even aware what types of models can be created using the user stories. Our approach is based
on the premise that users (e.g. business analysts) do not have additional time to learn and create conceptual
models and they should rather focus on creating and maintaining the user stories properly.
We would like to develop interrelated models that complement each other in terms of representing
different aspects of the domain. Booch, Rumbaugh, and Jacobson [19] provide a basic classification of conceptual
models- behavioral and structural models. These two types reflect the dynamic and static nature of the
systems respectively. From the user stories, we will develop conceptual models that are both behavioral
and structural models. Table 2 shows the list of these conceptual models.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Research Method</title>
        <p>
          The objective of the research tool is to convert the knowledge contained in a set of user stories and
corresponding acceptance criteria to various conceptual models. An Agent-Action framework is applied on the
user stories to identify the agents, actions, objects. Then the relationships, dependencies and transitions are
identified from the information available in the acceptance criteria. Finally, the four (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) types of diagrams
are drawn.
        </p>
        <p>
          Following are the steps involved in creating the conceptual models. The procedure starts by defining the
valid indicators and splitting the user stories and their acceptance criteria in six (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) segments – Who, What,
Why, Precondition, Action and Postcondition. After this step, the parts of speeches of all the words
appearing in those six segments are identified. Then the identification of various components like agent,
object, action, concept(s) of precondition, state of precondition, concept of postcondition and state of
postcondition are completed and all information are stored into an intermediate table.
        </p>
        <p>A thorough reconciliation takes place to ensure that all components are present in all user stories and
their acceptance criteria. If components are not present, then they are populated from appropriate
components of the previous user story. After this, the intermediate table is generated as one of the outputs of this
algorithm. Then, using the intermediate table, the Entity-Relationship Diagrams, BPMN Diagram, Finite
State Machine Diagrams and Use Case Diagrams are drawn. Note, there can be more than one FSM
Diagrams generated depending on the nature of the user stories.</p>
        <p>Eye tracking offers a window into how individuals read and scan information that is displayed to them
[20]. Eye movements provide a valid measure of distribution of attention. By relating eye movements with
tasks, one can obtain a picture of the decision-making process. A common eye movement metric is eye
fixation that is often measured with respect to time or count [21]. Eye tracking metrics such as fixation
duration can be used to identify which parts of the conceptual models’ users are referring to while
developing the user stories. Eye tracking devices also allow counting how many times the models have been
accessed to and in what sequence. Fixation duration on overall conceptual models and specific parts of the
model will provide insights on how the conceptual models have been used. Comparative fixation duration
analysis between the two groups on existing user stories will throw light on the pattern of user stories usage.
2.4</p>
      </sec>
      <sec id="sec-2-5">
        <title>Progress</title>
        <p>
          A prototype tool has been developed that automatically creates and updates conceptual models. Python
text analytics (NLTK) has been used to create the tool that takes user stories with acceptance criteria as
inputs and the intermediate table and the four (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) conceptual models as output. Table 3 below represents a
sample set of user story and Fig 2 and Fig 3 represents the corresponding conceptual models as outputs of
the proposed algorithm.
        </p>
        <p>Currently a case study is being performed to validate feasibility and accuracy of the proposed algorithm
of creating multiple conceptual models. After the validation phase, a laboratory study of the conceptual
models using eye tracking is planned in 2019. As part of the laboratory study, a set of user stories will be
first shared with the subjects of the study and then they will be asked to write user stories (and acceptance
criteria) for a set of new functions. An objective set of scoring rules will be developed and used to assess the
quality of user stories written by the subjects and then a Factorial Design of Experiment will be performed
where different participants will be aided with different combinations of conceptual models. An eye
tracking metrics such as fixation duration will be used to determine how conceptual models are used by the
subjects. Lastly, A statistical analysis will be performed on the collected data to determine which conceptual
models have significant contributions in shared understanding.</p>
        <p>As a customer, I want to create a service request so that I can have my
problem solved. Given that the customer is active, when he submits a
service request then the service request should be submitted.</p>
        <p>As a support assistant, I want to accept so that I can start working on it.</p>
        <p>Given it is submitted, when the team starts working on it then it is open.</p>
        <p>As a support assistant, I need to resolve so that the customer can close the
ticket. Given a service request is open, when the team resolves it, then it is
fixed.</p>
        <p>As a customer, I need to approve the service request so that it can be closed.</p>
        <p>Given a service request is fixed, when I approve it, then the service request
becomes closed.</p>
        <p>As a customer, I need to reject the service request so that it can be
reopened. Given a service request is fixed, when I reject it, then the service
request is open.</p>
        <p>As a customer, I want to cancel a service request so that the team can focus
on other active requests. Given a service request is submitted or closed
when customer cancels it then it will be canceled.
8. Lucassen, G., et al. Visualizing User Story Reqts at Multiple Granularity Levels via Semantic Relatedness.</p>
        <p>
          International Conference on Conceptual Modeling 2016.
9. Jabbari, S., A. Mohammad, and J. Recker, Combined use of conceptual models in practice: An exploratory
study. Journal of Database Mgt., 2017. 28(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ): p. 56-88.
10. Recker, J., et al., The Ontological Deficiencies of Process Modeling in Practice. European Journal of
        </p>
        <p>
          Information Systems, 2010. 19(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ): p. 201-525.
11. Kim, J., J. Hahn, and H. Hahn, How do we understand a system with (so) many diagrams? Cognitive
integration processes in diagrammatic reasoning. Information Systems Research, 2000. 11(
          <xref ref-type="bibr" rid="ref3">3</xref>
          ): p. 284-303.
12. Siau, K. and L. Lee, Are Use Case and Class Diagrams Complementary in Requirements Analysis?
An Experimental Study on Use Case and Class Diagrams in UML. Requirements Engineering, 2004.
9(
          <xref ref-type="bibr" rid="ref4">4</xref>
          ): p. 229-237.
13. Davies, I., et al., How do practitioners use conceptual modeling in practice? Data and Knowledge
        </p>
        <p>
          Engineering, 2006. 58(
          <xref ref-type="bibr" rid="ref3">3</xref>
          ): p. 358-380
14. Dobing, B. &amp; J. Parsons, How UML is used. Comm. ACM, 2006. 49(
          <xref ref-type="bibr" rid="ref5">5</xref>
          ): p. 109-113.
15. Fettke, P., How Conceptual Modeling Is Used. CAIS, 2009. 25(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ): p. 571-592.
16. Green, P. and M. Rosemann, Integrated Process Modeling: An ontological evaluation. Information
        </p>
        <p>
          Systems, 2000. 25(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ): p. 73-87.
17. Matula, J. and F. Hunka, Enterprise Ontology-Driven Development , in Enterprise and
Organizational Modeling and Simulation, Lecture Notes in Business Information Processing , Pergl. R.,
et al., Editors. 2018, Springer.
18. Smart, J.F., BDD in action: Behavior-Driven development for the whole software lifecycle . Vol. 3.
        </p>
        <p>2014, New York: Manning Publications Company.
19. Booch, G., J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide . 2 ed. 2005,</p>
        <p>Upper Saddle River, New Jersey: Addison-Wesley.
20. Rayner, K., Eye movements in reading and information processing: 20 years of research.</p>
        <p>
          Psychological Bulletin, 1998. 124(
          <xref ref-type="bibr" rid="ref3">3</xref>
          ): p. 372-422.
21. Sharif, B. &amp; J. Maletic. An eye tracking study on the effects of layout in understanding the role of
design patterns . in IEEE Int. Conf. on SW Maint . 2010.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Inayat</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , et al.,
          <article-title>Review: A systematic literature review on agile requirements engineering practices and challenges</article-title>
          .
          <source>Computers in Human Behavior</source>
          ,
          <year>2015</year>
          .
          <volume>51</volume>
          (
          <string-name>
            <surname>Part</surname>
            <given-names>B</given-names>
          </string-name>
          ): p.
          <fpage>915</fpage>
          -
          <lpage>929</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Leffingwell</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , Agile Software Requirements:
          <article-title>lean requirements practices for teams, programs, and the enterprise</article-title>
          .
          <source>Agile Software Development Series</source>
          .
          <year>2011</year>
          , Boston: Addision-Wesley.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cohn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <source>User Stories Applied: For Agile Software Development</source>
          .
          <year>2004</year>
          , Boston: Addison-Wesley.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>C. Lan</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Baskerville</surname>
          </string-name>
          ,
          <article-title>Agile requirements engineering practices and challenges: an empirical study</article-title>
          .
          <source>Inf. Systems Journal</source>
          ,
          <year>2010</year>
          .
          <volume>20</volume>
          (
          <issue>5</issue>
          ): p.
          <fpage>449</fpage>
          -
          <lpage>480</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Wand</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <source>Information Systems and Conceptual Modeling: A Research Agenda. Information Systems Research</source>
          ,
          <year>2002</year>
          .
          <volume>13</volume>
          (
          <issue>4</issue>
          ): p.
          <fpage>363</fpage>
          -
          <lpage>376</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mesquita</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , et al.
          <article-title>US2StarTool: generation i* models from user stories</article-title>
          .
          <source>in International i* Workshop (iStar)</source>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Robeer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.
          <article-title>Automated extraction of conceptual models from user stories via NLP</article-title>
          . in 24th IEEE International Requirements Engineering Conference,
          <year>2016</year>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>