<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2019.72001</article-id><article-id pub-id-type="publisher-id">JCC-90250</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Metamodel for Agile Requirements Engineering
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Eva-Maria</surname><given-names>Schön</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jorge</surname><given-names>Sedeño</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Manuel</surname><given-names>Mejías</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Jörg</surname><given-names>Thomaschewski</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>María</surname><given-names>José Escalona</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Computer Languages and Systems, University of Seville, Seville, Spain</addr-line></aff><aff id="aff2"><addr-line>Faculty of Technology, University of Applied Sciences Emden/Leer, Emden, Germany</addr-line></aff><pub-date pub-type="epub"><day>29</day><month>01</month><year>2019</year></pub-date><volume>07</volume><issue>02</issue><fpage>1</fpage><lpage>22</lpage><history><date date-type="received"><day>24,</day>	<month>October</month>	<year>2018</year></date><date date-type="rev-recd"><day>26,</day>	<month>January</month>	<year>2019</year>	</date><date date-type="accepted"><day>29,</day>	<month>January</month>	<year>2019</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Value delivery is becoming an important asset for an organization due to increasing competition in industry. Therefore, companies apply Agile Software Development (ASD) to be more competitive and reduce time to market. Using ASD for the development of systems implies that established approaches of Requirements Engineering (RE) undergo some changes in order to be more flexible to changing requirements. To this end, the field of agile RE is emergent and different process models for agile RE have arisen. The aim of this paper is to build an abstract layer about the variety of existing process models by means of a metamodel for agile RE. It has been created in several iterations and relies on the evaluation of related process models. Furthermore, we have derived process models for agile RE in industry by presenting instances of the metamodel in two different cases: one is based on Scrum whereas the other is based on Kanban. This paper contributes to the software development body of knowledge by delivering a metamodel for agile RE that supports researchers and practitioners modeling and improving their own process models. We can conclude that the agile RE metamodel is highly relevant for the industry as well as for the research community, since we have derived it following empirical research in the field of ASD.
 
