Content uploaded by Raul Medeiros
Author content
All content in this area was uploaded by Raul Medeiros on May 12, 2021
Content may be subject to copyright.
arXiv:2104.05475v1 [cs.SE] 12 Apr 2021
Unburdening onboarding in Software Product Lines
Raul Medeiros
University of the Basque Country (UPV/EHU)
San Sebasti´an, Spain
raul.medeiros@ehu.eus
Abstract—The number of studies focusing on onboarding in
software organizations has increased significantly during the
last years. However, current literature overlooks onboarding in
Software Product Lines (SPLs). SPLs have been proven effective
in managing the increasing variability of industry software and
enabling systematic reuse of a product family. Despite these
benefits, SPLs are complex and exhibit particular characteristics
that distinguish them from traditional software. Due to these
peculiarities, SPLs require a tailor-made onboarding process.
Assistance tools might help. In this dissertation, we propose
assistance tools (i.e., tools built on top of the software project that
help learners understand and develop knowledge) as a means for
helping newcomers during onboarding in SPLs.
Keywords—Software Product Lines, Onboarding, Recom-
mender Systems, Concept Maps
I. INTRO DUC TIO N
Today’s world is highly interconnected. In such a situation,
professionals often move from one company to another, espe-
cially inside the software industry [1]. High mobility implies
new hired developers, who must be introduced into the com-
pany’s culture, processes, technologies, etc., by means of the
fastest and most effective possible approach. In the literature,
this introduction process is known as onboarding [2]–[5]. Yet,
incorporating into a new software development team is not
a trivial task, and it has been studied that newcomers (i.e.,
people incorporating to the company) face several barriers
during onboarding [3], namely:
•technical barriers, newcomers often encounter them-
selves without knowing how to set up their development
environment or lack the skills to manage the program-
ming languages used in the organization. This problem
is accompanied by the lack of prior knowledge of the
domain where development takes place.
•process barriers, software projects usually lack a formal
procedure for introducing newcomers.
•interpersonal barriers, which refer to the absence of
communication and socializing skills in the newcomer.
These barriers arise more fragrantly when newcomers are
incorporated into a diverse team, where different people
with different interpersonal skills gather.
•personal barriers include issues related to personality,
lack of management skills, or behavior problems.
One of the used approaches to alleviate these barriers
consists in considering onboarding as a mentor-newcomer
journey (aka mentoring), where the senior developer (i.e., the
mentor) assists the newcomer (i.e., the mentee) in her/his in-
corporation, both transferring technical skills and knowledge,
and providing moral support [1]. However, senior developers’
time is a valued resource and spending it teaching newcomers
reduces significantly their productivity. Therefore, most of the
companies expect newcomers to explore and understand the
software by themselves [6].
Onboarding barriers exacerbate in Software Product Lines
(SPL), which are both complex organizationally and software
wise. The main goal of SPLs is to support the reuse of
a whole family of software products in a systematic way
[7]. Specifically, SPLs aim at automating software derivation
(i.e., products of the SPL) out of a set of reusable assets
(i.e., the SPL platform). Ideally, software derivation is lim-
ited to indicating the set of features to be exhibited by the
desired products (so-called “product configuration”). Features
are user-visible characteristics of a software system. In this
scenario, products are obtained through a fully “Configurable
Product Family” where product customization does not exist
[8]. However, reaching a “Configurable Product Family” is
estimated to last around ten years [9]. In this transition, not
only traditional onboarding occurs, but also developers are
transferred from Application Engineering (AE) to Domain
Engineering (DE) (aka crossboarding) [10]. From now on,
we refer to these developers transitioning from AE to DE as
crosscomers.
SPLs pose unique challenges to crosscomers, setting the
large volume of a SPL aside, crosscomers must adapt them-
selves to variability and developing software for reuse. First,
feature models gather together multiple concepts that are un-
known for the crosscomer, leading to an increase in complexity
and making them difficult to comprehend or even maintain
[11]. Moreover, the code should account for reuse. Often, this
is achieved by enclosing variants within #ifdef and #endif
directives, and associated with features. As a result, code
comprehensibility is diminished [12], [13]. In summary, the
main barriers a crosscomer face when incorporating to the
domain engineering team are the sheer volume, understanding
variability and internalizing development for reuse [14].
This thesis focuses on the above-mentioned barriers. To this
end, we resort to assistance tools, which are tools that can
help learners understand and develop knowledge (e.g., sense-
making scaffolds [15]). In this context, we pose our research
hypothesis as follows: Assistance tools help crosscomers
during crossboarding in SPL organizations, simplifying
and enhancing the process of incorporating to a domain
engineering team.
To evaluate the hypothesis, we ask the following research
questions:
•RQ1: How can sense-making scaffolds construct domain
knowledge on top of crosscomers’ background? Study-1
•RQ2: What is an appropriate journey for crosscomers to
understand variability? Study-2
II. RELATED WORK
To the best of our knowledge, there is no prior work that
addresses onboarding or crossboarding in SPLs. However,
easing and speeding up onboarding has been the subject of
distinct approaches: setting a gamification system [16]; tools
for assisted coding [17]; visualization of data and conceptual
representations [17]; recommendation assistants [18]–[21];
setting a web portal [22]. Specifically, Malheiros et al. [20] and
Cubranic et al. [18] present two tools that support newcomers
by recommending the most appropriate source code files for
their development tasks. Wang and Sarma [21] focus on bug
fixing recommendations, and they provide newcomers a term-
based search feature with which newcomers can find bugs on a
specific topic. Dominic et al. The Isopleth tool [17], the closest
approach to this thesis, is a web-based platform that helps
newcomers make sense of complex web software projects.
III. EXP EC T ED C ONT RIBUT ION S A ND EVAL UATI ON PL ANS
This thesis follows a Design Science Research (DSR) ap-
proach. DSR is the scientific study and creation of artifacts
as they are developed and used by people with the goal of
solving practical problems of general interest [23]. Therefore,
the contributions of this thesis have an artifact associated with
it. Next, we delve into the proposed studies:
A. Study-1: Domain knowledge construction
Problem. When crosscomers are incorporated into the do-
main engineering team, they have to deal with both variability
and development for reuse. At this point, it is of critical
importance that crosscomers understand the concepts and ter-
minology used by the practicioners and how the SPL products
are built [24]. However, directly exploring the SPL documen-
tation (e.g. the feature model) or code to acquire domain
knowledge is not feasible for crosscomers due to the sheer
volume and variability of the SPL [25] [11]. Approach. In this
study, we focus on helping crosscomers understand the set of
concepts and terminology of the domain of the SPL platform.
To this end, we propose the use of sensemaking scaffolds for
presenting such data [15] and specifically concept maps as
the realization of such scaffolds. A concept map is a diagram
that depicts suggested relationships between concepts [26].
Concept mapping is reckoned to be a means for meaningful
learning insofar as it serves as a kind of scaffold to help
to organize knowledge [27]. Particularly, SPL concept maps
gather domain concepts extracted from all available artifacts of
the SPL. In our approach, features drive the extraction process.
For each feature, its related concepts are extracted from SPL
artifacts using NLP techniques such as keyword extraction
[28]. Then, each concept receives a relevance. Finally, an
expert selects the most representative concepts of the SPL
and creates relationships between them completing the concept
map. Evaluation plan. We want to evaluate the effect of
concept maps in the acquisition of domain knowledge. This
will be carried out with a controlled experiment, with one of
our industrial partners, following the experiment design and
reporting guidelines proposed by Wohlin et al. [29]. To this
end, the evaluation will compare the domain knowledge of
crosscomers using concept maps with the domain knowledge
of those using other kinds of domain representations (e.g.
feature models or entity-relationship diagrams), after having
performed the given tasks.
B. Study-2: Crossboarding journey
Problem. During crossboarding, crosscomers must move
from development with reuse to development for reuse. This
means that they have to deal with variability. In SPLs, vari-
ability is characterized in terms of functional abstractions
that serve for communicating, reasoning and distinguishing
among individual products (i.e. features) [30]. Preprocessors
are often the means to implement the features, and has
been studied that they hinder program comprehension [12],
[13]. Understanding features can be a hard work and it is
being reported that onboarding plans that are not structured
to newcomers’ knowledge, lead to newcomers’ frustration
[31]. This can also occur in crossboarding and, therefore,
crosscomers need to be assigned with features that resemble
to their prior knowledge as application engineers. Approach.
In crossboarding, the crosscomer profile can be characterized
in terms of the codebase they have been in charge of (i.e.
the code they evolved during their time in AE). We refer to
this codebase as “the Background Feature”. Akin to program
comprehension theory, we propose to construct crosscomers’
journeys (i.e. the order in which they should understand
features) based on the similarity between the features and
crosscomers’ “Background Feature” [32]. To define these
journeys, we resort to Recommender Systems (RSs) based on
feature similarity. Using Topic Modeling, the RS will create
a similarity matrix, which can be represented as a weighted
graph. Using this similarity graph, the recommender system
will propose the easiest onboarding journey (i.e., a subgraph)
based on similarity degrees. Evaluation plan. We plan to
evaluate the recommended crossboarding journeys through a
case study in one of our industrial partners or in WacLine our
academic SPL1. The case study will follow Runeson et al. [33]
guidelines and will try to identify the acceptation and benefits
of the crossboarding journeys in a real SPL crossboarding
setting with at least four crosscomers.
ACK NOWL E DG MEN T S
This work is supported by Spanish Ministry of Science
and Innovation (RTI2018-099818-B-I00) and the Ministry of
Education (MCIU-AEI TIN2017-90644-REDT (TASOVA)).
R. Medeiros enjoys a doctoral grant from the Ministry of
Science and Innovation.
1https://onekin.github.io/WacLine/
REF ERE NC E S
[1] G. G. Sharma and K. Stol, “Exploring onboarding success,
organizational fit, and turnover intention of software profes-
sionals,” J. Syst. Softw., vol. 159, 2020. [Online]. Available:
https://doi.org/10.1016/j.jss.2019.110442
[2] I. Steinmacher, M. A. G. Silva, M. A. Gerosa, and D. F. Redmiles,
“A systematic literature review on the barriers faced by newcomers to
open source software projects,” Inf. Softw. Technol., vol. 59, pp. 67–85,
2015. [Online]. Available: https://doi.org/10.1016/j.infsof.2014.11.001
[3] S. Balali, I. Steinmacher, U. Annamalai, A. Sarma, and M. A. Gerosa,
“Newcomers’ barriers. . . is that all? an analysis of mentors’ and
newcomers’ barriers in OSS projects,” Comput. Support. Cooperative
Work., vol. 27, no. 3-6, pp. 679–714, 2018. [Online]. Available:
https://doi.org/10.1007/s10606-018-9310- 8
[4] A. Rastogi, S. Thummalapenta, T. Zimmermann, N. Nagappan, and
J. Czerwonka, “Ramp-up journey of new hires: Do strategic practices
of software companies influence productivity?” in Proceedings of the
10th Innovations in Software Engineering Conference, ISEC 2017,
Jaipur, India, February 5-7, 2017. ACM, 2017, pp. 107–111. [Online].
Available: http://dl.acm.org/citation.cfm?id=3021471
[5] T. N. Bauer and B. Erdogan, “Organizational socialization: The effective
onboarding of new employees.” Washington, DC, US, pp. 51–64, 2011.
[6] G. Viviani and G. C. Murphy, “Reflections on onboarding
practices in mid-sized companies,” in Proceedings of the 12th
International Workshop on Cooperative and Human Aspects of
Software Engineering, CHASE@ICSE 2019, Montr´eal, QC, Canada,
27 May 2019. IEEE / ACM, 2019, pp. 83–84. [Online]. Available:
https://doi.org/10.1109/CHASE.2019.00027
[7] P. Clements and L. M. Northrop, Software product lines - practices and
patterns, ser. SEI series in software engineering. Addison-Wesley, 2002.
[8] S. Deelstra, M. Sinnema, and J. Bosch, “Product derivation in software
product families: a case study,” J. Syst. Softw., vol. 74, no. 2, pp. 173–
194, 2005. [Online]. Available: https://doi.org/10.1016/j.jss.2003.11.012
[9] R. Kolb, I. John, J. Knodel, D. Muthig, U. Haury, and G. Meier,
“Experiences with product line development of embedded systems at
testo AG,” in Software Product Lines, 10th International Conference,
SPLC 2006, Baltimore, Maryland, USA, August 21-24, 2006,
Proceedings. IEEE Computer Society, 2006, pp. 172–181. [Online].
Available: https://doi.org/10.1109/SPLINE.2006.1691589
[10] S. Deelstra, M. Sinnema, and J. Bosch, “Experiences in software product
families: Problems and issues during product derivation,” in Software
Product Lines, Third International Conference, SPLC 2004, Boston, MA,
USA, August 30-September 2, 2004, Proceedings, ser. Lecture Notes in
Computer Science, R. L. Nord, Ed., vol. 3154. Springer, 2004, pp. 165–
182. [Online]. Available: https://doi.org/10.1007/978-3-540-28630-1 10
[11] R. Capilla, J. Bosch, and K.-C. Kang, Systems and Software Variability
Management: Concepts, Tools and Experiences. Springer Publishing
Company, Incorporated, 2013.
[12] M. D. Ernst, G. J. Badros, and D. Notkin, “An empirical
analysis of C preprocessor use,” IEEE Trans. Software Eng.,
vol. 28, no. 12, pp. 1146–1170, 2002. [Online]. Available:
https://doi.org/10.1109/TSE.2002.1158288
[13] J. Melo, F. B. Narcizo, D. W. Hansen, C. Brabrand, and
A. Wasowski, “Variability through the eyes of the programmer,”
in Proceedings of the 25th International Conference on Program
Comprehension, ICPC 2017, Buenos Aires, Argentina, May 22-23,
2017. IEEE Computer Society, 2017, pp. 34–44. [Online]. Available:
https://doi.org/10.1109/ICPC.2017.34
[14] M. Acher, R. E. Lopez-Herrejon, and R. Rabiser, “Teaching software
product lines: A snapshot of current practices and challenges,” ACM
Transactions on Computer Education, vol. 18, no. 1, pp. 2:1–2:31,
2017. [Online]. Available: https://doi.org/10.1145/3088440
[15] C. Quintana, B. J. Reiser, E. A. Davis, J. Krajcik, E. Fretz, R. G. Duncan,
E. Kyza, D. Edelson, and E. Soloway, “A scaffolding design framework
for software to support science inquiry,” The journal of the learning
sciences, vol. 13, no. 3, pp. 337–386, 2004.
[16] L. Heimburger, L. Buchweitz, R. Gouveia, and O. Korn, “Gamifying
onboarding: How to increase both engagement and integration of new
employees,” in Advances in Social and Occupational Ergonomics.
Cham: Springer International Publishing, 2020, pp. 3–14.
[17] J. Hibschman, D. Gergle, E. O’Rourke, and H. Zhang, “Isopleth:
Supporting sensemaking of professional web applications to create
readily available learning experiences,” ACM Trans. Comput. Hum.
Interact., vol. 26, no. 3, pp. 16:1–16:42, 2019. [Online]. Available:
https://doi.org/10.1145/3310274
[18] D. Cubranic and G. C. Murphy, “Hipikat: Recommending pertinent
software development artifacts,” in Proceedings of the 25th International
Conference on Software Engineering, May 3-10, 2003, Portland, Oregon,
USA. IEEE Computer Society, 2003, pp. 408–418. [Online]. Available:
https://doi.org/10.1109/ICSE.2003.1201219
[19] S. Panichella, “Supporting newcomers in software development
projects,” in 2015 IEEE International Conference on Software
Maintenance and Evolution, ICSME 2015, Bremen, Germany, September
29 - October 1, 2015. IEEE Computer Society, 2015, pp. 586–589.
[Online]. Available: https://doi.org/10.1109/ICSM.2015.7332519
[20] Y. Malheiros, A. Moraes, C. Trindade, and S. Meira, “A source code
recommender system to support newcomers,” in 36th Annual IEEE
Computer Software and Applications Conference, COMPSAC 2012,
Izmir, Turkey, July 16-20, 2012. IEEE Computer Society, 2012, pp.
19–24. [Online]. Available: https://doi.org/10.1109/COMPSAC.2012.11
[21] J. Wang and A. Sarma, “Which bug should I fix: helping new
developers onboard a new project,” in Proceedings of the 4th
International Workshop on Cooperative and Human Aspects of
Software Engineering, CHASE 2011, Waikiki, Honolulu, HI, USA,
May 21, 2011. ACM, 2011, pp. 76–79. [Online]. Available:
https://doi.org/10.1145/1984642.1984661
[22] I. Steinmacher, T. U. Conte, C. Treude, and M. A. Gerosa,
“Overcoming open source project entry barriers with a portal for
newcomers,” in Proceedings of the 38th International Conference
on Software Engineering, ICSE 2016, Austin, TX, USA, May
14-22, 2016. ACM, 2016, pp. 273–284. [Online]. Available:
https://doi.org/10.1145/2884781.2884806
[23] P. Johannesson and E. Perjons, An Introduction to
Design Science. Springer, 2014. [Online]. Available:
https://doi.org/10.1007/978-3-319- 10632-8
[24] S. Apel, D. S. Batory, C. K¨astner, and G. Saake, Feature-Oriented
Software Product Lines - Concepts and Implementation. Springer,
2013. [Online]. Available: https://doi.org/10.1007/978-3-642- 37521-7
[25] M. Acher, R. E. Lopez-Herrejon, and R. Rabiser, “Teaching software
product lines: a snapshot of current practices and challenges (journal-
first abstract),” in Proceeedings of the 22nd International Systems
and Software Product Line Conference - Volume 1, SPLC 2018,
Gothenburg, Sweden, September 10-14, 2018. ACM, 2018, p. 249.
[Online]. Available: https://doi.org/10.1145/3233027.3236393
[26] J. D. Novak and A. J. Ca˜nas, “The theory underlying concept maps
and how to construct them,” Florida Institute for Human and Machine
Cognition, vol. 1, no. 1, pp. 1–31, 2006.
[27] J. C. Nesbit and O. O. Adesope, “Learning with concept and knowledge
maps: A meta-analysis,” Review of educational research, vol. 76, no. 3,
pp. 413–448, 2006.
[28] W. D. Abilhoa and L. N. de Castro, “A keyword extraction
method from twitter messages represented as graphs,” Appl.
Math. Comput., vol. 240, pp. 308–325, 2014. [Online]. Available:
https://doi.org/10.1016/j.amc.2014.04.090
[29] C. Wohlin, P. Runeson, M. H¨ost, M. C. Ohlsson, and B. Regnell,
Experimentation in Software Engineering. Springer, 2012. [Online].
Available: https://doi.org/10.1007/978-3-642- 29044-2
[30] T. Berger, D. Lettner, J. Rubin, P. Gr¨unbacher, A. Silva,
M. Becker, M. Chechik, and K. Czarnecki, “What is a feature?:
a qualitative study of features in industrial software product lines,”
in Proceedings of the 19th International Conference on Software
Product Line, SPLC 2015, Nashville, TN, USA, July 20-24, 2015,
D. C. Schmidt, Ed. ACM, 2015, pp. 16–25. [Online]. Available:
https://doi.org/10.1145/2791060.2791108
[31] A. Begel and B. Simon, “Struggles of new college graduates in their
first software development job,” in Proceedings of the 39th SIGCSE
Technical Symposium on Computer Science Education, SIGCSE 2008,
Portland, OR, USA, March 12-15, 2008. ACM, 2008, pp. 226–230.
[Online]. Available: https://doi.org/10.1145/1352135.1352218
[32] F. D´etienne, Software design cognitive aspects, ser.
Practitioner series. Springer, 2001. [Online]. Available:
http://www.springer.com/computer/swe/book/978-1-85233- 253-2
[33] P. Runeson, M. H¨ost, A. Rainer, and B. Regnell,
Case Study Research in Software Engineering - Guide-
lines and Examples. Wiley, 2012. [Online]. Available:
http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118104358.html