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.
Agile Software Development (ASD) is commonly used in environments where people have to solve complex adaptive problems. Agile methodologies (e.g. Scrum [
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 [
• Individuals and interactions over processes and tools;
• Working software over comprehensive documentation;
• Customer collaboration over contract negotiation;
• Responding to change over following a plan.
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.
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.
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.
We conducted a systematic literature review [
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.
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.
Furthermore, we found studies presenting process models for agile RE [
Memmel et al. [
Kautz [
Maguire [
Rivero et al. [
Olsson et al. [
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 [
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.
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.
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.
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.
Version | Trigger | Improvements |
---|---|---|
v1.1 | Learning from doctoral consortium [ | Addition of relations between metaclasses and extension of attributes in several metaclasses according to ISO 9241-210: 2010 [ |
v1.2 | Discussion with Dr. Jorge Sedeño López | Extension of attributes and changing names |
v1.3 | Discussion with Jutta Doetkotte in relation to her bachelor thesis | Extension of attributes and changing names, types and relations among metaclasses |
v1.4 | Learning from the study “Key Challenges in Agile RE” [ | Extension of relations, deletion of attributes, change types of attributes, reorder attributes within metaclasses |
v1.5 | Learning from the study “Identifying Agile RE Patterns” [ | Change attributes and extension of attributes |
v1.6 | Discussion with Dr. María José Escalona, Dr. Jörg Thomaschewski and Dr. Manuel Mejías | Deletion of attributes, change of types of attributes according to UML notation and addition of new metaclasses |
v1.7 | Discussion with Dr. Nora Koch, Dr. María José Escalona and Dr. Jörg Thomaschewski | Extension of relations, deletion of attributes and addition of metaclass Requirement |
v1.8 | Discussion with Dr. Nora Koch, Dr. María José Escalona and Dr. Jörg Thomaschewski | Definition of metaclass requirement as external class, update of relations and multiplicities, change of the metaclasses ordering and deletion of redundant attributes |
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 [
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.
The agile RE metamodel (see
The agile RE metamodel looks at the cross-functional area of agile RE that consists of HCD [
Design [
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.
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.
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
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.
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.
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
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.
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
Agile RE activity | Description |
---|---|
Discovery | Eliciting new ideas/requirements |
Refinement | Clarifying and analyzing new ideas/requirements |
Prioritization | Measuring the value that the development will add to the system |
Review | Checking if the requirement is implemented in the manner to deliver value |
Documentation | Capturing discussion and decisions around the requirement |
manner and the activities are not split into phases. In comparison to established RE, they can take place at the same time.
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 [
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.
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
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
concrete user and enables project members to generate an empathetic focus on his/her needs and values.
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 [
The metaclass Agile Team details the composition of the product development team who actually work on creating a product. Therefore, the enumeration role (see
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 [
Problems ID | Description of key problems in agile RE |
---|---|
P1 | In ASD, functional or technical dependencies with other teams are a challenge because a considerable coordination effort is required. |
P2 | In ASD, it is a challenge that stakeholders understand that the development team can make independent (detailed) decisions. |
P3 | In ASD, it is a challenge not to lose sight of the big picture during the implementation of complex requirements. |
P4 | 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. |
P5 | 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. |
P6 | In ASD, it is a challenge to involve stakeholders throughout the whole development process in regular iterations, so that system development will succeed. |
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
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.
Scrum [
Junta de Andalucía is the name of the regional government of the Spanish region
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.
In between 2008-2012, the Ministry of Culture transformed itself into an organization capable to operate under SOA paradigm [
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.
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.
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,
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
Metaclass | Instantiation for case a |
---|---|
System | 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. |
Domain | The domain of this problem is related to the e-government services and the integration into the ASD development lifecycle. |
Context of use | 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. |
User | The users are citizens and public employees as well as the IT esponsible or even the agile team. |
Stakeholder | The stakeholders are people in charge of the different departments (ministry, IT or business). |
Agile team | 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). |
Methodology | The methodology followed is NDT-Agile (based on Scrum and Earned Value Management). |
Agile RE problem | Technical or functional dependencies to other teams. |
Agile RE pattern | Discovering services that cover an agile requirement (see |
Agile RE activity | Identification and refinement. |
Attribute | Description |
---|---|
Pattern name | Discovering services that cover an agile requirement. |
Context | 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 |
Tag | Discovery, refinement and methods. |
Problem summary | In ASD, functional or technical dependencies with other teams are a challenge because a considerable coordination effort is required (P1, |
Usage description | 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 |
Example | 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. |
---|---|
Template | DS4aRE process (see |
Moreover,
Kanban [
The project was carried out in a medium-sized IT company, located in Germany [
In the following paragraphs, we will provide an instantiation of the metamodel (
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
and
Metaclass | Instantiation for case b |
---|---|
System | The system to be developed is an internet-based newspaper portal. |
Domain | The domain where the system is used can be classified as e-commerce in the publishing sector. |
Context of use | 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. |
User | 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. |
Stakeholder | There are a lot of different stakeholders involved within the development process of the system (e.g. management, investors or shareholders). |
Agile team | The agile team consists of twelve members: one team leader, one project manager, two visual designers, two UX experts and six developers. |
Methodology | The methodology integrates Kanban with HCD. |
Agile RE problem | Continuous requirements management. |
Agile RE pattern | Continuous management of the requirements by means of tools (see |
Agile RE activity | Discovery and refinement. |
Attribute | Description |
---|---|
Pattern name | Continuous management of requirements by means of tools |
Context | 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. |
Tag | Discovery, refinement and methods. |
Problem summary | 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, |
Usage description | 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 |
Example | |
---|---|
Template | See |
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 [
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.
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.
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.
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.
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.
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 [
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.
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 (
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.
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.
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.
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.
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é Domínguez Mayo for the valuable discussion concerning the agile RE metamodel.
This research has been supported by the Pololas project (TIN2016-76956-C3-2-R) of the Spanish Ministry of Economy and Competitiveness.
The authors declare no conflicts of interest regarding the publication of this paper.
Schön, E.-M., Sedeño, J., Mejí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