</p></abstract><kwd-group><kwd>Agile Software Development</kwd><kwd> Requirements Engineering</kwd><kwd> Human-Centered Design</kwd><kwd> Metamodel</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Agile Software Development (ASD) is commonly used in environments where people have to solve complex adaptive problems. Agile methodologies (e.g. Scrum [<xref ref-type="bibr" rid="scirp.90250-ref1">1</xref>] , Kanban [<xref ref-type="bibr" rid="scirp.90250-ref2">2</xref>] or Extreme Programming (XP) [<xref ref-type="bibr" rid="scirp.90250-ref3">3</xref>] ) are often combined with Human-Centered Design (HCD) activities [<xref ref-type="bibr" rid="scirp.90250-ref4">4</xref>] when applying them in industry. One objective of this integration of methodologies is to evolve to a value-driven organization where systems can be developed to fulfil user needs by offering a positive User Experience (UX) [<xref ref-type="bibr" rid="scirp.90250-ref5">5</xref>] .</p><p>Focusing on value delivery becomes an emergent aspect in system development due to the increasing competition in industry. Therefore, established Requirements Engineering (RE) approaches need to be adapted to the requirements of ASD. Analyzing existing literature reviews related to agile RE [<xref ref-type="bibr" rid="scirp.90250-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref8">8</xref>] , we can observe that a couple of authors propose different process models for agile RE. Such process models have in common the agile values on which they rely [<xref ref-type="bibr" rid="scirp.90250-ref9">9</xref>] :</p><p>• Individuals and interactions over processes and tools;</p><p>• Working software over comprehensive documentation;</p><p>• Customer collaboration over contract negotiation;</p><p>• Responding to change over following a plan.</p><p>Nevertheless, these process models for agile RE differ in how the way of working is described. For instance, which methods or artifacts are recommended to use for discovering, refining, prioritizing, reviewing or documenting requirements in an agile environment. We can build an abstract view on this field by means of a metamodel so as to gain a better understanding of agile RE and reduce the complexity of existing process models. Moreover, the analysis of related work shows that the description of agile RE management in the literature varies a lot from each other and that there is no common language. The metamodel for agile RE helps us to describe key concepts of agile RE management. This gives us a common definition for this research area and supports us in the development of a unified language. As the environment where agile is used is complex, due to the number of diverse people working together in different roles to create one system, we need an extremely adaptive metamodel for describing agile RE on an abstract level.</p><p>This paper presents a metamodel for agile RE (agile RE metamodel), aiming to build an abstraction layer about the variety of existing process models in the field. The agile RE metamodel allows building a common understanding of the complex research field of agile RE. In addition, we provide two instantiations to domain specific models for agile RE by means of two cases run in industry: i) case a discusses on a Scrum-based process model for developing several systems in the E-government area; and ii) case b presents a Kanban-based process model used to relaunch an internet-based newspaper portal.</p><p>The paper is structured as follows: Section 2 summarizes the related work and points out the research gap. Then, Section 3 describes the applied method for creating and instantiating the metamodel. Section 4 presents the metamodel for agile RE. Later, Section 5 discusses on the instantiation into process models. Section 6 analyzes the results and limitations of this research and finally, Section 7 states conclusions and provides an outlook on future research.</p></sec><sec id="s2"><title>2. Related Work</title><p>We conducted a systematic literature review [<xref ref-type="bibr" rid="scirp.90250-ref5">5</xref>] in order to analyze the state-of-the-art of agile RE with strong focus on stakeholder and user involvement. In particular, we investigated what approaches exist to involve stakeholder in the process, which methodologies are commonly used to present the user perspective and how requirements management is carried out. In sum, 27 papers were included in the study [<xref ref-type="bibr" rid="scirp.90250-ref5">5</xref>] and analyzed according to our predefined research protocol.</p><p>The results of the state-of-the-art analysis revealed that the research field of agile RE is very close to current work practices in companies, since most of the included studies report results from case studies (19/27 = 70%). In addition, we observed that agile RE is a complex research field with a lot of different cross-functional influences, for instance, from the fields of HCD, ASD or RE.</p><p>However, we also identified some gaps in present literature. We learned that building a shared understanding concerning the user perspective is not very well established in agile environments. Thus, we were not able to find a common process model for stakeholder and user involvement. Nevertheless, organizations deal with those shortcomings by integrating additional methodologies like HCD, Design Thinking, Contextual Inquiry or Participatory Design.</p><p>Furthermore, we found studies presenting process models for agile RE [<xref ref-type="bibr" rid="scirp.90250-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref14">14</xref>] . All these process models share the continuous management of requirements by involving stakeholder and user. The most related ones are highlighted below.</p><p>Memmel et al. [<xref ref-type="bibr" rid="scirp.90250-ref10">10</xref>] develop a XP-based process model called Cross-discipline User Interface and Software Engineering (CRUISER). The process starts with an Initial Requirements Up-front Phase (IRUP) whose results are agile models that describe user needs by means of agile techniques (e.g. essential use cases, scenarios and prototypes). The gathered information is elaborated and processed during the different phases of CRUISER.</p><p>Kautz [<xref ref-type="bibr" rid="scirp.90250-ref11">11</xref>] carried out a case study with the aim to investigate user and customer involvement in ASD. He does not claim to propose a process model but the results of the study present an implicitly applied process model. Kautz integrates Participatory Design activities in XP. The agile team can detect problems concerning misunderstanding of requirements early before they can grow into larger problems by the application of an onsite customer as well as iteratively reviews with users and customers.</p><p>Maguire [<xref ref-type="bibr" rid="scirp.90250-ref12">12</xref>] extends the HCD [<xref ref-type="bibr" rid="scirp.90250-ref4">4</xref>] framework for ASD. The HCD process consists of the following steps: plan the HCD process, understand and specify the context of use, describe user requirements, produce design solutions to meet such requirements and evaluate designs against them. He suggests a set of agile techniques that can be used in each step. Besides, he proposes a couple of artifacts that are generated while using agile techniques.</p><p>Rivero et al. [<xref ref-type="bibr" rid="scirp.90250-ref13">13</xref>] propose a process model known as Mockup-Driven Development (MockupDD). Their approach supports Model-Driven Web Engineering (MDWE) and is integrated into Scrum. In the beginning of MockupDD, a quick requirements gathering stage is performed resulting in a set of user stories. Based on this, costumers and users create mockups to represent these user stories graphically. These mockups lay the foundation for the following modeling process.</p><p>Olsson et al. [<xref ref-type="bibr" rid="scirp.90250-ref14">14</xref>] design a process model based on a conceptual model named Qualitative/Quantitative Customer-Driven Development. It stresses the need for combining qualitative customer feedback in early stages of development with quantitative observations in later stages. Olsson et al. treat requirements as hypotheses that are validated with customers before development. Hypotheses are derived from business strategies, innovation initiatives, customer feedback and on-going validation cycles.</p><p>Analyzing the commonalities of the proposed approaches, we can conclude that all these process models have in common that they utilize different types of artifacts, meetings, methods and roles (referred to as agile techniques) for the management of requirements in an agile environment. In this context, the related work lacks in: 1) providing guidelines that help to choose an appropriate set of agile techniques for solving a specific agile RE problem [<xref ref-type="bibr" rid="scirp.90250-ref15">15</xref>] ; and 2) providing generic concepts on an abstraction layer. These generic concepts are important in today’s business world since companies utilize different types of process models for diverse teams.</p><p>This leads to increasing complexity within an organization (e.g. scaled organization or other teams working with sequential approaches, like waterfall model). This paper proposes a metamodel for agile RE to handle this complexity (see Section 4). It is evaluated by an instantiation into concrete process models (see Section 5). To the best of our knowledge this is the first metamodel for agile RE.</p></sec><sec id="s3"><title>3. Research Method</title><p>The objectives of this paper are contributing a metamodel for agile RE, which allows building a common understanding of the complex research field of agile RE; and showing how the metamodel can be used in industry by means of tailoring domain specific models.</p><p>In the following subsections, we will explain how we developed the agile RE metamodel iteratively. Subsequently, we will demonstrate how the metamodel can be applied to industry by means of instantiations.</p><sec id="s3_1"><title>3.1. Developing the Agile RE Metamodel</title><p><xref ref-type="fig" rid="fig1">Figure 1</xref> displays the phases that were applied to develop the agile RE metamodel. In phase 1, we analyzed existing process models for agile RE in order to describe agile RE on an abstract level. Based on the related work and our experience working with requirements in agile environments, we created the initial version of the agile RE metamodel (phase 2), which was presented to the research community and then discussed [<xref ref-type="bibr" rid="scirp.90250-ref16">16</xref>] . This metamodel has been optimized in several iterations by means of discussions with other researchers and practitioners in the field of agile RE as well as further empirical studies [<xref ref-type="bibr" rid="scirp.90250-ref15">15</xref>] .</p><p>The discussions about the metamodel triggered first improvements. To this end, we started to elaborate the agile RE metamodel iteratively based on our learnings. This approach is similar to the concepts of ASD, where products are created in several iterations. <xref ref-type="table" rid="table1">Table 1</xref> shows an overview of the conceptual improvements of the agile RE metamodel in accordance with the events and activities that triggered these improvements. The current version of the metamodel is presented in <xref ref-type="fig" rid="fig3">Figure 3</xref>.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Overview of conceptual improvements of the agile RE metamodel</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Version</th><th align="center" valign="middle" >Trigger</th><th align="center" valign="middle" >Improvements</th></tr></thead><tr><td align="center" valign="middle" >v1.1</td><td align="center" valign="middle" >Learning from doctoral consortium [<xref ref-type="bibr" rid="scirp.90250-ref16">16</xref>]</td><td align="center" valign="middle" >Addition of relations between metaclasses and extension of attributes in several metaclasses according to ISO 9241-210: 2010 [<xref ref-type="bibr" rid="scirp.90250-ref4">4</xref>]</td></tr><tr><td align="center" valign="middle" >v1.2</td><td align="center" valign="middle" >Discussion with Dr. Jorge Sede&#241;o L&#243;pez</td><td align="center" valign="middle" >Extension of attributes and changing names</td></tr><tr><td align="center" valign="middle" >v1.3</td><td align="center" valign="middle" >Discussion with Jutta Doetkotte in relation to her bachelor thesis</td><td align="center" valign="middle" >Extension of attributes and changing names, types and relations among metaclasses</td></tr><tr><td align="center" valign="middle" >v1.4</td><td align="center" valign="middle" >Learning from the study “Key Challenges in Agile RE” [<xref ref-type="bibr" rid="scirp.90250-ref15">15</xref>]</td><td align="center" valign="middle" >Extension of relations, deletion of attributes, change types of attributes, reorder attributes within metaclasses</td></tr><tr><td align="center" valign="middle" >v1.5</td><td align="center" valign="middle" >Learning from the study “Identifying Agile RE Patterns” [<xref ref-type="bibr" rid="scirp.90250-ref17">17</xref>]</td><td align="center" valign="middle" >Change attributes and extension of attributes</td></tr><tr><td align="center" valign="middle" >v1.6</td><td align="center" valign="middle" >Discussion with Dr. Mar&#237;a Jos&#233; Escalona, Dr. J&#246;rg Thomaschewski and Dr. Manuel Mej&#237;as</td><td align="center" valign="middle" >Deletion of attributes, change of types of attributes according to UML notation and addition of new metaclasses</td></tr><tr><td align="center" valign="middle" >v1.7</td><td align="center" valign="middle" >Discussion with Dr. Nora Koch, Dr. Mar&#237;a Jos&#233; Escalona and Dr. J&#246;rg Thomaschewski</td><td align="center" valign="middle" >Extension of relations, deletion of attributes and addition of metaclass Requirement</td></tr><tr><td align="center" valign="middle" >v1.8</td><td align="center" valign="middle" >Discussion with Dr. Nora Koch, Dr. Mar&#237;a Jos&#233; Escalona and Dr. J&#246;rg Thomaschewski</td><td align="center" valign="middle" >Definition of metaclass requirement as external class, update of relations and multiplicities, change of the metaclasses ordering and deletion of redundant attributes</td></tr></tbody></table></table-wrap></sec><sec id="s3_2"><title>3.2. Tailoring the Agile RE Metamodel to Domain Specific Models</title><p>The agile RE metamodel needs to be instantiated in terms of conditions of the specific organizational environment, in order to be used in industry. This step is related to the approach by Rolland [<xref ref-type="bibr" rid="scirp.90250-ref18">18</xref>] , who presents a technique for process modeling by means of building abstraction levels (process meta-level, process model and development runs). Following this approach enables us to define how to apply the agile RE metamodel into practice. Therefore, we have created instances of the metamodel (L2) to derive domain specific models (L1) that could be utilized in industry. It is worth highlighting that we have slightly adapted the approach by Rolland to become more systematic. Hence, we recommend using a profile for building instances of the agile RE metamodel [<xref ref-type="bibr" rid="scirp.90250-ref19">19</xref>] .</p><p>In this paper, we will present two practical cases for the instantiation of the agile RE metamodel. On the one hand, we will exemplify a process model for a Scrum-based process regarding the development of web applications in E-government areas. The result will be a process for discovering services in the early stages of agile development (Section 5.1). On the other hand, we will derive an instantiation of the agile RE process metamodel into a Kanban-based process model for developing an internet-based newspaper portal (Section 5.2). We have decided to use these two cases, because they show the adaptability of the agile RE metamodel in terms of using different agile methodologies.</p></sec></sec><sec id="s4"><title>4. Agile RE Metamodel</title><p>The agile RE metamodel (see <xref ref-type="fig" rid="fig3">Figure 3</xref>) visualizes the big picture of agile RE without providing a concrete domain specific model. We can use it to derive a domain specific model tailored according to the environment where the system is developed. Moreover, the agile RE metamodel represents a set of generic concepts without describing a domain specific model itself. Therefore, it builds a framework for a process. Hence, the domain specific model is an instantiation of the metamodel (see <xref ref-type="fig" rid="fig2">Figure 2</xref>).</p><p>The agile RE metamodel looks at the cross-functional area of agile RE that consists of HCD [<xref ref-type="bibr" rid="scirp.90250-ref4">4</xref>] (pink, metaclasses Context of Use and User), ASD (green, metaclasses Stakeholder, Agile Team, Methodology and Impact), Domain Driven</p><p>Design [<xref ref-type="bibr" rid="scirp.90250-ref20">20</xref>] (DDD, orange, metaclasses System and Domain) and RE [<xref ref-type="bibr" rid="scirp.90250-ref21">21</xref>] (grey and metaclass Agile RE Activity). The blue metaclasses (Organizational Environment, Agile RE Problem, Agile RE Pattern and Requirements) are part of our contribution to the body of knowledge of agile RE. The initial version of the agile RE metamodel is presented in [<xref ref-type="bibr" rid="scirp.90250-ref16">16</xref>] , whereas <xref ref-type="fig" rid="fig3">Figure 3</xref> represents the optimized version.</p><sec id="s4_1"><title>4.1. Description of the Agile RE Metamodel</title><p>The metamodel contains the metaclass User with the following attributes: name, personal information, behavior, usage behavior, motivation and pain points. The user is in a context of use during the usage of the system. Thus, s/he is working with specific equipment in a physical environment while carrying out tasks. Moreover, s/he interacts in a social environment. In ASD, and for instance in XP, the user can be part of the agile team, which includes name, members, size and role. There can be more than just one agile team in a scaled environment.</p><p>The continuous involvement of stakeholders is very important to ASD. The metaclass Stakeholder includes the attributes name, group, need and priority, where need is related to human needs.</p><p>Another important aspect in agile RE is the applied agile methodology (e.g. Scrum, Kanban or XP). Each methodology comes with its own requirements and</p><p>has an impact on how RE is carried out. For instance, there is a difference between iterative approaches like Scrum or flow-driven approaches like Kanban. Therefore, we add the metaclass Impact that is filled at runtime. This metamodel defines the system to be developed with the following attributes: name, description, feature, business goal and infrastructure. The requirements for each system differ due to the diverse domains in which the system is used. The metaclass Domain becomes more important in terms of the era of Industry 4.0. As an example, it can be highlighted that there are a lot of different Internet of Things (IoT) platforms on the market that need to be customized for a specific domain (e.g. automotive, utilities or wind energy). The domain is described within the scope of the metamodel with name, description, condition and regulation.</p><p>All these metaclasses are influencing each other and the outcome is described as metaclass Organizational Environment (completed at runtime). On the one hand, the organizational environment is changing because of the different people involved in the process (user, stakeholder or agile team). On the other hand, it is changing because of the domain or the agile methodology used.</p><p>As visualized by the agile RE metamodel, agile RE problems (metaclass Agile RE Problem) occur in an agile organizational environment (metaclass Organizational Environment). Agile RE problems are solved by agile RE patterns (metaclass Agile RE Pattern). Therefore, the metaclass Agile RE Problem is generalized by the metaclass Organizational Environment. Agile RE problems occur during system development in an agile context and they are defined by means of name and description. Examples of agile RE problems can be “continuous management of requirements” (P4) or “not to lose sight of the big picture during the implementation of complex requirements” (P3) (see <xref ref-type="table" rid="table3">Table 3</xref>).</p><p>Besides, an agile RE problem is solved by one or more agile RE patterns. The agile RE problem “continuous management of requirements” can be solved by the agile RE patterns “continuous refinement meetings with stakeholders” or “sprint review meetings”. The attributes of the metaclass Agile RE Pattern are: name, context, tag, problem summary, usage description, example and template.</p><p>In terms of RE, the agile RE pattern can be categorized by an agile RE activity (specified by name and stage). Agile RE activities (see <xref ref-type="table" rid="table2">Table 2</xref>) are slightly different compared to the activities known from established RE (elicitation, analysis and negotiation and validation [<xref ref-type="bibr" rid="scirp.90250-ref21">21</xref>] ). Agile RE is carried out in an iterative</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Activities in agile RE</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Agile RE activity</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle" >Discovery</td><td align="center" valign="middle" >Eliciting new ideas/requirements</td></tr><tr><td align="center" valign="middle" >Refinement</td><td align="center" valign="middle" >Clarifying and analyzing new ideas/requirements</td></tr><tr><td align="center" valign="middle" >Prioritization</td><td align="center" valign="middle" >Measuring the value that the development will add to the system</td></tr><tr><td align="center" valign="middle" >Review</td><td align="center" valign="middle" >Checking if the requirement is implemented in the manner to deliver value</td></tr><tr><td align="center" valign="middle" >Documentation</td><td align="center" valign="middle" >Capturing discussion and decisions around the requirement</td></tr></tbody></table></table-wrap><p>manner and the activities are not split into phases. In comparison to established RE, they can take place at the same time.</p><p>The metaclass Requirement shows how requirements are described in agile RE. This is an external class of the agile RE metamodel since this metamodel provides generic concepts that allow modeling the way people work and collaborate in terms of agile RE. The agile RE metamodel does not aim to give details of the specific shape of a requirement in an agile environment. Therefore, there are other approaches such as those in [<xref ref-type="bibr" rid="scirp.90250-ref22">22</xref>] , or [<xref ref-type="bibr" rid="scirp.90250-ref23">23</xref>] .</p></sec><sec id="s4_2"><title>4.2. Additional Views on the Agile RE Metamodel</title><p>The human-centric view plays an important role in relation to agile RE. To this end, we present additional views on the agile RE metamodel in order to detail the human aspects it involves.</p><sec id="s4_2_1"><title>4.2.1. Metaclass User</title><p>The user is a person who directly interacts with the product. As product development is concerned, it is necessary to understand the needs of the user in order to develop a product, which is valuable to the target group. From a HCD perspective, the analysis of the target group is carried out by means of conducting user research. To this end, the user should be modeled with at least some basic information that is listed in <xref ref-type="fig" rid="fig4">Figure 4</xref> as enumerations.</p><p>The personal information allows creating a picture of a concrete person with the aim to avoid self-referential design during product development. Moreover, using behavior helps people to understand how one specific individual interacts with the product. The description of behavior constitutes the picture of a</p><p>concrete user and enables project members to generate an empathetic focus on his/her needs and values.</p></sec><sec id="s4_2_2"><title>4.2.2. Metaclass Stakeholder</title><p>The stakeholder is an individual or organization having a right, share, claim or interest in a system or in the characteristics that meet their needs and expectations [<xref ref-type="bibr" rid="scirp.90250-ref4">4</xref>] . <xref ref-type="fig" rid="fig5">Figure 5</xref> highlights some details that make the definition of stakeholders more clear.</p></sec><sec id="s4_2_3"><title>4.2.3. Metaclass Agile Team</title><p>The metaclass Agile Team details the composition of the product development team who actually work on creating a product. Therefore, the enumeration role (see <xref ref-type="fig" rid="fig6">Figure 6</xref>) explains the roles an agile team should entail.</p></sec></sec><sec id="s4_3"><title>4.3. Agile RE Problems and Agile RE Patterns</title><p>We have conducted an empirical evaluation through a study with 26 experts from industry where we have identified the most important problems in agile RE [<xref ref-type="bibr" rid="scirp.90250-ref15">15</xref>] . In sum, 6 out of the 20 problems identified have been defined as key problems (see <xref ref-type="table" rid="table3">Table 3</xref>). In light of this, we recommend some options to address such problems by means of agile RE techniques.</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Key problems in agile RE [<xref ref-type="bibr" rid="scirp.90250-ref15">15</xref>] </title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Problems ID</th><th align="center" valign="middle" >Description of key problems in agile RE</th></tr></thead><tr><td align="center" valign="middle" >P1</td><td align="center" valign="middle" >In ASD, functional or technical dependencies with other teams are a challenge because a considerable coordination effort is required.</td></tr><tr><td align="center" valign="middle" >P2</td><td align="center" valign="middle" >In ASD, it is a challenge that stakeholders understand that the development team can make independent (detailed) decisions.</td></tr><tr><td align="center" valign="middle" >P3</td><td align="center" valign="middle" >In ASD, it is a challenge not to lose sight of the big picture during the implementation of complex requirements.</td></tr><tr><td align="center" valign="middle" >P4</td><td align="center" valign="middle" >In ASD, continuous management of requirements is a challenge since not all of them are fixed at the beginning and they may change over the course of the project.</td></tr><tr><td align="center" valign="middle" >P5</td><td align="center" valign="middle" >In ASD, it is a challenge to work out user requirements and quality of use in cooperation with direct users (end users) of the system.</td></tr><tr><td align="center" valign="middle" >P6</td><td align="center" valign="middle" >In ASD, it is a challenge to involve stakeholders throughout the whole development process in regular iterations, so that system development will succeed.</td></tr></tbody></table></table-wrap><p>The combination of an agile RE problem and the corresponding solution (agile techniques) builds the agile RE pattern. An agile RE pattern is composed of both dynamic and static parts (see <xref ref-type="fig" rid="fig7">Figure 7</xref>). On the one hand, the agile technique Sprint Planning [<xref ref-type="bibr" rid="scirp.90250-ref24">24</xref>] is an activity and therefore represents the dynamic part. On the other hand, the agile technique User Story [<xref ref-type="bibr" rid="scirp.90250-ref25">25</xref>] is an artifact and represents the static part of an agile RE pattern.</p></sec></sec><sec id="s5"><title>5. Tailoring an Agile RE Domain Specific Model in Industry</title><p>The agile RE metamodel can be tailored to domain specific models in order to be applicable to industry. In the following subsections, we will present two cases in which we have built instances of the metamodel. The first process model (case a) is carried out in an environment that uses Scrum for the development of a web application for E-government, with the aim to solve the problem of discovering services (E-government services). In contrast, the second process model (case b) describes an environment that uses Kanban for the relaunch of an internet-based newspaper portal. We have decided to show these two cases, because they demonstrate the adaptability of the agile RE metamodel in terms of tailoring domain specific models for RE based on different agile methodologies.</p><sec id="s5_1"><title>5.1. Case a: Tailoring in Scrum</title><p>Scrum [<xref ref-type="bibr" rid="scirp.90250-ref3">3</xref>] is an agile methodology that can be classified as a time-box approach comprising a set of roles, meetings and artifacts. Since Scrum is described as a framework where people can address complex problems, we need to adapt the framework to the specific context of a project. This case presents an instantiation of the agile RE metamodel in a project using NDT-Agile (based on Scrum and Earned Value Management) to create a web application for e-government.</p><sec id="s5_1_1"><title>5.1.1. Background of the Project</title><p>Junta de Andaluc&#237;a is the name of the regional government of the Spanish region</p><p>of Andalusia, in the south of Spain, and the body that has developed this project. The Information and Communication Technologies (ICT) Department of the Ministry of Culture has been in charge of leading the project in liaison with other departments belonging to the regional government of Andalusia.</p><p>In between 2008-2012, the Ministry of Culture transformed itself into an organization capable to operate under SOA paradigm [<xref ref-type="bibr" rid="scirp.90250-ref26">26</xref>] . In 2012, they started to adopt agile methodologies [<xref ref-type="bibr" rid="scirp.90250-ref27">27</xref>] [<xref ref-type="bibr" rid="scirp.90250-ref28">28</xref>] , but there was a lack: the integration of an activity in the early stages of ASD executing the process of discovering services that, simultaneously, could cover the requirements represented by User Stories.</p><p>The next subsections will provide a description of the agile RE metamodel tailored within a public administration so as to solve an agile RE problem regarding discovering services in early stages of ASD. In particular, discovering what services exist in the Services Portfolio, covering the User Story proposed for a new web application. This problem is related to software reusability in early stages of the lifecycle development.</p></sec><sec id="s5_1_2"><title>5.1.2. Instantiation into a Scrum-Based Process Model</title><p>To face up this drawback, it has been essential to identify all entities, resources and stakeholders in the organizations that are affected by this problem and clarify the relationships among them.</p><p>We need several steps to instantiate the proposed agile RE metamodel. First, it is necessary to match up the entities of the metamodel with the real elements of the organization. For this purpose, <xref ref-type="table" rid="table4">Table 4</xref> shows the relationship between each entity and the corresponding element. The metaclasses Organizational Environment and Impact are not presented in this table because they are filled at runtime. Besides, we leave out the metaclass Requirement, since it is external to the approach (see Section 4.1).</p><p>As described before, the metaclass Organizational Environment defines the context in which the process model is used. The organizational environment is composed of the metaclasses User, Methodology and Domain (see <xref ref-type="fig" rid="fig3">Figure 3</xref> and <xref ref-type="table" rid="table4">Table 4</xref>). The instances of the metaclass Agile REProblem and Agile REPattern are described in the form of an agile RE pattern. The pattern Discovering services that cover an agile requirement presented in <xref ref-type="table" rid="table5">Table 5</xref> is used for the agile RE activities discovery and refinement.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Instantiation of the agile RE metamodel to process model (case a)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Metaclass</th><th align="center" valign="middle" >Instantiation for case a</th></tr></thead><tr><td align="center" valign="middle" >System</td><td align="center" valign="middle" >The system comprises all information systems involved in these web applications together with the Services Portfolio that belong to the organization. The IT infrastructure is a key part of the system, too.</td></tr><tr><td align="center" valign="middle" >Domain</td><td align="center" valign="middle" >The domain of this problem is related to the e-government services and the integration into the ASD development lifecycle.</td></tr><tr><td align="center" valign="middle" >Context of use</td><td align="center" valign="middle" >The context of use is the Ministry of Culture that delivers e-government services by means of web applications using agile software developments. The main users of these applications are citizens and public employees.</td></tr><tr><td align="center" valign="middle" >User</td><td align="center" valign="middle" >The users are citizens and public employees as well as the IT esponsible or even the agile team.</td></tr><tr><td align="center" valign="middle" >Stakeholder</td><td align="center" valign="middle" >The stakeholders are people in charge of the different departments (ministry, IT or business).</td></tr><tr><td align="center" valign="middle" >Agile team</td><td align="center" valign="middle" >A team belongs to the IT service made up by a Scrum Master and agile developers together with a Product Owner that represents the different interests of stakeholders (the deputy head of the IT department).</td></tr><tr><td align="center" valign="middle" >Methodology</td><td align="center" valign="middle" >The methodology followed is NDT-Agile (based on Scrum and Earned Value Management).</td></tr><tr><td align="center" valign="middle" >Agile RE problem</td><td align="center" valign="middle" >Technical or functional dependencies to other teams.</td></tr><tr><td align="center" valign="middle" >Agile RE pattern</td><td align="center" valign="middle" >Discovering services that cover an agile requirement (see <xref ref-type="table" rid="table5">Table 5</xref>).</td></tr><tr><td align="center" valign="middle" >Agile RE activity</td><td align="center" valign="middle" >Identification and refinement.</td></tr></tbody></table></table-wrap><table-wrap-group id="5"><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Pattern “Discovering services that cover an agile requirement”</title></caption><table-wrap id="5_1"><table><tbody><thead><tr><th align="center" valign="middle" >Attribute</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle" >Pattern name</td><td align="center" valign="middle" >Discovering services that cover an agile requirement.</td></tr><tr><td align="center" valign="middle" >Context</td><td align="center" valign="middle" >Detecting existing services, which can be found in the service portfolio of the organization, that cover user stories functionality identified by the agile team. This pattern is used in early stages of a sprint, directly after the Sprint Planning (see <xref ref-type="fig" rid="fig8">Figure 8</xref>) and it is necessary for the software reutilization. The identification of existing services is a very difficult task since the services area is not connected with the agile techniques that are used in the requirements elicitation phase.</td></tr><tr><td align="center" valign="middle" >Tag</td><td align="center" valign="middle" >Discovery, refinement and methods.</td></tr><tr><td align="center" valign="middle" >Problem summary</td><td align="center" valign="middle" >In ASD, functional or technical dependencies with other teams are a challenge because a considerable coordination effort is required (P1, <xref ref-type="table" rid="table3">Table 3</xref>).  Detection of services in early stages of ASD.  Identification of existing services in the services portfolio that cover the user story proposed for a new web application.  Reusability of software in early stages of the software development lifecycle.</td></tr><tr><td align="center" valign="middle" >Usage description</td><td align="center" valign="middle" >It applies the process named DS4aRE (“Discovering services for agile requirements”) that consists of six steps: 1) Indexing the Services Portfolio. 2) Formalizing the agile requirement (see <xref ref-type="fig" rid="fig9">Figure 9</xref>). 3) Transforming this formalization into a query. 4) Launching this query against the index. 5) Preparing the result of the query. 6) Obtaining the Candidate Services (i.e. a Service that is inside the Services Portfolio and would cover an agile requirement).</td></tr></tbody></table></table-wrap><table-wrap id="5_2"><table><tbody><thead><tr><th align="center" valign="middle" >Example</th><th align="center" valign="middle" >The Ministry needs to develop a new web application to comply with Law 39/2015 that obliges to make any notification by telematics means. The Ministry needs to know how many services of the e-government Services Portfolio could be used in this application to cover the User Stories identified by the agile team.</th></tr></thead><tr><td align="center" valign="middle" >Template</td><td align="center" valign="middle" >DS4aRE process (see <xref ref-type="fig" rid="fig1">Figure 1</xref>0).</td></tr></tbody></table></table-wrap></table-wrap-group><p><xref ref-type="fig" rid="fig8">Figure 8</xref> shows the moment in which the agile team must execute the activity known as Discovering Candidate Services, which has been integrated into the agile methodology in the Ministry of Culture.</p><p><xref ref-type="fig" rid="fig9">Figure 9</xref> details the elements used during the discovery of Candidate Services (see <xref ref-type="fig" rid="fig8">Figure 8</xref>). In particular, it models the necessary entities to represent a User Story and other information about functional and non-functional requirements, users, stakeholders and agile team after finishing the sprint planning in NDT-Agile.</p><p>Moreover, <xref ref-type="fig" rid="fig1">Figure 1</xref>0 shows the DS4aRE (Discovering services for agile requirements) process that solves the RE problem exposed in <xref ref-type="table" rid="table5">Table 5</xref>.</p></sec></sec><sec id="s5_2"><title>5.2. Case b: Instantiation within a Kanban-Based Environment</title><p>Kanban [<xref ref-type="bibr" rid="scirp.90250-ref2">2</xref>] is an agile methodology whose main attribute focuses on continuous improvement. The application of Kanban starts with making a workflow visible and proceeds with continuous improvement of the existing process model. Compared to the time-box approach in Scrum, Kanban is based on a continuous flow model. In the following case, we will present an instantiation of the agile RE metamodel into a Kanban-based process model for developing an internet-based newspaper portal.</p><sec id="s5_2_1"><title>5.2.1. Background of the Project</title><p>The project was carried out in a medium-sized IT company, located in Germany [<xref ref-type="bibr" rid="scirp.90250-ref29">29</xref>] , specialized in e-commerce, mobile apps and SAAS tools. The project team consisted of twelve members (one team leader, one project manager, two visual designers, two UX experts and six developers). The aim was the relaunch of an internet-based newspaper portal within six months in 2013/2014.</p></sec><sec id="s5_2_2"><title>5.2.2. Instantiation into a Kanban-Based Process Model</title><p>In the following paragraphs, we will provide an instantiation of the metamodel (<xref ref-type="fig" rid="fig3">Figure 3</xref>) and we will discuss the way of working within the scope of case b. <xref ref-type="table" rid="table5">Table 5</xref> shows the instances of the metaclasses in terms of the applied process model. The metaclasses OrganizationalEnvironment and Impact are not presented in this table since they are filled during runtime. Moreover, we leave out the metaclass Requirement, since it is external to the approach (see Section 4.1).</p><p>As described before, the metaclass OrganizationalEnvironment defines the context where the process model is used. The organizational environment is a composition of the metaclasses User, Methodology and Domain (see <xref ref-type="fig" rid="fig3">Figure 3</xref></p><p>and <xref ref-type="table" rid="table6">Table 6</xref>). The instances of the metaclass Agile RE Problem and Agile RE Pattern are described in the form of an agile RE pattern. The pattern Continuous management of requirements by means of tools, presented in <xref ref-type="table" rid="table7">Table 7</xref>, is utilized for the agile RE activities discovery and refinement.</p><table-wrap id="table6" ><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Instantiation of agile RE metamodel to process model demonstrated in case b</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Metaclass</th><th align="center" valign="middle" >Instantiation for case b</th></tr></thead><tr><td align="center" valign="middle" >System</td><td align="center" valign="middle" >The system to be developed is an internet-based newspaper portal.</td></tr><tr><td align="center" valign="middle" >Domain</td><td align="center" valign="middle" >The domain where the system is used can be classified as e-commerce in the publishing sector.</td></tr><tr><td align="center" valign="middle" >Context of use</td><td align="center" valign="middle" >The main task of users consists in retrieving news, that is to say, they want to be informed of contemporary issues. Therefore, the first touch point of users is the home page where they can browse through the teasers and select the interesting ones for further reading. In most of the cases they use equipment comprising a mobile platform (tablet or smartphone). Both the physical environment and the social environment of users depend on the situation in which they use the system. For instance, they can use the system in public transport that may be loud and crowded, or they can use it in their gardens where the sun is shining on the display.</td></tr><tr><td align="center" valign="middle" >User</td><td align="center" valign="middle" >The user of the system is an experienced web user who is interested in news. Printed media is too slow for her/him and s/he appreciates consuming videos and additional interactive content.</td></tr><tr><td align="center" valign="middle" >Stakeholder</td><td align="center" valign="middle" >There are a lot of different stakeholders involved within the development process of the system (e.g. management, investors or shareholders).</td></tr><tr><td align="center" valign="middle" >Agile team</td><td align="center" valign="middle" >The agile team consists of twelve members: one team leader, one project manager, two visual designers, two UX experts and six developers.</td></tr><tr><td align="center" valign="middle" >Methodology</td><td align="center" valign="middle" >The methodology integrates Kanban with HCD.</td></tr><tr><td align="center" valign="middle" >Agile RE problem</td><td align="center" valign="middle" >Continuous requirements management.</td></tr><tr><td align="center" valign="middle" >Agile RE pattern</td><td align="center" valign="middle" >Continuous management of the requirements by means of tools (see <xref ref-type="table" rid="table7">Table 7</xref>).</td></tr><tr><td align="center" valign="middle" >Agile RE activity</td><td align="center" valign="middle" >Discovery and refinement.</td></tr></tbody></table></table-wrap><table-wrap-group id="7"><label><xref ref-type="table" rid="table7">Table 7</xref></label><caption><title> Pattern “Continuous management of requirements by means of tools”</title></caption><table-wrap id="7_1"><table><tbody><thead><tr><th align="center" valign="middle" >Attribute</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle" >Pattern name</td><td align="center" valign="middle" >Continuous management of requirements by means of tools</td></tr><tr><td align="center" valign="middle" >Context</td><td align="center" valign="middle" >Established RE approaches fit into sequential approaches to software development. On the contrary. ASD is used to enhance the ability to deal with changing requirements over the course of time. Agile techniques for continuous requirements management need to be implemented in order to ensure traceability of requirements.</td></tr><tr><td align="center" valign="middle" >Tag</td><td align="center" valign="middle" >Discovery, refinement and methods.</td></tr><tr><td align="center" valign="middle" >Problem summary</td><td align="center" valign="middle" >In ASD, continuous management of requirements is a challenge since not all of them are fixed at the beginning and they may change over the course of the project (P4, <xref ref-type="table" rid="table3">Table 3</xref>).  Providing a positive UX to the user.  Carrying out a release evaluation continuously.  Not interrupting the workflow due to scheduling testing activities and organization.  Reducing costs for long-term UX testing.</td></tr><tr><td align="center" valign="middle" >Usage description</td><td align="center" valign="middle" >The workflow of the system development is visualized by means of Kanban boards for different types of tasks (e.g. UX design, development or operation). One requirement can be tracked along the workflow and its evolution is managed through the whole development process (see <xref ref-type="fig" rid="fig1">Figure 1</xref>1). Organizing the management of requirements by means of Kanban boards implies a continuous management and tracking of changes.</td></tr></tbody></table></table-wrap><table-wrap id="7_2"><table><tbody><thead><tr><th align="center" valign="middle" >Example</th><th align="center" valign="middle" ><xref ref-type="fig" rid="fig1">Figure 1</xref>1 presents the interaction of two Kanban boards in case b. We use a third one for operation that was placed on the right hand side of the development board. Kanban boards represent the workflow from design through development of the internet-based newspaper portal. One task from the design board might be split into more than one task on the development or the operation board. The aim of this procedure is to obtain a continuous flow within the board and among the boards. For working with multiple Kanban boards the project team use tool support by means of JIRA from Atlassian, displayed on several screens on the wall.</th></tr></thead><tr><td align="center" valign="middle" >Template</td><td align="center" valign="middle" >See <xref ref-type="fig" rid="fig1">Figure 1</xref>1.</td></tr></tbody></table></table-wrap></table-wrap-group><p>It is worth mentioning that more than one of the presented agile RE problems occurred along the development of project case b. For instance, it was a problem not to lose sight of the big picture during the implementation of complex requirements since the development with Kanban is focused on small tasks. Therefore, we integrate HCD activities by means of a release evaluation [<xref ref-type="bibr" rid="scirp.90250-ref29">29</xref>] .</p></sec></sec></sec><sec id="s6"><title>6. Discussion and Limitations</title><p>One of the most important benefits of the proposed metamodel for agile RE is cross-functionality. Agile methodologies are based on cross-functional collaboration of people from different disciplines (e.g. programming, test or UX design). It is essential to consider all the disciplines while creating a process model for agile RE, for becoming a value-driven organization. The proposed metamodel for agile RE supports the understanding of this complexity and enables companies to become clear about the influencing parameters. Furthermore, researchers as well as practitioners can use the metamodel for evaluating their existing process models for agile RE aiming to improve them.</p><p>The application of the agile RE metamodel allows us to reflect on the agile RE problems that happened in the presented cases (see Section 5.1.2 and Section 5.2.2) as well as to find out appropriate solutions for handling them.</p><p>Once these two cases are analyzed, we can figure out some differences in terms of the elaboration of information related to specific stereotypes. Basically, the context of use is deeper explored and more elaborated in case b (see Section 5.2.2). This occurs because of the integration of HCD, as in HCD the context of use is meaningful in terms of user research. Taking this as an example, we can discuss whether it makes sense to put some effort in the analysis of the context of use in case a, and discuss what impact this analysis might have on the value delivery. Besides, they also differ in the manner of how people are related among them. In case a, for instance, the user is part of the agile team, since some members of the agile team use the system, such as citizens or employers of the Ministry of Culture. Finally, another difference can be observed in the relation between the methodology and the agile RE pattern. In case b, the agile RE pattern is part of the methodology, since the agile technique Kanban board is rooted in the Kanban methodology, whereas the agile technique in case a (DS4aRE process) is a new technique independent of a methodology.</p><p>Nonetheless, the analyzed cases in this work present some shortcomings in terms of the analysis of the organizational environment. We have to state that we were not able to gather all the data the metamodel would have the capacity to include due to time spent when the case studies were carried out. The final version of the metamodel was created in July 2017, whereas the case studies were conducted before that time.</p><p>As opposed to this, both cases have confirmed that domain specific models allow us to receive a detailed view on complex organizational environments. This detailed view enables us to identify problems and impediments that have to do with people, processes or tools. Furthermore, it helps us to compare specific excerpts of different organizational environments with the aim to reflect on all the aspects that run properly and should be shared.</p><p>The use of patterns is a reasonable approach since agile RE is a problem-solving approach to ASD. The usage of patterns is widely spread in the field of software engineering [<xref ref-type="bibr" rid="scirp.90250-ref30">30</xref>] . Most of the proposals rely on the approach by Alexander et al. [<xref ref-type="bibr" rid="scirp.90250-ref31">31</xref>] . The concept of agile RE patterns presented in the agile RE metamodel (see <xref ref-type="fig" rid="fig3">Figure 3</xref>) is also based on Alexander et al.’s [<xref ref-type="bibr" rid="scirp.90250-ref31">31</xref>] understanding for the use of patterns.</p><p>In light of this, the combination of agile RE problems and their corresponding solutions can be inferred to new agile RE patterns that can make easy sharing the experience with the community. The gathered knowledge can encourage other people to solve similar individualized agile RE problems to those presented in this work.</p><p>Nevertheless, there might be some limitations to our research. We have identified the agile RE problems and agile RE patterns by empirical evaluation. It could be argued that there are some limitations in terms of the general application of the results due to the usage of an expert validation. However, the experts work for different companies and therefore they have different levels of experience in the agile transformation of an organization. Additionally, the identified key problems (<xref ref-type="table" rid="table3">Table 3</xref>) only give guidance for the optimization of existing process models for agile RE in industry and do not claim to be fully complete.</p><p>Deriving a process model for agile RE based on the proposed agile RE metamodel might still be a challenge in some organizations due to the complexity of the environment (e.g. scaled organization or other teams working with sequential approaches like waterfall model). Nonetheless, the metamodel reduces this complexity by visualizing the influential parameters that can be changed according to the explicit view.</p></sec><sec id="s7"><title>7. Conclusion and Future Research</title><p>This paper presents the agile RE metamodel that builds an abstraction layer about the variety of existing agile RE process models used in industry. The metamodel for agile RE helps us to describe key concepts of agile RE management. This gives us a common definition for this research area and supports us in the development of a unified language. Besides, we have demonstrated how we can build instances of the metamodel in order to provide process models for industry, concretely in Scrum and Kanban environments. We have presented two cases that analyze an instantiation of the metamodel: in case a, an agile RE process model for NDT-Agile (based on Scrum and Earned Value Management) is used for creating a web application that enables the Ministry of Culture to comply with Law 39/2015; in case b, a Kaban-based agile RE process model is utilized for developing an internet-based newspaper portal.</p><p>We have contributed to the software development body of knowledge by providing a metamodel for agile RE. The metamodel has several implications for both, researchers and practitioners. On the one hand, the metamodel can be used to model new process models for agile RE that are strongly focused on value delivery and therefore can be classified as value-driven process models. On the other hand, existing process models can be evaluated as well as improved by the metamodel.</p><p>Future research may specifically deal with providing practitioners and researches with tool support so that they can improve their agile RE process models based on the proposed agile RE metamodel. We would like to encourage them to improve their agile RE process models. To this end, we are currently working on a web application that provides guidance for solving agile RE problems by choosing the proper agile technique. The objective is to share knowledge regarding agile RE by means of agile RE patterns. The web application is a knowledge base concerning the most common agile RE problems in industry and appropriate solutions.</p></sec><sec id="s8"><title>Acknowledgements</title><p>We would like to thank Dr. Nora Koch for her support in the improvement of the agile RE metamodel and Dominique Winter for his support in carrying out the empirical evaluation related to agile RE problems. We are also very grateful to Dr. Francisco Jos&#233; Dom&#237;nguez Mayo for the valuable discussion concerning the agile RE metamodel.</p></sec><sec id="s9"><title>Supported</title><p>This research has been supported by the Pololas project (TIN2016-76956-C3-2-R) of the Spanish Ministry of Economy and Competitiveness.</p></sec><sec id="s10"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s11"><title>Cite this paper</title><p>Sch&#246;n, E.-M., Sede&#241;o, J., Mej&#237;as, M., Thomaschewski, J. and Escalona, M.J. (2019) A Metamodel for Agile Requirements Engineering. Journal of Computer and Communications, 7, 1-22. https://doi.org/10.4236/jcc.2019.72001</p></sec></body><back><ref-list><title>References</title><ref id="scirp.90250-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Schwaber, K. (2004) Agile Project Management with Scrum, Microsoft. Pearson Education, London.</mixed-citation></ref><ref id="scirp.90250-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Anderson, D.J. (2010) Kanban: Successful Evolutionary Change for Your Technology Business. Blue Hole Press, Washington DC.</mixed-citation></ref><ref id="scirp.90250-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Beck, K. (2000) Extreme Programming Explained: Embrace Change. Addison-Wesley, Boston.</mixed-citation></ref><ref id="scirp.90250-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">International Organization for Standardization (2010) ISO 9241-210:2010—Ergo- nomics of Human-System Interaction—Part 210: Human-Centred Design for Interactive Systems.</mixed-citation></ref><ref id="scirp.90250-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M., Thomaschewski, J. and Escalona, M.J. (2017) Agile Requirements Engineering: A Systematic Literature Review. Computer Standards &amp; Interfaces, 49, 79-91. https://doi.org/10.1016/j.csi.2016.08.011</mixed-citation></ref><ref id="scirp.90250-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Inayat, I., Salim, S.S., Marczak, S., Daneva, M. and Shamshirband, S. (2015) A Systematic Literature Review on Agile Requirements Engineering Practices and Challenges. Computers in Human Behavior, 51, 915-929. https://doi.org/10.1016/j.chb.2014.10.046</mixed-citation></ref><ref id="scirp.90250-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Heikkil&amp;auml;, V.T., Damian, D., Lassenius, C. and Paasivaara, M. (2015) A Mapping Study on Requirements Engineering in Agile Software Development. 2015 41st Euromicro Conference on Software Engineering and Advanced Applications, Funchal, 26-28 August 2015, 199-207. https://doi.org/10.1109/SEAA.2015.70</mixed-citation></ref><ref id="scirp.90250-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Medeiros, J., Alves, D.C.P., Vasconcelos, A., Silva, C. and Wanderley, E. (2015) Requirements Engineering in Agile Projects: A Systematic Mapping Based in Evidences of Industry. CibSE 460-473, XVIII Ibero-American Conference on Software Engineering (CIBSE), Lima, 22-24 April 2015, 460–473.</mixed-citation></ref><ref id="scirp.90250-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., et al. (2001) Manifesto for Agile Software Development. https://agilemanifesto.org/</mixed-citation></ref><ref id="scirp.90250-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Memmel, T., Gundelsweiler, F. and Reiterer, H. (2007) Agile Human-Centered Software Engineering. Conference: Proceedings of the 21st British HCI Group Annual Conference on HCI 2007, Lancaster, 3-7 September 2007, 167-175.</mixed-citation></ref><ref id="scirp.90250-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Kautz, K. (2010) Participatory Design Activities and Agile Software Development. IFIP Working Conference on Human Benefit through the Diffusion of Information Systems Design Science Research, Perth, 30 March-1 April 2010, 303-316. https://doi.org/10.1007/978-3-642-12113-5_18</mixed-citation></ref><ref id="scirp.90250-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Maguire, M. (2013) Using Human Factors Standards to Support User Experience and Agile Design. International Conference on Universal Access in Human-Com- puter Interaction, Las Vegas, NV, 21-26 July 2013, 185-194. https://doi.org/10.1007/978-3-642-39188-0_20</mixed-citation></ref><ref id="scirp.90250-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Rivero, J.M., Grigera, J., Rossi, G., Robles Luna, E., Montero, F. and Gaedke, M. (2014) Mockup-Driven Development: Providing Agile Support for Model-Driven Web Engineering. Information and Software Technology, 56, 670-687. https://doi.org/10.1016/j.infsof.2014.01.011</mixed-citation></ref><ref id="scirp.90250-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Olsson, H.H. and Bosch, J. (2015) Towards Continuous Customer Validation: A Conceptual Model for Combining Qualitative Customer Feedback with Quantitative Customer Observation. LNBIP 210, International Conference of Software Business, Braga, 10-12 June 2015, 154-166. https://doi.org/10.1007/978-3-319-19593-3_13</mixed-citation></ref><ref id="scirp.90250-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M., Winter, D., Escalona, M.J. and Thomaschewski, J. (2017) Key Challenges in Agile Requirements Engineering. XP 2017, International Conference on Agile Software Development, Cologne, 21-25 May 2017, 37-51.</mixed-citation></ref><ref id="scirp.90250-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M. (2016) A Methodology for Agile Requirements Engineering Based on a Pattern Approach. Proceedings of CAiSE 2016 Doctoral Consortium, Ljubljana, 1-8.</mixed-citation></ref><ref id="scirp.90250-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M., Thomaschewski, J. and Escalona, M.J. (2017) Identifying Agile Requirements Engineering Patterns in Industry. In: Proceedings of the 22nd European Conference on Pattern Languages of Programs, ACM Press, New York, 1-10.</mixed-citation></ref><ref id="scirp.90250-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Rolland, C. (1993) Modeling the Requirements Engineering Process. 3rd European-Japanese Seminar on Information Modeling and Knowledge Bases Budapest, Hungary, 1-12.</mixed-citation></ref><ref id="scirp.90250-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M. (2017) A Framework for Modeling and Improving Agile Requirements Engineering. Ph.D. Thesis, University of Seville, Sevilla.</mixed-citation></ref><ref id="scirp.90250-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Evans, E.J. (2003) Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison Wesley, Boston.</mixed-citation></ref><ref id="scirp.90250-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Sommerville, I. and Sawyer, P. (1997) Requirements Engineering: A Good Practice Guide. John Wiley &amp; Sons, Inc., New York.</mixed-citation></ref><ref id="scirp.90250-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Sede&amp;ntilde;o, J. (2017) Una propuesta para el descubrimiento sistemático de servicios en fases tempranas de desarrollos ágiles. Ph.D. Thesis, University of Seville, Seville.</mixed-citation></ref><ref id="scirp.90250-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Escalona, M.J. and Aragón, G. (2008) NDT. A Model-Driven Approach for Web Requirements. IEEE Transactions on Software Engineering, 34, 377-394. https://doi.org/10.1109/TSE.2008.27</mixed-citation></ref><ref id="scirp.90250-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Schwaber, K. and Sutherland, J. (2016) The Definitive Guide to Scrum.</mixed-citation></ref><ref id="scirp.90250-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Cohn, M. (2004) User Stories Applied: For Agile Software Development.</mixed-citation></ref><ref id="scirp.90250-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Sede&amp;ntilde;o, J., Torrecilla-Salinas, C.J., Escalona, M.J. and Mejías, M. (2014) An Approach to Transform Public Administration into SOA-Based Organizations. 10th International Conference on Web Information Systems and Technologies, Barcelona, 3-5 April 2014, 135-142.</mixed-citation></ref><ref id="scirp.90250-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Torrecilla-Salinas, C.J., Sede&amp;ntilde;o, J., Escalona, M.J. and Mejías, M. (2013) Using an Agile Framework to Deliver e-Government Services in Public Administrations. 21nd Annual Software Quality Management, London, 2-5 September 2013, 167-175.</mixed-citation></ref><ref id="scirp.90250-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Torrecilla-Salinas, C.J., Sede&amp;ntilde;o, J., Escalona, M.J. and Mejías, M. (2015) Estimating, Planning and Managing Agile Web Development Projects under a Value-Based Perspective. Information and Software Technology, 61, 124-144. https://doi.org/10.1016/j.infsof.2015.01.006</mixed-citation></ref><ref id="scirp.90250-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Sch&amp;ouml;n, E.-M., Winter, D., Uhlenbrok, J., Escalona, M.J. and Thomaschewski, J. (2016) Enterprise Experience into the Integration of Human-Centered Design and Kanban. Proceedings of the 11th International Joint Conference on Software Technologies, Lisbon, 24-26 July 2016, 133-140. https://doi.org/10.5220/0005942601330140</mixed-citation></ref><ref id="scirp.90250-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Henninger, S. and Corrêa, V. (2007) Software Pattern Communities: Current Practices and Challenges. Proceedings of 14th Conference Pattern Languages Programs, Monticello, 5-8 September 2007, 1-19.</mixed-citation></ref><ref id="scirp.90250-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Alexander, C., Ishikawa, S., Silverstein, M., Jacobson, M., Fiksdahl-King, I. and Angel, S. (1977) A Pattern Language: Towns, Buildings, Construction (Center for Environmental Structure). Oxford University Press, Oxford.</mixed-citation></ref></ref-list></back></article>