automatically or, at least, semi-automatically.
The rest of this paper is structured as follows.
Firstly, we starting with a very short introduction of
the context where this research is being developed,
which is very closed to the enterprise world. In Sec-
tion 3, the methodology followed for this study is de-
scribed. Section 4 instances the methodology pro-
posed in previous section and presents the results ob-
tained. Section 5 presents learned lessons and finally,
paper finishes with a set of conclusions and future
works.
2 CONTEXT
Coding prototypes with the same precision with
which they were designed is a real problem in daily
programming (McMillan et al., 2012). Unfortunately,
current methods found in both literature and industry
do not allow prototypes to be transformed into modifi-
able code, following requirements and characteristics
that must be met. In a Scrum (Schwaber and Bee-
dle, 2002) or Design Sprint methodology (Banfield
et al., 2015) context, the importance of having vali-
dated prototypes saves a lot of time and avoids future
problems if the programming is in an advanced state.
The problem that is cited is common within the
iMedea project (innovative Medical Engineering As-
sistance) (Escalona, 2019) by G7Innovation (G7 In-
novation, 2019) in Seville, in which the prototypes
are validated in collaboration with the Inebir clinic,
but there are details or formulas that escape once they
are translated to the code. G7 Innovation is a SME
(Small and Medium Enterprise) focused in the devel-
opment of software oriented to sanitary environments.
In fact, they produce high TIC results in the field of
Smart Laboratories, Human Reproduction or specific
results for chronic treatment using different devices
and sensors (V. Cid, 2019; L. Morales, 2019). In this
context, the communication between the sanitary en-
vironment and the IT engineers is a critical factor to
assure the quality of the results. For this reason, they
used they have developed, a version of a methodology
named NDT (Navigational Development Techniques)
(Escalona and Arag
´
on, 2008) that, in its current ver-
sion mix Scrum with Design Thinking principles.
It is not the aim of the paper the presentation of
the methodology but, basically, it covers three main
steps: the first one is to “discover the problem”. In
this phase, users and engineers work together to de-
fine the problem and a first set of prototypes for the
solution. These prototypes are improved in different
iterations and, at the end of this first step they get a
very high-fidelity prototype. After that, in the second
step, the IT Team execute the life cycle to analyze,
design and built the software to support these proto-
types. In the third steps, the result is implanted and
deployed in the environment. It is only a short pre-
sentation but, obviously, each step has a set of phases,
task and techniques to be applied that can be obtained
from (NDT-Navitgational Development Techniques,
2019). However, this global view, let us to introduce
our motivation to present the problem that we want
to try to start to solve with this paper. The team in
iMedea requires that, after design a very high-fidelity
prototype, they must create the analysis, the screen or
any aspect from zero, and the original prototypes are
only used for communication. They claim if it will
possible to try to reuse them to automatically gen-
erate products in the next phases automatically. In
fact, NDT use the Model Driven Paradigm (MDE)
(Dom
´
ınguez-Mayo et al., 2012) in other aspects, for
instance, to produce test from requirements. So, the
question that motives this work is: could be possible
to use prototypes defined and validated with the user
to generate products in the rest of the life cycle?
In this sense, it is necessary to use tools that opti-
mize the process from obtaining the validation of the
prototypes to the already programmed views, evalu-
ating that it is possible to obtain a code that can be
modified later and that is faithful to the styles of the
prototypes. To this end, it will be inevitable that the
prototypes are made with delicacy, effort and enthusi-
asm, as this would save time in programming.
3 METHODOLOGY
Systematic Literature Reviews (SLRs) (Kitchenham
and Brereton, 2013) and Systematic Mapping Studies
(SMSs) (Petersen et al., 2008) are some of the most
commonly used methods for performing state-of-the-
art studies in software engineering. The choice of
each of them depends on the objectives to be achieved
with the research.
SLRs are more expensive to perform than SMSs
(Velthuis, 2014). The main objective of an SLR is
to identify best practices based on empirical studies,
the one of SMSs, is to provide a classification and a
thematic analysis of a concrete topic.
The most widely accepted SLR method around
software engineering, is the one proposed by Kitchen-
ham (Kitchenham and Brereton, 2013). This proposal
concludes that a review of the literature should consist
of the following phases:
• Planning: before an SLR, it is necessary to con-
firm the need for the research. The most impor-
tant activity is writing the research questions that
Automatic Reuse of Prototypes in Software Engineering: A Survey of Available Tools
145