=Paper= {{Paper |id=Vol-1603/10000027 |storemode=property |title=A Methodology for Agile Requirements Engineering based on a Pattern Approach |pdfUrl=https://ceur-ws.org/Vol-1603/10000027.pdf |volume=Vol-1603 |authors=Eva-Maria Schön |dblpUrl=https://dblp.org/rec/conf/caise/Schon16 }} ==A Methodology for Agile Requirements Engineering based on a Pattern Approach== https://ceur-ws.org/Vol-1603/10000027.pdf
    A Methodology for Agile Requirements Engineering
             based on a Pattern Approach

                                     Eva-Maria Schön
                supervised by María José Escalona and Jörg Thomaschewski

                                 University of Seville, Spain
                                 eva.schoen@iwt2.org



       Abstract. Agile Software Development (ASD) is used facing the challenge to
       reduce time to market and to deliver systems, which meets customer expecta-
       tions. In ASD, Requirements Engineering (RE) is carried out in an iterative
       manner and therefore established approaches have to be adopted with strong
       focus on stakeholder and user involvement. The results of a Systematic Litera-
       ture Review (SLR) show that there are different ways to carry out Agile RE
       approaches, what increases heterogeneity among them. This thesis studies how
       a commonly accepted framework for Agile RE looks like. To this end, the
       initial phase for creating a methodology based on a pattern approach will be
       performed. Therefore, the design science research methodology is applied to
       carry out the research. The designed artifact is a metamodel that describes the
       Agile RE process at an abstract level. It represents the main part of the method-
       ology and will be evaluated through an international qualitative study.

       Keywords: agile software development, requirements engineering, human-
       centered design, human-computer interaction


1      Introduction

Companies are using agile methodologies (e.g. Scrum [1], Kanban [2] or Extreme
Programming (XP) [3]) for developing systems in an efficient manner and reducing
time to market in order to be competitive. These methodologies often lack in defining
the right kind of product that fulfils user needs. In order to develop products with a
good User Experience (UX), hybrid development approaches integrating Human-
Centered Design (HCD) [4] are utilized. In addition, companies face the challenge to
be flexible and to improve their Requirements Engineering (RE) process models.
   In Agile Software Development (ASD) requirements are often treated as hypothe-
ses [5] that are continuously validated through frequent stakeholder and user feed-
back. Requirements are regularly described from a user perspective in the form of
epics and user stories [6]. Compared to established RE approaches (see [7], [8]) a list
of prioritized requirements (Product Backlog [1]) is used instead of a requirements
specification document. In Agile RE, activities (elicitation, documentation, validation,
negotiation and management) are repeated each iteration due to the iterative nature of
ASD. This leads to a kind of ad hoc nature of Agile RE. On one hand, people working
in startups are not often aware of their RE processes and, for that reason, they use
implicit process models. On the other hand, we identify a general desire for having a
precise calculability in big companies that leads, in some cases, to heavyweight RE
processes that result in inflexibility and a plan-driven culture.
   This article gives an overview about the research goals of my PhD thesis and pre-
sents the actual progress. In particular, an initial version of a metamodel is proposed
to describe Agile RE as a problem-solving approach to ASD, which is influenced by
different parameters. The paper is structured as follows: section 2 briefly summarizes
the related work. Section 3 presents the research objectives and research questions
this PhD thesis proposes. Section 4 deals with the research methodology, covering a
description of each step of the research process, and also outlines the actual progress.
Section 5 presents the results that are obtained so far.


2      Related work

Based on my Systematic Literature Review (SLR) I found a couple of papers dealing
with Agile RE that focus on stakeholder and user involvement. Below, those most
related to this topic are briefly presented:
   Memmel et al. [9] develop a Cross-discipline User Interface and Software Engi-
neering (CRUISER) lifecycle based on XP, by starting with an Initial Requirements
Up-front Phase (IRUP). The results of IRUP are agile models that describe user needs
and task goals by means of essential use cases, scenarios and prototypes. This infor-
mation is elaborated and processed during the different phases of CRUISER.
   Kautz [10] integrates Participatory Design activities in XP. He carried out a case
study with the aim to investigate user and customer involvement in ASD. With the
application of an onsite customer as well as reviews with users and customers at the
end of an iteration, the agile team can detect problems concerning misunderstanding
of requirements early before they could grow into larger problems.
   Maguire [11] extends the HCD [4] framework for ASD. The HCD process consists
of the following steps: plan the HCD process; understand and specify the context of
use; specify user requirements; produce design solutions to meet user requirements;
and evaluate the designs against user requirements. He suggests a set of methods that
can be used to carry out each step of HCD. Furthermore, he recommends a couple of
artifacts, which are generated while using the methods.
   Cajander et al. [12] study the user perspective in ASD by distinguishing four areas:
responsibility for user perspective; activities including user perspective; usability and
UX through documentation; and contextual settings for emphasizing the user perspec-
tive. Their results show that in agile projects the responsibility both, for user perspec-
tive and for usability goals is unclear. Moreover, they report that ad hoc natures of
user involvement and design feedback exist.
   Rivero et al. [13] create the Mockup-Driven Development (MockupDD). Their
approach is integrated to Scrum and supports Model-Driven Web Engineering. In the
beginning of MockupDD, a quick requirements gathering stage is performed resulting
in a set of user stories. Costumers and users create mockups to represent graphically
these user stories. These mockups build the basis for the modeling process.
   Olsson et al. [5] build a conceptual model (Qualitative/quantitative Customer-
driven Development) that stresses the need for combining qualitative customer feed-
back in early stages of development with quantitative observations in later stages.
Requirements are treated as hypotheses that are validated with customers before de-
velopment. Hypotheses are derived from business strategies, innovation initiatives,
customer feedback and on-going validation cycles.
   Bellucci et al. [14] study the integration of XP and co-design sessions. In a field
study, they apply co-design sessions with users in order to quickly deploy an evolving
prototype that can be continuously evaluated by users.
   Analyzing the related work, it can be concluded that there is heterogeneity among
Agile RE approaches focusing on user and stakeholder involvement. However, these
approaches have one thing in common: they try to solve similar problems with differ-
ent characteristics in the field of Agile RE by using agile techniques. To this end, it is
possible to create a metamodel that describes these problems at a higher level.


3      Objectives and research questions

The main research objective of this PhD thesis is to investigate how a commonly
accepted framework for carrying out Agile RE looks like. To this end, a methodology
for Agile RE will be provided based on a metamodel that describes Agile RE as a
problem-solving approach. Particularly, the aim of this research is to help companies
and researchers to understand their implicitly used Agile RE processes and to enable
them improving their work. For this purpose, the research is guided by the following
research questions (RQ):

─ RQ1: What is the state of the art in Agile RE?
─ RQ2: How does a metamodel that covers Agile RE approaches look like?
─ RQ3: How can the metamodel be tailored to different approaches?
─ RQ4: How can the outcomes of the metamodel be evaluated?
─ RQ5: How can we apply the metamodel in a real world?

    The RQs can be classified according to the classification system by Wieringa [15].
RQ1 and RQ4 are classified as knowledge questions. The aim is on one hand, to iden-
tify problems in the field of Agile RE (RQ1), and on the other hand, to evaluate
whether the proposed metamodel is suitable enough to solve these problems (RQ4). In
contrast, RQ2, RQ3 and RQ5 are classified into practical problems that tend to con-
struct and apply the metamodel for Agile RE.


4      Research methodology and progress

This PhD thesis will follow the Design Science (DS) research methodology provided
by Peffers et al. [16] in combination with the guidelines by Hevner et al. [17], [18].
DS has been chosen as research methodology due to its iterative nature, in order to
create a new artifact that serves the field of Agile RE. Fig. 1 offers an overview of the
process model covering the different steps that will be carried out during this work.




                  Fig. 1. Design Science research methodology and progress


4.1      Identify Problem and Motivate (related to RQ1)
The research started in 2015 by conducting a SLR (paper under review). Therefore,
the guidelines by Kitchenham and Charters [19] were adopted. The aim of the SLR
was to capture the current state of the art in Agile RE, focusing on user and stake-
holder involvement. The SLR was guided by the following RQs:

─ RQ1.1: What approaches involving stakeholder in the process of RE compatible
  with ASD do exist?
─ RQ1.2: Which agile methodologies are accepted in order to present the user per-
  spective to stakeholders?
─ RQ1.3: What are the common ways for requirements management in ASD?

   Table 1 presents the keywords that were used for search. In sum, 43,773 papers
were identified; 42,808 studies in an initial search and 965 studies through the snow-
balling technique [20].

      Category                           Keywords
      Agile methodology                  agile, scrum, kanban, extreme programming, lean
      Human Computer Interaction         hci, hmi, ucd, usability, human, user
      Requirements Engineering           requirements engineering

                             Table 1. Keywords used for search
   The search process was carried out in different phases in order to reduce the find-
ings. A total of 27 studies were classified as relevant and then analyzed. To summa-
rize, it must be stated that the review shows there is no accepted process model for
stakeholder and user involvement. Moreover, guidelines for requirements manage-
ment are missing.


4.2    Define Objectives of a Solution (related to RQ2)

This step has two principal objectives: defining the requirements for a metamodel and
creating a vision. As previously mentioned, the vision of this PhD thesis is to develop
a methodology for Agile RE based on a pattern approach. This methodology should
become a commonly accepted framework for carrying out Agile RE. On one hand, it
must be flexible enough to feature the integration in every agile methodology. On the
other hand, it must be brought into alignment with established RE approaches.


4.3    Design and Development of a Metamodel (related to RQ3)

This phase is mainly filled by designing and developing the artifact. The first task is
already done by creating an initial version of a metamodel for Agile RE (see Fig. 2),
which describes the Agile RE process model and the influencing parameters. The
second task is still ongoing and covers the iterative evaluation of the metamodel
through expert reviews. We can learn how the metamodel can be tailored for different
agile approaches (e.g. Scrum [1] or Kanban [2]). Moreover, we investigate how the
metamodel supports established RE methodologies (e.g. NDT [21]) to become more
agile. The metamodel builds the basis for the methodology that will be developed
subsequent to it.


4.4    Evaluation of the Metamodel (related to RQ4)
The metamodel will be evaluated through an international qualitative study. In addi-
tion, experiments and case studies are planned in order to proof the effectiveness and
flexibility of the metamodel. To this end, appropriate metrics have to be defined with
the aim to evaluate the outcomes of the proposed methodology.


4.5    Demonstration of the Metamodel (related to RQ5)
The demonstration of the metamodel will be performed by providing an application in
a real world context. For this purpose, the results from the SLR can be used. The ap-
plication will be part of the methodology for Agile RE and will act as a framework to
support the integration in work practice. Consequently, companies and researchers
will be enabled improving their Agile RE processes through the proposed methodolo-
gy.
5      Proposed Metamodel for Agile RE

Fig. 2 presents a first version of the metamodel for Agile RE. The evaluation through
an international qualitative study has started and it is still ongoing.




                            Fig. 2. Metamodel for Agile RE

   The metamodel for Agile RE (see Fig. 2) shows the influencing parameters in
Agile RE with strong focus on stakeholder and user involvement. Below, the meta-
classes and their origins are highlighted:

─ The metaclasses ‘user’ and ‘context of use’ have their origins in HCD [4] (pink).
─ The field of ASD (green) is represented in this model by the metaclasses ‘agile
  team’, ‘stakeholder’ and ‘methodology’. The latter can be for instance Scrum,
  Kanban or XP.
─ The metaclasses ‘domain’ and ‘system’ are related to Domain Driven Design [22]
  (orange).
─ The metaclass ‘RE activity’ (grey) bridges the gap to established RE approaches.
  An ‘Agile RE pattern’ (by means of agile techniques) is used in one or more activi-
  ties (e.g. elicitation, documentation, validation, negotiation and management).
─ The main contribution of this proposal is that Agile RE (blue) is seen as a problem-
  solving approach consisting of problems within a specific ‘environment’. These
  ‘Agile RE problems’ can be solved by utilizing one or more ‘Agile RE pattern’.
6      Conclusion and future work

This paper presents the proposal and the actual progress of my PhD thesis. The main
objective of this work is to create a commonly accepted framework for carrying out
RE in ASD. The initial phase for creating a methodology for Agile RE will be per-
formed. To this end, five research questions are asked. RQ1 is answered through a
SLR (under review). The initial work for answering RQ2 and RQ3 is executed by
both, providing a general vision of the PhD thesis in this paper and designing a meta-
model for Agile RE. The next steps will study how the metamodel can be tailored to
different methodologies (e.g. Scrum, Kanban or NDT). In addition, an evaluation of
the metamodel through an international qualitative study (RQ4) in order to assess the
metamodel has started. Furthermore, it is planned to build a real world application
(RQ5). This PhD thesis contributes to the software development body of knowledge
by providing the initial phase for creating a methodology that a) builds homogeneity
among Agile RE approaches through a metamodel b) enables companies and re-
searchers to improve their Agile RE process through visualization, and c) supports
established approaches of RE to become more agile.


