PreprintPDF Available

Unburdening onboarding in Software Product Lines

Authors:
Preprints and early-stage research may not have been peer reviewed yet.

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.
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. 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
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
The IT sector struggles with talent acquisition and low retention rates. While several field studies have explored onboarding of software developers, the software engineering literature lacks studies that develop and evaluate theoretical models. This study seeks to explore the link between onboarding of new hires and turnover intention of these professionals. In particular, we develop a theoretical model that identifies a number of onboarding activities, and link these to onboarding success. We then look at what we have termed “organizational fit,” which we define as two aspects of software professionals, namely job satisfaction and the quality of their relationships on the workfloor, and investigate how these mediate the relation between short-term onboarding success and a longer-term intention to leave (or stay with) an organization. We test our model with a sample of 102 software professionals using PLS-SEM. The findings suggest that providing support to new hires plays a major role in onboarding success, but that training is less important. Further, we found that job satisfaction mediates the relationship between onboarding success and turnover intention, but workplace relationship quality does not. Based on the findings, we discuss a number of implications for practice and suggestions for future research.
Chapter
Full-text available
New employees are supposed to quickly understand their tasks, internal processes and familiarize with colleagues. This process is called “onboarding” and is still mainly realized by organizational methods from human resource management, such as introductory events or special employee sessions. Software tools and especially mobile applications are an innovative means to support provide onboarding processes in a modern, even remote, way. In this paper we analyze how the use of gamification can enhance onboarding processes. Firstly, we describe a mobile onboarding application specifically developed for the young, technically literate generations Y and Z, who are just about to start their career. Secondly, we report on a study with 98 students and young employees. We found that participants enjoyed the gamified application. They especially appreciated the feature “Team Bingo” which facilitates social integration and teambuilding. Based on the OCEAN personality model (“Big Five”), the personality traits agreeableness and openness revealed significant correlations with a preference for the gamified onboarding application.
Article
Full-text available
Newcomers’ seamless onboarding is important for open collaboration communities, particularly those that leverage outsiders’ contributions to remain sustainable. Nevertheless, previous work shows that OSS newcomers often face several barriers to contribute, which lead them to lose motivation and even give up on contributing. A well-known way to help newcomers overcome initial contribution barriers is mentoring. This strategy has proven effective in offline and online communities, and to some extent has been employed in OSS projects. Studying mentors’ perspectives on the barriers that newcomers face play a vital role in improving onboarding processes; yet, OSS mentors face their own barriers, which hinder the effectiveness of the strategy. Since little is known about the barriers mentors face, in this paper, we investigate the barriers that affect mentors and their newcomer mentees. We interviewed mentors from OSS projects and qualitatively analyzed their answers. We found 44 barriers: 19 that affect mentors; and 34 that affect newcomers (9 affect both newcomers and mentors). Interestingly, most of the barriers we identified (66%) have a social nature. Additionally, we identified 10 strategies that mentors indicated to potentially alleviate some of the barriers. Since gender-related challenges emerged in our analysis, we conducted nine follow-up structured interviews to further explore this perspective. The contributions of this paper include: identifying the barriers mentors face; bringing the unique perspective of mentors on barriers faced by newcomers; unveiling strategies that can be used by mentors to support newcomers; and investigating gender-specific challenges in OSS mentorship. Mentors, newcomers, online communities, and educators can leverage this knowledge to foster new contributors to OSS projects.
Article
The notion of scaffolding learners to help them succeed in solving problems other- wise too difficult for them is an important idea that has extended into the design of scaffolded software tools for learners. However, although there is a growing body of work on scaffolded tools, scaffold design, and the impact of scaffolding, the field has not yet converged on a common theoretical framework that defines rationales and approaches to guide the design of scaffolded tools. In this article, we present a scaffold- ing design framework addressing scaffolded software tools for science inquiry. Developed through iterative cycles of inductive and theory-based analysis, the framework synthesizes the work of prior design efforts, theoretical arguments, and empirical work in a set of guidelines that are organized around science inquiry practices and the challenges learners face in those practices. The framework can provide a basis for developing a theory of pedagogical support and a mechanism to describe successful scaffolding approaches. It can also guide design, not in a prescriptive manner but by providing designers with heuristics and examples of possible ways to address the challenges learners face.
Article
Online resources can help novice developers learn basic programming skills, but few resources support progressing from writing working code to learning professional web development practices. We address this gap by advancing Readily Available Learning Experiences, a conceptual approach for transforming all professional web applications into opportunities for authentic learning. This article presents Isopleth, a web-based platform that helps learners make sense of complex code constructs and hidden asynchronous relationships in professional web code. Isopleth embeds sensemaking scaffolds informed by the learning sciences to (1) expose hidden functional and event-driven relationships, (2) surface functionally related slices of code, and (3) support learners manipulating the provided code representations. To expose event-driven relationships, Isopleth implements a novel technique called Serialized Deanonymization to determine and visualize asynchronous functional relationships. To evaluate Isopleth, we conducted a case study across 12 professional websites and a user study with 14 junior and senior developers. Results show that Isopleth’s sensemaking scaffolds helped to surface implementation approaches in event binding, web application design, and complex interactive features across a range of complex professional web applications. Moreover, Isopleth helped junior developers improve the accuracy of their conceptual models of how features are implemented by 31% on average.
Conference Paper
This extended abstract summarizes our article entitled "Teaching Software Product Lines: A Snapshot of Current Practices and Challenges" published in the ACM Transactions on Computing Education, vol. 18 in 2017 (http://doi.acm.org/10.1145/3088440). The article reports on three initiatives we have conducted with scholars, educators, industry practitioners, and students to understand the connection between software product lines and education and to derive recommendations for educators to continue improving the state of practice of teaching SPLs.
Article
Software Product Line (SPL) engineering has emerged to provide the means to efficiently model, produce, and maintain multiple similar software variants, exploiting their common properties, and managing their variabilities (differences). With over two decades of existence, the community of SPL researchers and practitioners is thriving, as can be attested by the extensive research output and the numerous successful industrial projects. Education has a key role to support the next generation of practitioners to build highly complex, variability-intensive systems. Yet, it is unclear how the concepts of variability and SPLs are taught, what are the possible missing gaps and difficulties faced, what are the benefits, and what is the material available. Also, it remains unclear whether scholars teach what is actually needed by industry. In this article, we report on three initiatives we have conducted with scholars, educators, industry practitioners, and students to further understand the connection between SPLs and education, that is, an online survey on teaching SPLs we performed with 35 scholars, another survey on learning SPLs we conducted with 25 students, as well as two workshops held at the International Software Product Line Conference in 2014 and 2015 with both researchers and industry practitioners participating. We build upon the two surveys and the workshops to derive recommendations for educators to continue improving the state of practice of teaching SPLs, aimed at both individual educators as well as the wider community.