29TH INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS DEVELOPMENT (ISD2021 VALENCIA, SPAIN)
Don’ Th ow you So wa e P o o ypes Away. Reuse hem!
M.J. Escalona
1
Uni e si y o Se ille
Se ille, Spain
[email protected]
L. Ga cía-Bo goñon
I a Inno a
Za agoza, Spain lau ag@i ainno a.es
N. Koch
Uni e si y o Se ille
Se ille, Spain [email p o ec ed]
Abs ac
The mechanism o p o o ype de elopmen is conside ed by he esea ch and indus ial
so wa e communi ies as a key ool o use -de elope communica ion. In so wa e
de elopmen , p o o ypes a e used in equi emen s enginee ing o help elici and alida e
use s’ needs. So wa e p o o ypes like mockups a e equen ly conside ed h owaway
a e ac s and he e o e hey a e o en de eloped e y as , o wi h e y ew esou ces and
disca ded. In his pape we p opose o change his idea, and o c ea e p o o ypes ha can
be eused in any model-d i en enginee ing (MDE) p ocess. The pape p esen s an app oach
o an au oma ic mechanism o ansla ing p o o ype models in o equi emen s models and
i s implemen a ion in a sui able ool case. This way, so wa e de elope eams will be able
o dedica e esou ces o imp o ing communica ion wi h use s using p o o ypes because he
knowledge acqui ed will be au oma ically ans e ed o he equi emen s phase o he
de elopmen p ocess.
Keywo ds:
So wa e p o o ypes, model-d i en enginee ing, eusing p o o ypes
1. In oduc ion
The concep o p o o ypes is no some hing new in so wa e enginee ing. In ac , p o o ypes
a e used in many disciplines as a way o o e a as p e iew o he inal p oduc [6]. In
ields like so wa e enginee ing, whe e he p oduc is no a physical p oduc , he idea
mainly akes he o m o a se o sc eens o mockups, which mo e o less accu a ely
ep esen he s uc u e o he so wa e’s u u e in e ac ion model. The e a e nume ous
s a egies o de eloping so wa e p o o ypes: e ical, ho izon al o diagonal, high o low
ideli y, e olu iona y, as p o o ypes, e c. Disciplines like Human-Machine In e ac ion
(HMI) s udy he ad an ages and disad an ages o each s a egy o y o achie e he bes
esul s [4],[8],[11]. P o o ypes a e in ended o make he end use (o he cus ome )
unde s and wha he inal so wa e p oduc will be like. P o o yping is a good way o
imp o e communica ion be ween so wa e de elope s and he so-called unc ional eam
(cus ome s and end use s), bu p o o ypes a e equen ly concei ed o as h owaway
a e ac s [5]. Wi h excep ion o e olu iona y p o o yping he u ili y o hose p o o ypes
once he wo k wi h he use has been done is always a subjec o deba e. The ac ha
p o o ypes a e des ined om he s a o end up on he sc ap heap means ha hey a e o en
de eloped e y as , o wi h e y ew esou ces, and he esul s o hei applica ion a e
consequen ly no as good as hey could be. Howe e , i we skimp on esou ces in he
p ocess o de ining, implemen ing and alida ing p o o ypes, we a e educing he quali y
o he esul s hey can o e o he ou come o he p ocess. This p oduces a pa adox,
in es ing in good p o o ypes p oduces good esul s, bu e y o en we ha e o cu back on
he esou ces dedica ed o p o o ypes because hey a e no des ined o be one o he
1
All au ho s con ibu ed o he pape . They a e o de ed alphabe ically.
ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM!
sys em’s inal p oduc s.
This pape p esen s a i s p oposal o y o sol e, o a leas educe, his pa adox. Ou
esea ch ques ion
is “Could we y o o e an app oach o ensu e a good ROI ( e u n o
in es men ) in he de ini ion, implemen a ion and alida ion o so wa e p o o ypes?”. To
y o answe his ques ion, we p opose using he model-d i en pa adigm o c ea e a
mechanism ha will ensu e ha he e o in es ed in p o o ype de elopmen will be
pa ially eco e ed in u u e phases o he so wa e li ecycle de elopmen by “ eusing”
p o o ypes and he knowledge acqui ed in hei de elopmen . We ha e gone e en u he as
we ha e de ined he me amodels and ans o ma ions needed, selec ed a ool o
implemen ing he p o o ype, and de eloped a i s e sion o he ans o ma ion engine ha
gene a es he equi emen s model.
Rega ding ela ed wo k Ga cía F ey [4] explo es in a simila way a model-d i en
enginee ing app oach o sel -explana o y use in e aces using ask ees and one-way
UsiXML ans o ma ions. Ano he in e es ing wo k is he au oma ed compa ison o UI
p o o ypes de eloped wi h Balsamicq and use s o ies o Rocha Sil a e al. [8] ocusing on
alida ion and es ing o he use in e aces.
The pape is s uc u ed as ollows: Secion 2 p esen s a global iew o ou app oach;
Sec ion 3 analyses he cu en esea ch si ua ion and ou successes and ailu es in his a ea;
and inally some conclusions a e d awn and u u e wo k ou lined in Sec ion 4.
2. An App oach o So wa e P o o ype Reuse
This sec ion p esen s an o e iew o ou app oach. In o de o o e a sui able mechanism
o eusing p o o ypes, we p opose using he model-d i en pa adigm. The idea o ou
app oach is illus a ed in Figu e 1.
Fig. 1.
An o e iew o ou app oach
The co e idea o his app oach is he ini ial de ini ion o a se o sc eens o mockups ha a e
he ini ial so wa e p o o ype (P o o ype model in Fig.1). This p o o ype model has o be
de ined by he So wa e Team ( he eam o equi emen s enginee s) in collabo a ion wi h he
Func ional Team ( he end use s and cus ome s who a e amilia wi h he p oblems o be sol ed).
Ideally, he unc ional eam will in e ac wi h he so wa e eam, who has o in e p e he needs
and expec a ions o he u u e so wa e p oduc . As a esul o his in e ac ion, a p o o ype
model will be de eloped. The p o o ype model will be an ins ance o a P o o ype me amodel
(desc ibed in he nex sec ion). Al hough he unc ional eam only sees “sc een p o o ypes”,
hus we will ac ually ha e s uc u ed p o o ypes, i.e. hey concu wi h he me amodel.
In ou app oach, we also ha e ano he me amodel, he Requi emen s me amodel ha
ep esen s in an abs ac o m, he in e ela ing concep s ha a e in ol ed in equi emen s
(ac o s, use cases, objec s, ac ions, e c.). The objec i e is o gene a e an ins ance o his
me amodel (shown as Requi emen s model in Figu e 1) using a e ac s de ined in he
p o o ype model. To do his, we p opose using a T ans o ma ion Engine, an engine ha
will allow us o implemen a se o de ined ans o ma ions using QVT
(Que y/View/T ans o ma ion). Wi h hese ans o ma ions, we gua an ee ha he
knowledge acqui ed wi h he unc ional eam is ansla ed in o he equi emen s model:
p o o ype knowledge is hus being eused au oma ically.
This o e s se e al ad an ages:
ISD2021
SPAIN
1.
We can gua an ee ha no knowledge is los in he ansi ion om p o o ypes o
equi emen s.
2.
The ansi ion akes place au oma ically.
3.
A So wa e Team can dedica e mo e esou ces (mo e ime, o ins ance) o making
good p o o ypes and o eally unde s anding he unc ional eam; mo e esou ces o
analysing he p oblem and knowing use s’ needs and cons ain s; and mo e
esou ces o alida ing he p o o ype model. They can make he in es men because
hey know ha hey a e going o ob ain a sui able ROI. I hey ha e good p o o ypes
hey will au oma ically ha e good equi emen s models.
4.
Ha ing good equi emen s models is a c i ical ac o o gua an ee he success o a
so wa e p ojec . This is widely ecognised in he so wa e communi y [10].
5.
In es men in p o o ype de ini ion also helps o de ec ea ly con lic s and o educe
he cos o sol ing hem [7].
Apa om hese ad an ages, he e a e o he , mo e impo an aspec s o ou app oach.
Figu e 1 shows ha ou ans o ma ions engine also conside s he possibili y o upda ing
he p o o ype model om he equi emen s model. This is because we conside i necessa y
o de ine bidi ec ional ans o ma ions. In so wa e de elopmen , equi emen s o en
change o e ol e, abo e all when an agile o an i e a i e me hodology is used. The so wa e
eam may e en ind e o s o incong uences when hey a e wo king on hem o ansla ing
hem in o models ha a e mo e de ailed in he analysis phase. To unde s and he need o
such bidi ec ional ans o ma ions, le us imagine a e y ypical si ua ion. A unc ional
eam de elops a p o o ype model ha is ansla ed in o a equi emen s model. The so wa e
eam inds an incong uence in he equi emen model and wan s o p opose a change. They
ha e wo op ions (i bidi ec ional ans o ma ions a e no conside ed):
1.
Make he change in he equi emen s model, in o m he unc ional eam o alida e
he change and lea e he o iginal p o o ype model as i is. This is he mos common
p ocedu e in indus y, bu i has wo p oblems: (1) I p oduces incong uence
be ween he p o o ype and he equi emen s model. (2) Func ional eams e y o en
do no unde s and equi emen s models e y well ( hey a e no usually so wa e
expe s), so o hem i is di icul o unde s and he changes.
2.
Make he change in he equi emen s model and also in he p o o ype model,
alida e he las wi h he use and egene a e he equi emen s model. This
o e comes he disad an ages desc ibed in op ion 1 bu is usually a e y expensi e
p ocess and is he e o e no equen ly used in indus y.
I ins ead bidi ec ional ans o ma ions a e conside ed, as we do, he so wa e eam can
make he change in he equi emen s model, execu e he ans o ma ion o gene a e a new
e sion o a p o o ype model and e alua e i wi h he unc ional eam. In such a case, he
cos is low and consis ency be ween p o o ype l and equi emen s model is gua an eed.
3. A Fi s Implemen a ion o Ou App oach
Reusing so wa e p o o ypes is no a new idea. I has been s udied in se e al wo ks. As a
i s s ep in ou esea ch, we pe o med a li e a u e e iew ha endo sed ou esea ch
ques ion [9]. In ou s udy, howe e , we disco e ed ha cu en wo ks o e no good global
solu ions.
Fi s ly, he e is li le homogenei y in he e minology used. The concep s o so wa e
p o o ypes, mockups, e c, a e mixed up. E en he concep o so wa e p o o ype euse is
no a widely accep ed concep , and is equen ly used o e e o di e en ideas. Ou idea
o p o o ype euse is ha o a cheap mechanism: ha is o say, a mechanism ha makes i
possible o ansla e he knowledge ob ained h ough he de ini ion, implemen a ion and
alida ion o so wa e p o o ypes in o he equi emen phase as au oma ically as possible
and p ac ically wi hou addi ional e o s. The knowledge needs o be aceable. I an e o
o an inconsis ency o igina ing in he equi emen s is de ec ed du ing analysis, i should be
possible o “back ack” and iden i y he exac poin in he p o o ype de ini ion o alida ion
whe e ha e o o inconsis ency was de ined and alida ed. The si ua ion o
ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM!
e minological he e ogenei y makes i e y di icul o s udy he s a e o he a , so ou i s
ailu e was o y o ind ea lie ela ed wo ks o esea ch ha migh help us. We a e
cu en ly inishing an SLR (Sys ema ic Li e a u e Re iew) o ex end ha ini ial e iew.
Secondly, in he s a e o he a we ound e y li le ma e ial ele an o indus y. In
ac , only oys o academic examples we e ound in he app oaches epo ed. The e o e, a
his poin in ou esea ch, ano he
ques ion
a ose: “Is so wa e p o o ype euse a good idea
o indus y?” Be o e con inuing wo king wi h ou app oach, we ied o answe his
ques ion by execu ing a p oo o concep wi h wo companies: an SME (small and medium-
sized en e p ise) and a big company [10]. Ou i s success was o ealize ha indus y is
in e es ed in his kind o solu ion, bu only i we o e ools suppo ing he p ocess o
eusing p o o ypes.
Wi h he knowledge ob ained om he SLR and he p oo o concep , we a e now
wo king on ou app oach. On he me amodel le el, we ha e de ined a no el p o o ype
me amodel based on he knowledge acqui ed. The me amodel was ins an ia ed in a ool
called d aw.io [1]. We selec ed his ool a e ca ying ou a compa a i e s udy o di e en
ools. d aw.io is an open access ool ha allows us o de ine a ool-box whe e use s can use
he me amodel, de ining classes o i s ins an ia ion. Fo he equi emen s me amodel we
used he NDT (Na iga ional De elopmen Techniques) [2] equi emen s me amodel. I is
based on WebRE [3], a gene al equi emen s me amodel ob ained om se e al app oaches.
NDT ex ends WebRE and has been success ully applied i in indus y, hus gua an eeing
i s use ulness. d aw.io and NDT-Sui e, he ool suppo ing he NDT me hodology o e us
he possibili y o implemen ing he ans o ma ions needed o ou app oach. The e o e,
we a e now wo king on he implemen a ion o a bidi ec ional ans o ma ion engine: on
he one hand, i eads models om d aw.io and ans o ms he concep s in o he NDT
equi emen s model; and on he o he hand, i eads he NDT equi emen s models and
ans o ms hem upda ing he d aw.io models. We cu en ly ha e de eloped a i s e sion
o his engine, and a e de ining he second e sion ollowing alida ion wi h some
companies. In Table 1, a simple scena io is p esen ed, which in he i s column explains
how ou app oach is used in p ac ice. The second column desc ibes each s ep, and indica es
he ool employed. The las wo ows a e op ional; hey a e only execu ed i bidi ec ional
ans o ma ions a e equi ed.
Table 1.
A sho scena io o demons a ing ou app oach
S ep
Commen
1.
The so wa e eam uses d aw.io o
d aw a p o o ype model using ou
plugin.
The p o o ype model is de ined acco ding o ou
p o o ype me amodel, hus an ins ance o he p o o ype
me amodel is buil in e nally.
2.
The so wa e eam and unc ional
eam wo k o e alua e he
p o o ype model
This is cu en ly done manually.
3.
The so wa e eam uses he NDT-
Sui e o ans o ms he d aw.io
p o o ypes in o an NDT
equi emen s model.
The ans o ma ion engine is execu ed. I is p esen ed as
an En e p ise A chi ec plugin.
4.
The so wa e eam in oduces
new concep s in o a NDT
equi emen s model.
Changes a e pe o med wi h he En e p ise pluging o
NDT.
5.
The so wa e eam uses he plugin
o NDT-Sui e o ans o m hem
in o d aw.io p o o ypes.
The ans o ma ion is ca ied ou in he o he di ec ion,
om NDT-Sui e o d aw.io. I is p esen ed as an
En e p ise A chi ec plugin oo, bu changes a e shown
in d aw.io.
ISD2021
SPAIN
4. Conclusions and Fu u e Wo k
P o o yping is a s a egy used in a la ge numbe o disciplines. Fo yea s he so wa e
enginee ing communi y has acknowledged i as e y use ul o acili a ing communica ion
o unc ional eams. Howe e , eams’ esou ces o de eloping p o o ypes a e ini e and,
in many cases, insu icien . This, coupled wi h he ac ha hey, wi h excep ion o he case
o e olu iona y p o o ypes, a e la gely conside ed a h owaway p oduc , means ha he
in o ma ion ha can be ob ained om hem is no ully exploi ed.
In his wo k we ha e analysed he po en ial o p o o ypes and looked a why his ool
mus be aken in o accoun in o de o unde s and and mee equi emen s. This pape
p esen s an ea ly s age app oach ha p oposes a MDE-based mechanism o ensu ing ha
he knowledge om p o o ypes can be eused. Ou app oach consis s in he use o models
and ans o ma ions o au oma ically ansla e in o ma ion om p o o ypes in o
equi emen s a e ac s. I gua an ees ha he in es men o esou ces in he de ini ion,
implemen a ion and alida ion o p o o ypes will be eco e ed in u u e phases. Wi h his
app oach, p o o ypes a e no longe a h owaway i em. Ha ing conside ed bidi ec ional
ans o ma ions, we can also o e mechanisms o acing u u e changes o u u e
so wa e e olu ions, allowing ongoing li ecycle imp o emen s. The pape desc ibes how
we a e implemen ing a ool o suppo ou app oach. We ha e alida ed wi h indus y ha
his idea can play a ele an ole in he so wa e de elopmen p ocess [9].
Ou eme ging idea o euse p o o ypes o e s many possibili ies o u u e wo k. We
ha e o inish implemen ing he app oach’s a chi ec u e and ool. We s ill need o e alua e
he inal ool in a eal p ojec , and o lea n i s s eng hs and weaknesses om academia and
indus y. O he impo an u u e wo k will be o y o quan i y he ROI ob ained when
using he ool. The s a ing hypo hesis is ha in es ing in p o o ypes can imp o e so wa e
because p o o ypes p o ides a ool o be e communica ion and p oblem unde s anding
in ea ly s ages o he de elopmen p ocess. Al hough his hypo hesis is widely accep ed,
howe e , we need o ind a ealis ic way o measu e such imp o emen s. This is essen ial
o he use o ou app oach by he indus y [10].
Acknowledgmen s
This esea ch was suppo ed by p ojec AT17_5904_USE, “Socie ySo : T ans e o ools,
policies, and p inciples o c ea ing quali y so wa e o he digi al socie y”, o he
Andalusian Regional Go e nmen ’s Depa men o Economy, Knowledge, Business, and
Uni e si ies (Spain) and by he NICO p ojec (PID2019-105455GB-C31) o he Spanish
Go e nmen ’s Minis y o Science, Inno a ion and Uni e si y.
Re e ences
1.
D awIO. h ps://d awio-app.com/
2.
Escalona, M. J., & A agón, G. (2008). NDT. A model-d i en app oach o web
equi emen s. IEEE T ansac ions on so wa e enginee ing, 34(3), 377-390.
3.
Escalona, M. J., & Koch, N. (2007). Me amodeling he equi emen s o web sys ems.
In Web In o ma ion Sys ems and Technologies (pp. 267-280). Sp inge , Be lin,
Heidelbe g
.
4.
Ga cía F ey A. (2010). Sel -explana o y Use In e aces by Model-d i en Enginee ing .
P oceedings o he 2nd ACM SIGCHI Symposium on Enginee ing In e ac i e Compu ing
Sys ems (page 344), NY, USA, ACM
5.
He el, H., & Di ma , A. (2017). Design suppo o in eg a ed e olu iona y and
explo a o y p o o yping. In P oceedings o he ACM SIGCHI Symposium on
Enginee ing In e ac i e Compu ing Sys ems (pp. 105-110).
6.
Jensen, L. S., Özkil, A. G., & Mo ensen, N. H. (2016). P o o ypes in enginee ing design:
De ini ions and s a egies. In DS 84: P oceedings o he DESIGN 2016 14 h In e na ional
Design Con e ence (pp. 821-830).
7.
Mall, R. (2018). Fundamen als o so wa e enginee ing. PHI Lea ning P . L d..
8.
Rocha Sil a, T., Winckle , M., and T ae be ge , H. (2020). Ensu ing he Consis ency
ESCALONA ET AL. DON’T THROW YOUR SOFTWARE PROTOTYPES AWAY. REUSE THEM!
be ween Use Requi emen s and Task Models: A Beha io -Based Au oma ed App oach,
P oc. o he ACM on Human-Compu e In e ac ion, Vol. 4, Issue EICS, A icle (pp 1–32)
9.
Sánchez-Villa ín, A., San os-Mon año, A., & En íquez, J. G. (2019). Au oma ic Reuse o
P o o ypes in So wa e Enginee ing: A Su ey o A ailable Tools. In WEBIST (pp. 144-
150).
10.
Sánchez-Villa ín, A., San os-Mon año, A., Koch, N., & Casas, D. L. (2020). P o o ypes
as S a ing Poin in MDE: P oo o Concep . In WEBIST (pp. 365-372).
11.
Su an o, B. (2015, Augus ). So wa e p o o ypes: Enhancing he quali y o equi emen s
enginee ing p ocess. In 2015 In e na ional Symposium on Technology Managemen and
Eme ging Technologies (ISTMET) (pp. 148-153). IEE