Acknowledgements

I would like to thank my directors María José Escalona and Jörg Thomaschewski for
their collaboration and their valuable feedback. This research has been supported by
the Megus project (TIN2013-46928-C3-3-R) and by the SoftPLM Network
(TIN2015-71938-REDT) of the Spanish Ministry of Economy and Competitiveness.


References
 1. Schwaber, K.: Agile Project Management with Scrum. Microsoft (2004).
 2. Anderson, D.J.: Kanban - Successful Evolutionary Change for your Technology Business.
    Blue Hole Press. (2010).
 3. Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley (2000).
 4. ISO: ISO 9241-210:2010 - Ergonomics of human-system interaction - Part 210: Human-
    centred design for interactive systems. (2010).
 5. Olsson, H.H., Bosch, J.: Towards Continuous Customer Validation: A Conceptual Model
    for Combining Qualitative Customer Feedback with Quantitative Customer Observation.
    LNBIP. 210, 154–166 (2015).
 6. Cohn, M.: User Stories Applied: For Agile Software Development. (2004).
 7. Pohl, K.: Requirements Engineering: Fundamentals, Principles, and Techniques. Springer
    Publishing Company, Incorporated (2010).
 8. Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide. John
    Wiley & Sons, Inc., New York, USA (1997).
 9. Memmel, T., Gundelsweiler, F., Reiterer, H.: Agile Human-Centered Software
    Engineering. Proceedings of the 21st British HCI Group Annual Conference on People and
    Computers: HCI...but not as we know it - Volume 1. 167–175 (2007).
