<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Practical Aspects of The Integration of Agile Development and Model-Driven Development: An Exploratory Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hessa Alfraihi</string-name>
          <email>hessa.alfraihi@kcl.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kevin Lano</string-name>
          <email>kevin.lano@kcl.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>dept. of informatics, King's College London</institution>
          ,
          <addr-line>London</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>dept. of informatics, King's College London</institution>
          ,
          <addr-line>London</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-The aim of this paper is to investigate and gain insights into the state of practice of integrating Agile development and Model-Driven Development (MDD), understanding their impact and various problems of their applicability. To meet this aim, we conducted seven in-depth, one-to-one interviews with Agile and MDD practitioners to provide insights about their experiences and opinions of integrating Agile and MDD. The study found that although both approaches gained considerable attentions by practitioners, the state of practice is not yet mature. Key challenges relate to the lack of well-defined process, lack of adequate tools and steep learning curve. Index Terms-agile software development, model-driven development, agile model-driven development, empirical study, interviews</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The Agile software development principles emerged as
a reaction to the bureaucratic traditional methodologies by
discarding precise upfront planning [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Under the umbrella
of Agile principle, there are many methods (such as Scrum
and Extreme Programming (XP)) that share the same set of
values and principles defined in Agile Manifesto [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. They are
characterised as incremental (small system releases with short
cycles), cooperative (developers and customers collaborating
constantly through the development process with close
communication), straightforward to learn and adaptive to changes
in the requirements [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Model-Driven Development (MDD) is an alternative
software development approach where models are the primary
development artifacts and the process becomes model driven
where the code and the documentations are generated from
models. The MDD vision is to reduce the gap between the
problem and implementation domains through increasing the
level of abstraction and through automating the transformation
process between models [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        While both Agile development and MDD have received
considerable attention from industry and academia, there
is little data about their integration [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This paper
presents details of an exploratory study that was conducted
on integrating Agile development and MDD (Agile MDD).
The main objectives of this paper are to examine and gain
insight into the Agile MDD approaches and practices by
answering the following research questions:
(RQ1) What are the reasons that motivate integrating Agile
practices and MDD processes?
(RQ2) How are Agile practices and MDD integrated?
(RQ3) What are the benefits of integrating Agile and MDD
on development process?
(RQ4) What are the challenges of integrating Agile and MDD?
      </p>
      <p>The structure of the paper is as follows: Section II discusses
related work. Section III presents the research methodology
while Section IV describes the projects surveyed. Section V
presents the results of the study and Section VI discusses and
summaries them. Section VII discusses the limitations of this
study while Section VIII concludes the paper.</p>
    </sec>
    <sec id="sec-2">
      <title>II. RELATED WORK</title>
      <p>
        In this section, we present related work namely empirical
studies of Agile MDD. Burden et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] have conducted
a systematic literature review by proposing two research
questions with the goal to investigate the empirical evidence
of the state of art of Agile MDD approaches and what is
lacking in that area. The study shows that Agile MDD is still
in its early stages and there is a need for detailed experience
reports. In our previous work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we presented a systematic
literature review to complement the results of [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] where fifteen
primary studies were reviewed. The main characteristics of
Agile MDD approaches besides their benefits and problems
are highlighted. Both systemic literature review studies provide
broader coverage, but they are less in-depth than interview
study.
      </p>
      <p>
        Eliasson and Burden [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] have conducted an exploratory
study at Volvo Car Corporation (VCC). At VCC, individual
teams adopt Agile practices with MDD while the
organisation at large still use plan-driven process. The aim of this
exploratory study is to investigate how Agile practices can
be extended to the organisation level. In specific, it aims to
answer the following question: Which are the challenges and
possibilities for a more Agile software development process on
a system level?. They interviewed 17 engineers to identify the
challenges of the current process at VCC and how to improve
it. The results of the interviews revealed two main challenges:
first, the developers have to wait long before getting feedback
which forced them to make premature assumptions leading
to unwanted side-effects and faults; second, the use of MDD
tools force developers to employ a waterfall process. The
main finding of this study is that there is a need for a more
Agile way of working to obtain earlier and faster feedback.
They conclude that Agile MDD can be useful in automotive
development. However, their study is context specific to VCC
to examine its case and limited to automotive domain which
is difficult to be generalised.
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. RESEARCH METHOD</title>
      <p>
        We conducted semi-structured interviews with seven
practitioners (in person or via Skype) from a variety of countries
including the United Kingdom, Germany, Sweden, Brazil, India,
Argentina, and Belgium. Our participants were selected based
on personal contacts or from our previous literature survey
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. They have between two and twenty years of experience
in Agile and MDD development. The interviews lasted about
45-60 minutes and were conducted by the first author. They
began with a question about the participant background and
experience; then followed by a series of questions about some
practical aspects of Agile MDD such as those relating to the
motivation of applying Agile MDD, the strategy of combining
Agile and MDD, its benefits and challenges and so on. The
interview guide can be found via the link in the footnote 1.
All participants were asked to answer the interview questions
based on a self-selected project where they had leading roles
in the project. All the interviews were audio recorded after
obtaining the participants’ consent. After that, the interviews
were transcribed in order to facilitate the analysis process.
Then, the obtained data was analysed using qualitative content
analysis [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. PROJECTS PROFILES This section presents a description of the projects which the participants have developed in the context of Agile MDD. Seven projects were involved in this study:</title>
      <p>P1: This project is a web-based application which aims to
generate domain models and navigations from either written
requirements or captured with interface mockups. It can be
considered as a medium-sized project (40-50 classes). The
development effort is not available.</p>
      <p>P2: This project is a web-based application to apply an
online auction. It is implemented using J2EE and the
development effort is 2 person-year.</p>
      <p>P3: This project involves developing electrical component
systems in the automotive industry. The accurate scale of this
project is not available, while the development effort is 80
person-years.
1https://drive.google.com/file/d/0B70Tq3TKSoDQZDhfV2F5RGI1TTA/
view?pli=1</p>
      <p>P4: This is a component-based approach used to develop
policy administration systems for a large insurance company.
It is implemented in C++ in nine million lines of code (LOC)
and the development effort is 200 person-years.</p>
      <p>P5: This project involves the risk evaluation of financial
investments in which the process of risk analysis includes
intensive computations. It is implemented in C++ in 3000 LOC
while the development effort is two person-months.</p>
      <p>P6: This project is a web-based application for issue
tracking system that manages and maintains a list of reported issues.
It is implemented in PHP in 30000 LOC and this required eight
person-years of development time.</p>
      <p>P7: This project is an online simulation platform in
neurorobotics for running and describing experiments. The platform
is implemented in C++ and Python. The development effort is
15 person-years.</p>
    </sec>
    <sec id="sec-5">
      <title>V. INTERVIEW RESULTS The results are analysed based on the research questions posed in the introduction. For brevity, we provide quotes for only some of the results.</title>
      <p>RQ1: Motivations for Integrating Agile Methods and MDD.</p>
      <p>
        Accelerating development process was a frequent
motivation given by the interviewees (four out of seven). This can
be attained by the two approaches. The automation (producing
code and other artifacts from models) of MDD is assumed to
accelerate the development process [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. On the other hand,
agility means to minimise the heaviness commonly attributed
to traditional development methods to promote rapid response
to changes in requirements and accelerate development process
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        Another motivation for adopting Agile MDD was to involve
the customer frequently in the development process. Basically,
this can be realised by applying Agile development as active
participation of the customers is one of the key principles
of agility [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Studies show that having the customer as the
primary source of information leads to an effective means of
requirements gathering especially in the early stages of the
development through active participation of concerned
stakeholders, and levering changes [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Providing early feedback
is also valuable within different stages of development as
the customer can assess and evaluate frequent deliverables
of the system. With regard to MDD, involving the customer
or end-user in the development activities is a difficult task
since they usually don’t understand the concerned technical
specification such as Domain Specific Language (DSL) and
modelling techniques [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        One interviewee stated that the motivation of
integrating Agile and MDD was to make the MDD process more
lightweight. MDD can be considered as a heavyweight process
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] (i.e. it requires a lot of planning, developing the models,
and specifying the transformation rules etc.). Therefore, it is
assumed that applying Agile into MDD process will result
in less rigorous process. By developing the system in an
incremental-fashion, developers will be focusing on building
only small parts of the system at a time by developing just
barely good enough models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] that fulfil their purpose. In
this regard, another interviewee stated that he integrated Agile
development and MDD because the application domain was
unfamiliar to him, so he noted:
“It was considered to be a more secure kind of
development “to develop it in increments” rather
than attempting to specify and develop it all in one
stage. It was considered to be a more flexible, a
more reliable approach to do it up in increments and
with certain functionalities in each iteration” (Study
participant).
      </p>
      <p>
        Building the system incrementally can be a good practice
to have a better understanding of the problem domain. Vo¨ lter
et al state that developing the MDD system incrementally
will be useful in growing the understanding of the domain
and hence reducing the complexity associated with the
development process [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ].
      </p>
      <p>RQ2: Agile and MDD Integration Process</p>
      <p>
        According to Matinnejad [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], Agile MDD process can
be developed by: introducing Agile method to a current
MDD process which is called MDD-based, by applying MDD
process to an agile method (i.e. Agile-based), or by
integrating some fragments from Agile and other from MDD to
develop the process (i.e. Assembly-based). We found out that
three projects have followed MDD-based approach and two
other employed Assembly-based approach while two projects
develop their Agile MDD process according to Agile-based
approach.
      </p>
      <p>Although, both Agile and MDD processes have been
introduced for more than a decade, the basic principles on
how to integrate them together are not well-known. In this
regard, all the interviewees stated that they don’t follow a
well-defined process or systematic guidelines to guide through
development. As a consequence, development teams introduce
practices of Agile and MDD in an ad-hoc manner or based on
their personal experiences. More interestingly, some
interviewees mentioned that they decided on their own way of work
at run-time or just before each iteration how to integrate the
different practices.</p>
      <p>
        With regard to Agile development, all interviewees utilised
the iterative and incremental development as the fundamental
Agile practice (with variant length of iterations). In terms of
Agile method, six interviewees used Scrum[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] or Scrum-like
method while the other used a general Agile method. On the
other hand, only few specific Agile practices have been utilised
such as pair development in P1, refactoring in P1,P5, and P6,
stand-up meeting in P3, P4, and P7, review and retrospective
meetings in P7, Test-Driven Development in P1, and release
planning in P5.
      </p>
      <p>
        The frequent collaboration with the customer is one of
the main value stated by Agile Manifesto [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, the
level of customer involvement during the development process
varied amongst the projects; in some cases, the customer is
extensively involved only during the requirements phase to
understand his/her needs and expectations of the system. After
that, the communication with the customer is limited until
an increment of the system is released and he provides his
feedback on the work. This means the customer is not involved
during the whole development process. On the contrast, other
interviewee stated that the customer is collaborated all the
time during the development. Although it is difficult to get the
customer physically involved, he is always available (mostly
via emails) for discussion and answering questions during the
iteration.
      </p>
      <p>Regarding MDD paradigm, we discovered that most
projects used models to generate the code automatically. One
interviewee evaluated the generated code to be between 80
and 90 percent of the total. Conversely, one interviewee stated
that most of the development process is code-centric and the
models are used to generate the “glue-code” in order to bind
different components of the system. Moreover, models were
used for simulation in order to assist decision making process
as in P3 and P7. When it comes to modelling approaches,
we found DSL has been employed by three projects (P1, P2,
and P3) and UML is used by projects P4, P5, and P6 while
P7 used XML-based schema to develop the models. Most
of the projects supported forward engineering in which the
specifications are transformed to the source code. Therefore,
when a change to the requirements occurs, the models are
changed to reflect the new requirements and then the models
are transformed to the source code (by applying
model-totext transformation). However, two interviewees stated that
round-trip engineering is provided by their approaches either
partially as in P2 or fully as in P7. With regard to verification
and validation, only two projects (P1 and P4) used models for
generating test cases (i.e. model-based testing). Unit testing,
integration testing, acceptance testing were common testing
techniques among the rest of projects. Table I presents an
overview of the Agile MDD approaches.</p>
      <p>RQ3: The Benefits of Integrating Agile Development and
MDD Process</p>
      <p>Accelerating the development process was the most
recurring advantage noticed by the interviewees. By having short
iterations, developers managed to build the system
incrementally and to verify it early which contribute in saving time.
On the other hand, generating code and other artifacts from
models automatically helped to speed up development process
by reducing efforts in developing code.</p>
      <p>The frequent interaction with customers has a significant
impact on the development process. One interviewee stated
that having a continuous interaction with the customer helped
to obtain requirement elicitation faster and captured in a
formal manner. In addition, it helped to reduce the risk
of building incorrect functionalities and the risk of rework
in later iterations. Another interviewee agreed that frequent
interactions with the customer helped improve the software
quality because developers were able to find out what the real
requirements are early. On the same note, other interviewee
stated that Agile development was a necessary method with
unclear expected requirements because it helped to develop
distinct requirements incrementally .</p>
      <p>Software quality improvement has been realised as an
advantage of Agile MDD. Building the system incrementally
and breaking its functionalities into smaller chunks of work
make it easier to understand the functionalities and more
focused to build the right artifacts while generating the code
automatically helped to increase the efficiency of the code.</p>
      <p>From another perspective, Agile practices helped to
relax some of the MDD recommendations and make it more
lightweight. In this context, one interviewee noticed that
building the system incrementally has helped novice developers
improve their knowledge about MDD.</p>
      <p>“MDD by nature is complex [...] but when we
introduced for example some ideologies from agile,
developers feel more comfortable with it” (Study
participant).</p>
      <p>Table II summarises the benefits of integrating Agile
development and MDD.</p>
      <p>RQ4: The Challenges and Problems of Integrating Agile
and MDD</p>
      <p>
        The lack of proper tool support was the most frequent
challenge mentioned by the interviewees. Actually, this issue
concerns more the MDD paradigm [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] since it is highly
dependent on technical functionality of the tools to facilitate models
creation and transformations. There are different challenges
concerning the tools such as immature tools, poor performance
issues, integration issues and insufficient support for the whole
development life cycle. This issue resulted in a lot of costly
manual activities carried out to accomplish the work during
the development process.
      </p>
      <p>
        The steep learning curve was another recurrent problem
mentioned by the interviewees that was an obstacle to adopt
Agile MDD. Although both Agile and MDD approaches are
subject to steep learning curve [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], some interviewees
argued that MDD has a dominant factor regarding this issue.
“I think that the learning curve is steep, but I also
think that’s something typical of model-driven and
not agile plus model-driven” (Study participant).
      </p>
      <p>This is because MDD requires a substantial amount of
knowledge about different technologies and language. Such
requirements are huge challenges to developers who are new
to the area.</p>
      <p>Moreover, the lack of well-defined process and guidelines
for combining Agile and MDD approaches was another shared
view between many interviewees. Indeed, this contributed to
the steep learning curve as well. When they were asked how
they overcame the lack of guidelines, one interviewee said
that Agile manifesto was used to guide them while another
interviewee answered:
“We looked for some incompatibilities that could
hamper the introduction of MDD to that context
[Agile context]. But in fact we have no guidelines
to follow. It was entirely adapted ... and this is very
bad for the practice because we have no security if
our initiative succeeds or fails” (Study participant).</p>
      <p>In addition, interviewees highlighted their concerns over
the lack of customer availability, convincing the customer and
development teams to adopt MDD, difficulties with
metamodels specification and the lack of modelling skills. Table III
summarises the challenges of integrating Agile development
and MDD.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. SUMMARY AND DISCUSSION</title>
      <p>
        Our study indicates that Agile MDD approach is often
used informally (i.e. there is no well-defined process or
systematic guidelines for the adoption). Although trial-and
error is considered inappropriate technique of developing
software [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], most development teams follow a
“trial-anderror” or ad-hoc approaches to integrate Agile and MDD.
Practically, they employ iterative and incremental development
as the main Agile practices in conjunction with some MDD
practices such as modelling and code generation. Also, we
found that Agile MDD has been adopted in a broad range
of domains include web applications, business and financial
applications, embedded system, and neurorobotics domain. In
addition, Agile MDD has been successfully applied in small
to medium sized systems with small development team (4
projects) as well as in larger systems (3 projects). In line with
the results of our previous SLR [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], accelerating development
process and involving the customer in the development process
were seen as the main motivations for adopting Agile and
MDD. Accelerating development process was also found as
an important motivation for Agile and MDD adoption in the
research presented in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
      <p>
        The results of the interviews indicate that the interviewees
who have integrated Agile and MDD have recognised
advantages such as accelerated development and improvement
in developers focus. Agile MDD was also seen to improve
the communication with the customers and hence improving
the correctness of the requirements. Unlike the findings in
our systematic literature survey [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], advantages related to
improvement of productivity have not been mentioned by the
interviewees. However, these obtained benefits can serve as a
hypotheses to be tested in further research.
      </p>
      <p>
        There are still many challenges such as steep learning curve.
Likewise, in our SLR [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a steep learning curve and models
management issues were recurrent problems from integrating
Agile and MDD. We can interpret that steep learning curve is
due to the fact that the developers need to learn new set of
technologies. The lack of well-defined process even makes
it more challenging. To overcome this problem, there is a
need for a comprehensive framework that includes the best
practices of agile and MDD. Also, it is important to know the
similarities and the differences between Agile and MDD to
facilitate their integrations. Another common challenge was
found to be immature tools support. Mohagheghi et al [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
write that immature tools can lead to a productivity loss.
In this study, the participants perceived that the success of
Agile MDD adoption depends on the availability of MDD tool
support.
      </p>
      <p>However, the interviewees seem to be positive about the
Agile MDD approach; more satisfied about its encouraging
results such as shortening development process and frequent
interaction with customers. Our overall interpretation is that
integrating Agile development and MDD appears to be
promising and the successful adoption of MDD largely depends on
how MDD is defined and adopted. In addition, what and how
to integrate the different practices of Agile development should
be carefully considered.</p>
      <p>The following points are considered important for future
improvements in the field of Agile MDD:</p>
      <p>
        Well-defined Agile MDD method: A well-defined
software development method is one of the key factor for
successful adoption of the process by guiding
development teams how they should work [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. To this end,
there is a need for a method that facilitates the integration
between Agile and MDD. Also, an adequate training
for developers is necessary to minimise the high initial
investment of adopting Agile MDD.
      </p>
      <p>Round-trip engineering (RTE): Reverse engineering of
code to models and vice versa is needed for a quick
turnaround of changes applied at code level. One
interviewee agreed that supporting round-trip engineering would
be of greater value for traditional developers (code-centric
developers).</p>
      <p>Automated test generation: Testing must be automated
to make it cost-effective by reducing the effort needed
to generate test cases. Also, it must be repeated to
ensure that it meets the requirements expectations. In the
principle of MDD, test cases can be generated from the
models but it remains a subject of research how to do
this in the right way.</p>
      <p>
        Proper tool support: Although Agile manifesto gives
priority for individual and interactions over tools and
processes, tools are crucial to facilitate fast delivery and
easy modification of prototypes [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Having proper tools
that provide an adequate support could improve and
facilitate the adoption of Agile MDD. These tools should
consider configuration and change management features
besides modelling, development, and testing.
      </p>
    </sec>
    <sec id="sec-7">
      <title>VII. LIMITATIONS</title>
      <p>Content analysis approach was used for analysing the
interviews. This method does not provide a statistical significance
of the results. However, it is well-suited for exploring and
discovery and it can provide a subjective understanding of
the topic of interest. Another limitation is the relatively low
number of interviewees conducted in this study due to the fact
of the lack of Agile MDD interviewees and their willingness
and interest to participate in the interview. Rather, the
interviewees had a good experience in Agile and MDD allowing us
to consider many practical perspectives in this study. As this
study is the first in its context, this study provides an overview
of some practical aspects of integrating Agile and MDD that
contribute to improve the understanding of this area.</p>
    </sec>
    <sec id="sec-8">
      <title>VIII. CONCLUSION AND FUTURE WORK</title>
      <p>
        In this paper, we have presented the results of
interviewbased study in which we have explored real-life experiences
of integrating Agile and MDD in practice. The aim of this
study was to complement the findings of our previous study
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and to provide more in-depth understanding of the practical
aspects of integrating Agile and MDD. Our findings suggests
that the interviewees found that integrating Agile development
processes and MDD is feasible and promising, while there is
no clear road map for their integration.
      </p>
      <p>This research may help those who want to adopt Agile MDD
as well as researchers to prove these findings. However, more
evidence on the benefits of integration Agile development
and MDD from research and real experiences is needed. As
a future work, we will define a comprehensive method for
Agile MDD and systematic guidelines on how to integrate
both approaches and then evaluate its feasibility with a case
study.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Pekka</given-names>
            <surname>Abrahamsson</surname>
          </string-name>
          , Outi Salo, Jussi Ronkainen,
          <string-name>
            <given-names>Juhani</given-names>
            <surname>Warsta</surname>
          </string-name>
          , et al.
          <source>Agile software development methods: Review and analysis</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Hessa</given-names>
            <surname>Alfraihi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Kevin</given-names>
            <surname>Lano</surname>
          </string-name>
          .
          <article-title>The integration of agile development and model driven development: A systematic literature review</article-title>
          .
          <source>In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development</source>
          ,
          <string-name>
            <surname>MODELSWARD</surname>
          </string-name>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Scott</given-names>
            <surname>Ambler</surname>
          </string-name>
          .
          <article-title>Agile modeling: effective practices for extreme programming and the unified process</article-title>
          . John Wiley &amp; Sons,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Paul</given-names>
            <surname>Baker</surname>
          </string-name>
          , Shiou Loh, and
          <string-name>
            <given-names>Frank</given-names>
            <surname>Weil</surname>
          </string-name>
          .
          <article-title>Model-driven engineering in a large industrial context-motorola case study</article-title>
          .
          <source>In International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>476</fpage>
          -
          <lpage>491</lpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Kent</given-names>
            <surname>Beck</surname>
          </string-name>
          .
          <source>Manifesto for agile software development</source>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Ha</surname>
          </string-name>
          <article-title>˚kan Burden, Sebastian Hansson, and Yu Zhao. How MAD are we? Empirical Evidence for Model-driven Agile Development</article-title>
          .
          <source>In Proceedings of XM</source>
          <year>2014</year>
          , 3rd Extreme Modeling Workshop, volume
          <volume>1239</volume>
          , pages
          <fpage>2</fpage>
          -
          <lpage>11</lpage>
          , Valencia, Spain,
          <year>September 2014</year>
          . CEUR.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Ulf</given-names>
            <surname>Eliasson</surname>
          </string-name>
          and
          <article-title>Ha˚kan Burden. Extending agile practices in automotive mde</article-title>
          .
          <source>In XM@ MoDELS</source>
          , pages
          <fpage>11</fpage>
          -
          <lpage>19</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Satu</given-names>
            <surname>Elo</surname>
          </string-name>
          and
          <article-title>Helvi Kynga¨s. The qualitative content analysis process</article-title>
          .
          <source>Journal of advanced nursing</source>
          ,
          <volume>62</volume>
          (
          <issue>1</issue>
          ):
          <fpage>107</fpage>
          -
          <lpage>115</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>John</given-names>
            <surname>Erickson</surname>
          </string-name>
          , Kalle Lyytinen, and
          <string-name>
            <given-names>Keng</given-names>
            <surname>Siau</surname>
          </string-name>
          .
          <article-title>Agile modeling, agile software development, and extreme programming: the state of research</article-title>
          .
          <source>Journal of database Management</source>
          ,
          <volume>16</volume>
          (
          <issue>4</issue>
          ):
          <fpage>88</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Martin</given-names>
            <surname>Fowler</surname>
          </string-name>
          .
          <article-title>The new methodology</article-title>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Robert</given-names>
            <surname>France and Bernhard Rumpe</surname>
          </string-name>
          .
          <article-title>Model-driven development of complex software: A research roadmap</article-title>
          .
          <source>In 2007 Future of Software Engineering</source>
          , pages
          <fpage>37</fpage>
          -
          <lpage>54</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>David</given-names>
            <surname>Frankel</surname>
          </string-name>
          .
          <article-title>Model Driven Architecture: Applying MDA to Enterprise Computing</article-title>
          . John Wiley &amp; Sons, Inc., New York, NY, USA,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>James</surname>
            <given-names>A</given-names>
          </string-name>
          <string-name>
            <surname>Highsmith</surname>
          </string-name>
          .
          <article-title>Agile software development ecosystems</article-title>
          , volume
          <volume>13</volume>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Merisalo-Rantanen</surname>
            <given-names>Hilkka</given-names>
          </string-name>
          , Tuunanen Tuure, and
          <string-name>
            <given-names>Matti</given-names>
            <surname>Rossi</surname>
          </string-name>
          .
          <article-title>Is extreme programming just old wine in new bottles: A comparison of two cases</article-title>
          .
          <source>Journal of Database Management</source>
          ,
          <volume>16</volume>
          (
          <issue>4</issue>
          ):
          <fpage>41</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Watts</surname>
            <given-names>S Humphrey.</given-names>
          </string-name>
          <article-title>Managing the software process</article-title>
          .
          <source>Addison-Wesley</source>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Reza</given-names>
            <surname>Matinnejad</surname>
          </string-name>
          .
          <article-title>Agile model driven development: An intelligent compromise</article-title>
          .
          <source>In Software Engineering Research, Management and Applications (SERA)</source>
          ,
          <year>2011</year>
          9th International Conference on, pages
          <fpage>197</fpage>
          -
          <lpage>202</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Parastoo</given-names>
            <surname>Mohagheghi</surname>
          </string-name>
          and
          <string-name>
            <given-names>Vegard</given-names>
            <surname>Dehlen</surname>
          </string-name>
          .
          <article-title>Where is the proof?-a review of experiences from applying mde in industry</article-title>
          .
          <source>In European Conference on Model Driven Architecture-Foundations and Applications</source>
          , pages
          <fpage>432</fpage>
          -
          <lpage>443</lpage>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Francisca</surname>
            Pe´rez, Pedro Valderas, and
            <given-names>Joan</given-names>
          </string-name>
          <string-name>
            <surname>Fons</surname>
          </string-name>
          .
          <article-title>Towards the involvement of end-users within model-driven development</article-title>
          .
          <source>In International Symposium on End User Development</source>
          , pages
          <fpage>258</fpage>
          -
          <lpage>263</lpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Ruben</given-names>
            <surname>Picek</surname>
          </string-name>
          .
          <article-title>Suitability of modern software development methodologies for model driven development</article-title>
          .
          <source>Journal of Information and Organizational Sciences</source>
          ,
          <volume>33</volume>
          (
          <issue>2</issue>
          ):
          <fpage>285</fpage>
          -
          <lpage>295</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Ken</given-names>
            <surname>Schwaber</surname>
          </string-name>
          and
          <string-name>
            <given-names>Mike</given-names>
            <surname>Beedle</surname>
          </string-name>
          .
          <source>Agile Software Development with Scrum</source>
          .
          <source>Agile Software Development. Prentice Hall</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>Bran</given-names>
            <surname>Selic</surname>
          </string-name>
          .
          <article-title>Model-driven development: Its essence and opportunities</article-title>
          .
          <source>In Object and Component-Oriented Real-Time Distributed Computing</source>
          ,
          <year>2006</year>
          .
          <article-title>ISORC 2006</article-title>
          . Ninth IEEE International Symposium on, pages
          <fpage>7</fpage>
          - pp.
          <source>IEEE</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>John F Tripp and Deborah J Armstrong.</surname>
          </string-name>
          <article-title>Exploring the relationship between organizational adoption motives and the tailoring of agile methods</article-title>
          .
          <source>In System Sciences (HICSS)</source>
          ,
          <year>2014</year>
          47th Hawaii International Conference on, pages
          <fpage>4799</fpage>
          -
          <lpage>4806</lpage>
          . IEEE,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>LEOR</given-names>
            <surname>Vijayasarathy and Dan Turk</surname>
          </string-name>
          .
          <article-title>Agile software development: A survey of early adopters</article-title>
          .
          <source>Journal of Information Technology Management</source>
          ,
          <volume>19</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24] Markus Vo¨lter, Thomas Stahl, Jorn Bettin, Arno Haase, and
          <string-name>
            <given-names>Simon</given-names>
            <surname>Helsen</surname>
          </string-name>
          .
          <article-title>Model-driven software development: technology, engineering, management</article-title>
          . John Wiley &amp; Sons,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>