<!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>
      <journal-title-group>
        <journal-title>Barcelona, Catalunya, Spain, April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>REIT-Builder: Customizable Training for Requirements Elicitation Interviews</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Roger Ian Konlog</string-name>
          <email>rkonlog@students.kennesaw.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paola Spoletini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Requirements Elicitation Interviews, Requirements Engineering Education and Training</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Gulden, A. Wohlgemuth, A. Hess</institution>
          ,
          <addr-line>S. Fricker, R. Guizzardi, J. Horkof, A. Perini, A. Susi, O. Karras, A. Moreira, F. Dalpiaz</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>In: A. Ferrari</institution>
          ,
          <addr-line>B. Penzenstadler, I. Hadar, S. Oyedeji, S. Abualhaija, A. Vogelsang, G. Deshpande, A. Rachmann, J</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Kennesaw State University</institution>
          ,
          <addr-line>Marietta, GA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>17</volume>
      <issue>2023</issue>
      <abstract>
        <p>Experiential learning and hands-on activities have been proven efective tools for teaching software engineering activities as they require a variety of diferent expertise not always efectively taught through traditional lectures. Among these activities are requirements elicitation interviews, for which studies have shown that role-playing and self- and peer-assessments can be successfully used to train students and young analysts. However, while efective, the training approaches proposed in the literature are “static” and assume that the instructor using them can allocate a fixed amount of time and human resources. On the other hand, developing personalized training is a time-consuming activity that might not result in efective programs. To overcome these limitations, we propose REIT-Builder (Requirements Elicitation Interviews Training Builder), a tool to support the development of efective training programs that are compatible with the instructor's available resources. In this tool paper, we present REIT-Builder, its architecture, the flow of interactions with the users, and the planned evaluation.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction and Motivation</title>
      <p>The use of active and experiential learning has been extensively studied and encouraged as a
teaching practice for software engineering due to its positive impact on students’ engagement,
the development of critical thinking skills, and the student’s ability to collaborate in projects [1,
2, 3, 4]. In particular, such practices can be beneficial in facilitating the learning of complex
concepts and processes, which might not be dificult in theory but cannot be easily understood
in traditional lecture settings. Active learning approaches, such as case studies, simulations,
and role-playing, can help students to better understand these concepts and apply them in
practice. This is the case in many practices in requirements engineering (RE) [5, 6] and especially
requirements elicitation interviews.</p>
      <p>Indeed, many of the factors influencing the success of interviews, such as analysts’
communication skills, cannot be efectively taught through lectures but can be acquired through
practice[7, 8]. The efectiveness of analysts in conducting interviews highly depends on their
experience and active participation in real(istic) interviews [9]. As mistakes made during the
design and execution of interview tasks can have an impact on the resulting software and
system requirements [10], learning how to perform an efective interview should be one of
the primary objectives of RE courses. Literature ofers a set of best practices to use active
learning activities [11] and some more complex training programs to learn how to conduct an
interview [12]. However, existing training might not be suitable for all specific settings given
the potential diferences in available resources (e.g., in terms of time or supporting personnel).
Thus, instructors might need to create their own training by either adapting existing ones to
their resources and needs [13] or building new ones from scratch. This could be time-consuming
as many diferent activities and customization of such activities are possible.</p>
      <p>To support instructors in developing personalized training for requirements elicitation
interviews suitable for their resources, we propose REIT-Builder (Requirements Elicitation Interviews
Training-Builder), a web application designed to provide support to instructors and trainers
while building a training suitable for their course and their educational goals. REIT-Builder is an
interactive system that allows users to create a training program to teach requirements
elicitation interviews by choosing among a set of pre-defined activities (extracted by the literature and
active and experiential learning best practices) or defining new ones. The diferent activities can
be included in a program by using existing resources (made available by REIT-Builder) or be
customized. While the user creates its training, REIT-Builder gives tips on the possible next activity
to add, keeps track of the used resources in terms of students’ and instructors’ time to check if
they are compatible with the user’s actual resources, and alerts the users when needed. The
initial version of REIT-Builder allows users to add, customize, and define activities and provides
(a limited number of) tips to guide the users. It is available at https://reit-builder.web.app/.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Overview and Implementation Details</title>
      <p>REIT-Builder1 is a web application that supports users in customizing training programs or
reusing programs developed by other users (or already stored in the tool, as for example [12]).</p>
      <p>
        1The project is available at https://github.com/IanKonlog/REIT
To enable these two functionalities, REIT-BUILDER provides a framework for (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) receiving
input parameters from the users, (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) allowing the selection of the activities to be added to the
program under development, (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) customizing and modifying activities, (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) providing tips for the
selections of the following activities and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) displaying the training programs to the user.
      </p>
      <p>To implement REIT-BUILDER, we leveraged three popular technologies: React JS [14], a