10. Kautz, K.: Participatory Design Activities and Agile Software Development. In: IFIP WG
    8.2/8.6 International Working Conference. pp. 303–316 (2010).
11. Maguire, M.: Using human factors standards to support user experience and agile design.
    In: Proceedings - International Conference, UAHCI 2013, Held as Part of HCI
    International 2013, Las Vegas, NV, USA (2013).
12. Cajander, Å., Larusdottir, M., Gulliksen, J.: Existing but Not Explicit - The User
    Perspective in Scrum Projects in Practice. In: Lecture Notes in Computer Science
    (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in
    Bioinformatics). pp. 762–779 (2013).
13. Rivero, J.M., Grigera, J., Rossi, G., Robles Luna, E., Montero, F., Gaedke, M.: Mockup-
    Driven Development: Providing agile support for Model-Driven Web Engineering.
    Information and Software Technology. 56, 670–687 (2014).
14. Bellucci, A., Jacucci, G., Kotkavuori, V., Serim, B., Ahmed, I., Ylirisku, S.: Extreme Co-
    design: Prototyping with and by the User for Appropriation of Web-connected Tags. 5th
    International Symposium, IS-EUD 2015, 109–124 (2015).
15. Wieringa, R.: Design Science as nested problem solving. 4th International Conference on
    Design Science Research in Information Systems and Technology. 1–12 (2009).
16. Peffers, K., Tuunanen, T., Rothenberger, M.A., Chatterjee, S.: A design science research
    methodology for information systems research. Journal of Management Information
    Systems. 24, 45–77 (2007).
17. Hevner, A.R., March, S.T., Park, J., Ram, S.: Design science in information systems
    research. 28, 75–105 (2004).
18. Hevner, A., Chatterjee, S.: Design Science Research in Information Systems. (2010).
19. Kitchenham, B., Charters, S.: Guidelines for performing Systematic Literature Reviews in
    Software Engineering. (2007).
20. Jalali, S., Wohlin, C.: Systematic literature studies: database searches vs. backward
    snowballing. In: Proceedings of the 2012 6th ACM_IEEE International Symposium on
    Empirical Software Engineering and Measurement (ESEM). pp. 29–38 (2012).
21. Escalona, M.J., Aragon, G.: NDT. A Model-Driven Approach for Web Requirements.
    IEEE Transactions on Software Engineering. 34, 377–390 (2008).
22. Evans, E.J.: Domain-Driven Design: Tackling Complexity in the Heart of Software.
    Addison Wesley (2003).