<!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>Winterthur, Switzerland, April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Combining Requirements Engineering Techniques for the Analysis of a Legacy System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jessica Friedline</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan-Philipp Steghöfer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>XITASO GmbH</institution>
          ,
          <addr-line>Austraße 35, 86153 Augsburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>8</volume>
      <issue>2024</issue>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>[Context and Motivation] Software consultancies often analyze undocumented legacy systems that have evolved over many years. [Question/problem] The lack of documented requirements, processes, and design decisions make reverse engineering these systems for analysis or reimagination a complex task. [Principal ideas/result] We detail how we utilized various requirements engineering techniques, including the development of domain stories from system screencasts, user story mapping, and process descriptions enhanced through interviews and contextual inquiries. We followed an iterative approach, with regular stakeholder feedback to fine-tune our outputs. [Contribution] We demonstrate the efectiveness of integrating these methods in legacy system analysis, sharing insights and key takeaways derived from our approach.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Legacy systems</kwd>
        <kwd>Re-engineering</kwd>
        <kwd>Domain Storytelling</kwd>
        <kwd>User Story Mapping</kwd>
        <kwd>Contextual Inquiry</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Legacy systems encapsulate critical business processes, making their replacement a complex
task [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Requirements engineering plays a crucial role in documenting these systems for
transformations or to maintain existing functionalities [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. There is some related work on
extracting requirements from legacy systems: some studies explore reverse engineering [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ],
one study uses observations of the running system and user interactions [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and another one
uses process mining based on source code analysis [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. However, these papers provide little
practical guidance that can be applied across a range of scenarios.
      </p>
      <p>
        In this report, we detail our methodology for analysing a legacy system. Combining varied
data collection and analysis techniques, the methodology caters to diverse stakeholder needs. For
data collection we employed document analysis, screencasts, interviews, and field observations
(see Section 4). To analyze this data we utilized domain storytelling [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], user story mapping [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
and process modeling (see Section 5). We describe how we combined these techniques to create
a full picture of the legacy system that is accessible to technical and non-technical stakeholders
and which lessons we learned during the project (see Section 6). Our approach most closely
resembles Liu et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] as it relies on observation and modelling, but uses diferent data collection
and analysis methods and is arguably more pragmatic.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Case Description</title>
      <p>Our client contracted us to document a decade-old legacy system crucial for constructing and
validating machinery. The system is actively used by several hundred employees across various
departments and involves significant investments. It is built on top of a database management
system and uses the built-in user interface features to provide a series of forms for data entry
and review. Despite functioning adequately, the system’s sparse documentation and lack of IT
department oversight posed risks, particularly because it supports critical business processes
and serves as an information hub.</p>
      <p>The client requested that we produce a number of documents to serve as the foundation for a
decision about the system’s future:
• Software architecture and design documentation detailing the structure of the system,
its components, interfaces to other systems, and implementation choices.
• Requirements specifications that capture the most important high-level requirements
the system currently fulfills.
• Process descriptions that detail the important business processes the system supports.
• Future needs that describe which features and changes need to be implemented to
address upcoming requirements and technical needs.</p>
      <p>
        For this consultancy commission, our team consisted of two analysts and a project owner,
with the latter primarily focusing on project management tasks. To initiate the analysis, the
client supplied us with roughly 100 documents comprising system presentations, data sharing
agreements, a developer-answered IT questionnaire, prior process analysis attempts, and a
screencast of a system demo given by one of its developers. Our client also gave us access to
the developers and some users of the system. However, due to security concerns, our client did
not share the source code, limiting our ability to create detailed technical documentation and
utilize automated analysis methods [
        <xref ref-type="bibr" rid="ref4 ref6">6, 4</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Iterative Approach</title>
      <p>We followed an iterative-incremental approach from the outset: During an initial kick-of
meeting with the system developers, their manager, and IT representatives, we outlined our
understanding of the tasks and our proposed workflow. Their feedback and the discussions
allowed us to refine our approach, particularly regarding the documents we needed to produce.
An overview of our approach is illustrated in Figure 1.</p>
      <p>The client emphasized the need for regular updates. An online Kanban board was set up to
track the progress, with epics for architecture, design, requirements, process, and future needs,
and stories for each of the requested documents. Wiki pages were created for each deliverable
and regularly updated to keep the customer informed of our ongoing analysis. We scheduled</p>
      <sec id="sec-3-1">
        <title>Project Phase</title>
        <sec id="sec-3-1-1">
          <title>Inception</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Project</title>
      </sec>
      <sec id="sec-3-3">
        <title>Mgmt.</title>
        <sec id="sec-3-3-1">
          <title>Document Analysis</title>
        </sec>
        <sec id="sec-3-3-2">
          <title>Contextual inquiry</title>
        </sec>
        <sec id="sec-3-3-3">
          <title>Video Analysis</title>
        </sec>
        <sec id="sec-3-3-4">
          <title>Exploration</title>
        </sec>
        <sec id="sec-3-3-5">
          <title>Refinement</title>
        </sec>
        <sec id="sec-3-3-6">
          <title>Delivery</title>
          <p>Set-up</p>
        </sec>
        <sec id="sec-3-3-7">
          <title>Kanban Board</title>
        </sec>
        <sec id="sec-3-3-8">
          <title>Backlock</title>
        </sec>
        <sec id="sec-3-3-9">
          <title>Grooming</title>
        </sec>
        <sec id="sec-3-3-10">
          <title>Backlock</title>
        </sec>
        <sec id="sec-3-3-11">
          <title>Grooming</title>
        </sec>
        <sec id="sec-3-3-12">
          <title>Final</title>
        </sec>
        <sec id="sec-3-3-13">
          <title>Presentation</title>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>Data Collection</title>
        <sec id="sec-3-4-1">
          <title>Interviews</title>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Data Analysis</title>
        <sec id="sec-3-5-1">
          <title>User Story Mapping</title>
          <p>working artefacts
basis for</p>
        </sec>
        <sec id="sec-3-5-2">
          <title>Domain Storytelling</title>
        </sec>
        <sec id="sec-3-5-3">
          <title>Process Anaylsis</title>
        </sec>
        <sec id="sec-3-5-4">
          <title>Domain Model</title>
        </sec>
        <sec id="sec-3-5-5">
          <title>Domain Stories</title>
        </sec>
        <sec id="sec-3-5-6">
          <title>BPMN Processes</title>
        </sec>
        <sec id="sec-3-5-7">
          <title>Roles and views</title>
        </sec>
        <sec id="sec-3-5-8">
          <title>Interfaces</title>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>Artefacts</title>
        <sec id="sec-3-6-1">
          <title>User Journey/Story Maps</title>
        </sec>
        <sec id="sec-3-6-2">
          <title>Future</title>
        </sec>
        <sec id="sec-3-6-3">
          <title>Feature</title>
        </sec>
        <sec id="sec-3-6-4">
          <title>Backlog</title>
          <p>regular semi-structured interviews with the two developers, using their feedback for refinement.
We also conducted an on-site visit for contextual inquiry where we were able to validate the
most important business processes and observe how end-users of the system interacted with
it. Backlog grooming meetings with IT representatives helped refine the scope, document the
decisions and further clarified the scope of the final delivery. The project concluded with a final
presentation of our results, where we received our sign-of.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Data Collection Methods</title>
      <p>4.1. Document Analysis
1–8
We initiated our document analysis by evaluating around 100 documents supplied by the client
and categorizing them by utility. We found that around 38% were email archives discussing
project management. Around 20% were Microsoft Word documents, about half of which were
useful, because they contained data sharing agreements or meeting summaries, while the rest
was mostly concerned with project management. Microsoft PowerPoint presentations made
up 18% of the documents, which included both project management content (e.g., stafing) and
some relevant information, e.g., about the overall IT architecture. 12% were PDF files, largely
duplicative or unrelated. Excel spreadsheets accounted for 7% and contained partial results of a
previous analysis attempt and were disregarded on request of the customer.</p>
      <p>
        The number of useful documents came to 25 which two analysts could analyse in a reasonably
short time. Their content was mostly unstructured so that typical automated approaches, e.g.,
using natural language processing (see, e.g., [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]) were not useful. Instead, we manually extracted
the information that was deemed relevant in short summaries to a shared document.
4.2. Video analysis
The standout document was a 90-minute screencast which ofered comprehensive insights
into the system. The developer systematically demonstrated most of the system’s relevant
functionality and explicitly discussed the diferences in how the unique roles interacted with
the system. The developer used domain terms to discuss many aspects and the discussion did
not dive deeply into implementation details, with the exception of a discussion how the system
retrieves information from the company’s LDAP server.
      </p>
      <p>
        The demonstration made it possible for us to start systematizing the information with a focus
on the involved roles, the role-specific views, and processes the system supports. We captured
this information in domain story diagrams (see Section 5.1), highlighting role-specific system
access which informed our initial business process drafts. We started sketching a domain model
to capture the vocabulary and the relationships between the concepts of the domain. Although
incomplete, this model was useful in the exploratory phase of our research.
4.3. Interviews
Productive semi-structured interviews with the developers became the main driver of our
interative-incremental production of artifacts. Document and video analysis allowed us to
quickly produce draft versions of the required artifacts, in particular of the domain stories.
These drafts were then validated and refined based on the interviews, usually when we had
completed another chunk of analysis we wanted to discuss. In many cases, we had specific
questions that we wanted to discuss. Live editing of these drafts during the interviews proved
to be particularly helpful: The interviewees could directly comment on the changes one analyst
made while the other analyst conducted the interview.
4.4. Contextual Inquiry
Through Contextual inquiry we were able to witness users in their normal work environments,
revealing crucial functional details about how the system is used to complete the diferent
workflows of the users [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. In particular, we were able to we enhance and validate the domain
stories and user story maps during our visit. Across departments and in the spaces where
complex machinery is assembled and tested, we were able to watch some of the power users
of the system interact with it to complete their tasks, which also allowed us to discover the
tools which are used to complement the software and bridge gaps within its functionality:
Some communication vital for the processes was in part documented elsewhere, for example,
including the availability of test beds for the assembled machines, which was mostly organized
by phone and documented by one department head in a custom spread sheet which supported
this task with a number of macros.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Data Analysis Methods</title>
      <p>
        5.1. Domain Story Telling
Domain storytelling [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] played a significant role in our reasearch: From the perspective of
the business domain, key aspects of a system are described in a structured and visual way,
using easy to understand graphs and narrative descriptions of processes, roles/actors, and their
interactions with diferent subdomains. We mapped out the various functions and screens of the
software as areas with which the diferent users/roles interacted and described their interactions
with narrative labels on graphs, which point from the actor to the area of interest and are also
numbered to show the sequence. The domain stories resonated with our customer and the
interviewees because they are easy to understand, written in natural language, and use the
domain appropriate wording. This enabled us to eficiently verify our understanding of the
diferent business processes and how the software supports them.
5.2. User Story Mapping
User story mapping [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], enriched with aspects of user journey mapping [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], helped construct
a narrative of user experiences, external and internal points of software interaction, and the
sequential flow crucial for comprehensive system understanding. This greatly helped in
preparing for our user interviews and contextual inquiries, and in our understanding of the software.
The final artefact also included screenshots from the software and thus provided our customer
with an in-depth understanding of the look and feel of the software and the steps needed to
fulfill the most important tasks.
5.3. Process Modelling
We represented business processes using BPMN, drawing on our domain stories as a source.
BPMN diagrams make it easier to model case distinctions than domain stories and we made
extensive use of BPMN messaging events to model the communication pathways between the
roles. However, they proved less intuitive for stakeholder feedback compared to domain stories.
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Discussion</title>
      <p>
        During our experience, we made a number of observations which are supported by existing
literature. Among them are that management-oriented documents often lack the granular
information required for technical analysis [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and that an iterative-incremental approach with
easy-to-understand artifacts enhances eficiency and transparency, building stakeholder trust.
The latter is a common tenet in agile software engineering. However, we also found aspects that
are not reported in literature and present unique lessons learned about requirements analysis
for legacy systems and the usefulness of artifact redundancy in client communication and
information capture.
      </p>
      <p>
        Screencasts as a source for requirements: The screencast proved to be a valuable tool in
reconstructing requirements, complementing the existing knowledge on how videos enhance
requirements engineering practices [
        <xref ref-type="bibr" rid="ref13 ref14 ref15">13, 14, 15</xref>
        ].
      </p>
      <p>Observation: To the best of our knowledge, the current body of work does not address using
analysis of system-screencasts to reconstruct requirements and domain information.</p>
      <p>Lesson Learned: The screencast proved valuable in all phases of our analysis, enabling
us to revisit specific topics to discover details and answer questions that arose with a deeper
understanding of the system over time.</p>
      <p>
        Contextual inquiry as a powerful tool: Contextual inquiry provided a full view of user
workflows and software limitations, proving critical for understanding complex systems where
interviews may miss nuanced workflow elements [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>Observation: We discovered that gaps in our understanding often aligned with corresponding
gaps in the software’s functionality.</p>
      <p>Lesson Learned: Contextual inquiry is essential in legacy software analysis to comprehend
entire workflows and identify software functionality gaps.</p>
      <p>
        Redundancies in produced artifacts: We were initially reluctant to add artifacts that
capture similar information. In particular, the client’s request to create BPMN diagrams to
depict the business processes seemed to replicate the domain stories we had already created. In
general, redundant information is frowned upon in software engineering [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] since it introduces
issues with maintainability and consistency. However, in the analysis of legacy systems, the
need to keep artifacts consistent over time is less pronounced.
      </p>
      <p>Observation: Artifact redundancy was beneficial. Domain stories, BPMN diagrams, and
user story maps each provided unique insights despite overlapping information, catering to
diferent stakeholder needs and purposes.</p>
      <p>Lesson Learned: Selecting purpose-specific artifacts adds value to both the analysis process
and stakeholder understanding for legacy systems.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion</title>
      <p>In this short paper, we discuss our preliminary results of combining diferent requirements
engineering techniques, including interviews, contextual inquiry, domain storytelling, and user
story mapping, in the analysis of a legacy software system. Our lessons learned include the
benefits of screencasts of the system in action, understanding when in the analysis contextual
inquiry is valuable, and realizing the utility of redundant artifacts in analyzing legacy systems.
We believe our experiences will be useful to practitioners that are faced with a similar tasks and
researchers interested in sharpening the tools at the disposal of requirements engineers in the
ifeld. As future work, we are going to extend our analysis and combine our preliminary results
with lessons learned from a second case in which we employed the same iterative approach.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Matthiesen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bjørn</surname>
          </string-name>
          ,
          <article-title>Why replacing legacy systems is so hard in global software development: An information infrastructure perspective</article-title>
          ,
          <source>in: 18th ACM Conf. on Computersupported Cooperative Work &amp; Social Computing</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>876</fpage>
          -
          <lpage>890</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Alexandrova</surname>
          </string-name>
          , L. Rapanotti,
          <article-title>Requirements analysis gamification in legacy system replacement projects</article-title>
          ,
          <source>Requirements Engineering</source>
          <volume>25</volume>
          (
          <year>2020</year>
          )
          <fpage>131</fpage>
          -
          <lpage>151</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Fahmi</surname>
          </string-name>
          , H.
          <article-title>-</article-title>
          <string-name>
            <surname>J. Choi</surname>
          </string-name>
          , Software reverse engineering to requirements,
          <source>in: Int. Conf. on Convergence Information Technology (ICCIT</source>
          <year>2007</year>
          ), IEEE,
          <year>2007</year>
          , pp.
          <fpage>2199</fpage>
          -
          <lpage>2204</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hassan</surname>
          </string-name>
          , U. Qamar,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hassan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Waqas</surname>
          </string-name>
          ,
          <article-title>Software reverse engineering to requirement engineering for evolution of legacy system</article-title>
          ,
          <source>in: 2015 5th Int. Conf. on IT Convergence and Security (ICITCS)</source>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>K.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Alderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Qureshi</surname>
          </string-name>
          ,
          <article-title>Requirements recovery from legacy systems by analysing and modelling behaviour</article-title>
          ,
          <source>in: IEEE Int. Conf. on Software Maintenance (ICSM'99)</source>
          , IEEE,
          <year>1999</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Kalsing</surname>
          </string-name>
          , G. S. do Nascimento,
          <string-name>
            <given-names>C.</given-names>
            <surname>Iochpe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. H.</given-names>
            <surname>Thom</surname>
          </string-name>
          ,
          <article-title>An incremental process mining approach to extract knowledge from legacy systems</article-title>
          ,
          <source>in: 14th IEEE Int. Enterprise Distributed Object Computing Conference</source>
          , IEEE,
          <year>2010</year>
          , pp.
          <fpage>79</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schwentner</surname>
          </string-name>
          , Domain Storytelling:
          <article-title>A Collaborative, Visual, and Agile Way to Build Domain-Driven Software, Pearson Education</article-title>
          , Limited,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Milicic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Perdikakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Kadiri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kiritsis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Ivanov</surname>
          </string-name>
          ,
          <article-title>Towards the definition of domain concepts and knowledge through the application of the user story mapping method</article-title>
          ,
          <source>in: IFIP Int. Conf. on Product Lifecycle Management</source>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>58</fpage>
          -
          <lpage>69</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Alhoshan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Letsholo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Ajagbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.-V.</given-names>
            <surname>Chioasca</surname>
          </string-name>
          , R. T. BatistaNavarro,
          <article-title>Natural language processing for requirements engineering: A systematic mapping study</article-title>
          ,
          <source>ACM Comput. Surv</source>
          .
          <volume>54</volume>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>P. M. Bednar</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Welch</surname>
          </string-name>
          ,
          <article-title>Contextual inquiry and requirements shaping</article-title>
          ,
          <source>in: Information Systems Development</source>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>225</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Endmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Keßner</surname>
          </string-name>
          ,
          <article-title>User journey mapping-a method in user experience design, i-com 15 (</article-title>
          <year>2016</year>
          )
          <fpage>105</fpage>
          -
          <lpage>110</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>I. John</surname>
          </string-name>
          , J. Dörr,
          <article-title>Elicitation of requirements from user documentation</article-title>
          ,
          <source>in: 9th Int. Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ)</source>
          , volume
          <volume>3</volume>
          ,
          <year>2003</year>
          , p.
          <fpage>10</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Fricker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fotrousi</surname>
          </string-name>
          , C. Thuemmler, Workshop videos for requirements communication,
          <source>Requirements Engineering</source>
          <volume>21</volume>
          (
          <year>2016</year>
          )
          <fpage>521</fpage>
          -
          <lpage>552</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jirotka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Luf</surname>
          </string-name>
          ,
          <article-title>Supporting requirements with video-based analysis</article-title>
          ,
          <source>IEEE Software 23</source>
          (
          <year>2006</year>
          )
          <fpage>42</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>N.</given-names>
            <surname>Banovic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Grossman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Matejka</surname>
          </string-name>
          , G. Fitzmaurice,
          <article-title>Waken: reverse engineering usage information and interface structure from software videos</article-title>
          ,
          <source>in: 25th Annual ACM Symposium on User Interface Software and Technology</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>E.</given-names>
            <surname>Aghajani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nagy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Linares-Vásquez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Moreno</surname>
          </string-name>
          , G. Bavota,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Shepherd</surname>
          </string-name>
          ,
          <article-title>Software documentation: the practitioners' perspective</article-title>
          , in
          <source>: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>590</fpage>
          -
          <lpage>601</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>