JavaScript library for creating user interfaces, Django [15], a Python web framework for
developing back-end applications, and Firebase [16], a cloud-based platform that provides back-end
services.</p>
      <p>To perform back-end operations and enable users to make requests from the front end to the
services on the back end, we created a RESTful API with Django to handle data requests and
responses between the front end and the Firebase real-time database. To return JSON data to
React, we used the Django REST framework which is a Django extension that includes tools and
utilities for creating RESTful APIs. We also used Python to create three microservices which
are the Training Builder Service (TBS), the Training Tips Service (TTS), and the Training Fetch
Service (TFS). The functions and classes are all made available to the API. Figure 1 shows an
overview of REIT-Builder.</p>
      <p>In detail, at the creation of a new training program, the user needs to provide basic information
about the new training (name, description, resources, size class). Once created, the training
program can be populated by selecting and customizing activities from the available groups
(lecture, interview, review, assessment, reflection, other). The initial set of pre-defined activities
is extracted from SaPeer and ReverseSaPeer [12] and based on active and experiential learning
best practices. Upon selecting the activity, an API call is made and routed to the TBS. This service
is responsible for adding an activity, inserting an activity, deleting an activity, storing a training
program, and requesting recommended tips from the TTS. When the service is requested, the
service checks if the activity is valid, make modifications, and fetch recommendation from the
TTS. After each activity is added and checked by the TBS, the specific activity is shown to the
user and all subsequent activities are added following the same procedure to display the pattern
of the training. The TBS saves the customized training to the database located in Firebase. This
process is accomplished by leveraging the Django Rest framework to make API calls and save
data to the database.</p>
      <p>Upon successfully saving the training into the database, a cron job in the TFS runs to get all
the training programs from Firebase and make them available to the API which is accessible by
the React application to display all existing training programs currently present in the database.
The user can always access existing training programs when navigating the web application
and see the corresponding activities for each training.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Use Cases</title>
      <p>Once arrived on the landing page (Figure 2.(a)), users can start working on their program by
clicking “get started” at the top of the page. Together with the option of creating a new program,
REIT-Builder ofers the possibility of reusing an existing training program (Figure 2.(b)). Once
selected, the program is displayed as a sequence of color-coded activities with all the necessary
information needed to execute the program (Figure 2.(c)).</p>
      <p>(a)
(b)
(c)</p>
      <p>
        If the user decides to create a new training program, the user is asked to provide (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a name for
the program, (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) a description, (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) the available time of the teaching team for this program, and
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) the number of students in the class (Figure 3.(a)). Upon successfully giving the parameters,
users are prompted with the next step to start building a custom training, where they can
select the activity they want to perform (Figure 3.(b)). During the creation of a program, the
REIT-Builder provides tips on the next activity to include or exclude and ofers guidance on the
utilization of resources (Figure 3.(c)).
      </p>
      <p>Diferent activities have diferent options and available resources. For example, when a lecture
is selected, the users have the choice between live or recorded lectures and, in the latter case,
existing resources are provided (Figure 3.(d)). In the case of interviews, users can choose between
watching an existing interview, and thus uploading a link where the interview is available
(Figure 3.(e)), or having their students perform an interview. In that case, the user needs to
customize the activities in terms of length and assigning a role to the student (Figure 3.(f)).
Analogously, the self-assessment activity allows one to either use existing resources or define
new ones (Figure 3.(g))</p>
      <p>All the available interactions between the user and REIT-Builder are represented in the use
case in Figure 4.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation Plan</title>
      <p>The current version of REIT-Builder enables users to input new training programs and view
existing ones. The system supports the users by verifying that the chosen or built program is
suitable for the size of the class and the available resources. In addition, REIT-Builder gives
recommendations on how to build the training that can guide users in the process.</p>
      <p>To evaluate the current implementation of REIT-Builder and collect data to inform its
evolution, we are planning a user study with a set of RE instructors and young professionals. The
study consists of two parts. In the first part, the focus is on evaluating the usability of the tool.
So, participants will be given a script to build a training program with specific activities and
required modifications. During their execution, we will collect traditional usability data such
as the time of execution and the number of mistakes they made. At the end of the study, we
will gather feedback from participants regarding their experience using the tool, as well as
their perceptions of the benefits and challenges associated with the approach. The focus of the
second part of the study is to evaluate the contribution of the tips and how they are perceived
by instructors. To this aim, participants will be asked to create a training that fits their class’s
and team’s needs. During the study, we will measure how often tips are followed and how many
warnings about violations of the resources REIT-Builder created, and at the end, we will collect
feedback on the perceived usefulness of the received tips and the satisfaction with respect to
the built program.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and Future Work</title>
      <p>This tool paper presents the initial implementation of REIT-Builder, a tool to support
requirements analysts in academia and industry to create efective training programs for requirements
elicitation interviews suitable for the user’s resources and needs. REIT-Builder is built using
resources and best practices from the literature. As the next steps, we plan to first expand the set
of tips that REIT-Builder is able to provide, and then evolve REIT-Builder into a recommendation
engine able to propose a customized list of training that fits the user requirements without the
need for the user to manually select activities.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work was partially supported by the National Science Foundation under grant
CCF1718377.
[6] L. P. Álvarez Reyes, B. Cuesta Quintero, Teaching based on models and transformations
under the active learning approach, Journal of Physics: Conference Series 1513 (2020).
doi:10.1088/1742- 6596/1513/1/012012.
[7] I. Hadar, P. Sofer, K. Kenzi, The role of domain knowledge in requirements elicitation
via interviews: An exploratory study, Requirements Engineering 19 (2014) 143–159.
doi:10.1007/s00766- 012- 0163- 2.
[8] D. Zowghi, C. Coulin, Requirements elicitation: A survey of techniques, approaches,
and tools, Springer Berlin Heidelberg, Berlin, Heidelberg, 2005, pp. 19–46. doi:10.1007/
3- 540- 28244- 0_2.
[9] B. Donati, A. Ferrari, P. Spoletini, S. Gnesi, Common mistakes of student analysts in
requirements elicitation interviews, in: International Working Conference on Requirements
Engineering: Foundation for Software Quality, Springer, 2017, pp. 148–164.
[10] M. G. Pitts, G. J. Browne, Improving requirements elicitation: an empirical investigation
of procedural prompts, Information systems journal 17 (2007) 89–110.
[11] M. Maher, N. Dehbozorgi, M. Dorodchi, S. Macneil, Design patterns for active learning,
Faculty Experiences in Active Learning: A Collection of Strategies for Implementing Active
Learning Across Disciplines (2020).
[12] A. Ferrari, P. Spoletini, M. Bano, D. Zowghi, Sapeer and reversesapeer: teaching
requirements elicitation interviews with role-playing and role reversal, Requirements Engineering
25 (2020) 417–438.
[13] J. Vilela, A. Ferrari, Sapeer approach for training requirements analysts: An application
tailored to a low-resource context, Springer-Verlag, 2021.
[14] Facebook, ReactJS, https://reactjs.org/, 2013. Accessed: February 18, 2023.
[15] Django Software Foundation, Django, https://www.djangoproject.com/, 2021. Accessed:</p>
      <p>February 18, 2023.
[16] Google, Firebase, https://firebase.google.com/, 2011. Accessed: February 18, 2023.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>García-Peñalvo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Alarcon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dominguez</surname>
          </string-name>
          ,
          <article-title>Active learning experiences in engineering education</article-title>
          ,
          <source>International Journal of Engineering Education</source>
          <volume>35</volume>
          (
          <year>2018</year>
          )
          <fpage>305</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>S. B. Bruce R Maxim</surname>
          </string-name>
          , Sushil Acharya,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kessentini</surname>
          </string-name>
          ,
          <article-title>Wip: Introducing active learning in a software engineering course</article-title>
          ,
          <source>in: 2017 ASEE Annual Conference &amp; Exposition</source>
          ,
          <volume>10</volume>
          .18260/1- 2-29132,
          <string-name>
            <given-names>ASEE</given-names>
            <surname>Conferences</surname>
          </string-name>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>B. R.</given-names>
            <surname>Maxim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Yackley</surname>
          </string-name>
          ,
          <article-title>Student engagement in active learning software engineering courses</article-title>
          ,
          <source>in: 2019 IEEE Frontiers in Education Conference (FIE)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1109/FIE43999.
          <year>2019</year>
          .
          <volume>9028644</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E. D.</given-names>
            <surname>Ragan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Frezza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cannell</surname>
          </string-name>
          ,
          <article-title>Product-based learning in software engineering education</article-title>
          ,
          <source>in: 2009 39th IEEE Frontiers in Education Conference</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1109/FIE.
          <year>2009</year>
          .
          <volume>5350648</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Daun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Grubb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Stenkova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Tenbergen</surname>
          </string-name>
          ,
          <article-title>A systematic literature review of requirements engineering education</article-title>
          , Requirements
          <string-name>
            <surname>Engineering</surname>
          </string-name>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>