Abstract
Onboarding (i.e., the process of incorporating new people) is relevant because it introduces employees to their role, the company’s culture, and what the company has to offer. Onboarding is then dependent on the company’s culture and practices. When it comes to software development, these practices include the methods, the tools or the developers’ organigram. Accordingly, there is not a one-size-fits-all onboarding, rather this procedure needs to be tuned for the practice at hand. This work tackles the specifics brought about by Software Product Line Engineering w.r.t. traditional software development, namely: larger code base, larger code variability, and larger and more heterogeneous teams. Specifically, this works advocates for feature-centric onboarding. Features (i.e., functional characteristics that are visible for a user) already play a key role throughout the SPL lifecycle. In this context, we advocate for defining the onboarding process as a journey where milestones are equated with features. Unfortunately, finding the most appropriate feature for a newcomer, if conducted manually by mentors, would be time-consuming, given the sheer number of features. To face this problem, we advocate for Recommender Systems based on the similarity between the feature’s codebase and the code previously explored by the newcomer. To this end, we resort to Topic Modeling, and specifically, Latent Dirichlet Allocation. We provide proof-of-concept through RecomMentor, a recommender system for pure-variants as the variability management system. RecomMentor is put to test against ranking metrics of the Information Retrieval literature. The first evaluation suggests that LDA could be an appropriate technique, paving the way towards using Recommender Systems in feature-based onboarding scenarios.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
WACline’s source code is available at https://github.com/onekin/WacLine.
References
Abbas, M., Jongeling, R., Lindskog, C., Enoiu, E.P., Saadatmand, M., Sundmark, D.: Product line adoption in industry: an experience report from the railway domain. In: SPLC (A), pp. 3:1–3:11. ACM (2020). https://doi.org/10.1145/3382025.3414953
Altarawy, D., Shahin, H., Mohammed, A., Meng, N.: Lascad: language-agnostic software categorization and similar application detection. J. Syst. Softw. 142, 21–34 (2018). https://doi.org/10.1016/j.jss.2018.04.018
Apel, S., Batory, D.S., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines - Concepts and Implementation. Springer (2013). https://doi.org/10.1007/978-3-642-37521-7
Auch, M., Weber, M., Mandl, P., Wolff, C.: Similarity-based analyses on software applications: a systematic literature review. J. Syst. Softw. 168, 110669 (2020). https://doi.org/10.1016/j.jss.2020.110669
Azanza, M., Irastorza, A., Medeiros, R., Díaz, O.: Onboarding in software product lines: Concept maps as welcome guides. In: ICSE (SEET), pp. 122–133. IEEE (2021). https://doi.org/10.1109/ICSE-SEET52601.2021.00022
Azanza, M., Montalvillo, L., Díaz, O.: 20 years of industrial experience at SPLC: a systematic mapping study. In: SPLC (A), pp. 172–183. ACM (2021). https://doi.org/10.1145/3461001.3473059
Balali, S., Steinmacher, I., Annamalai, U., Sarma, A., Gerosa, M.A.: Newcomers’ Barriers. . . Is That All? An Analysis of Mentors’ and Newcomers’ Barriers in OSS Projects. Computer Supported Cooperative Work (CSCW), 679–714 (2018). https://doi.org/10.1007/s10606-018-9310-8
Beuche, D.: Industrial variant management with pure: : variants. In: SPLC (B), pp. 64:1–64:3. ACM (2019). https://doi.org/10.1145/3307630.3342391
Britto, R., Cruzes, D.S., Smite, D., Sablis, A.: Onboarding software developers and teams in three globally distributed legacy projects: a multi-case study. J. Softw. Evol. Process. 30(4) (2018). https://doi.org/10.1002/smr.1921
Britto, R., Smite, D., Damm, L., Börstler, J.: Evaluating and strategizing the onboarding of software developers in large-scale globally distributed projects. J. Syst. Softw. 169, 110699 (2020). https://doi.org/10.1016/j.jss.2020.110699
Buchan, J., MacDonell, S.G., Yang, J.: Effective team onboarding in agile software development: techniques and goals. In: ESEM, pp. 1–11. IEEE (2019). https://doi.org/10.1109/ESEM.2019.8870189
Cable, D.M., Parsons, C.K.: Socialization tactics and person-organization fit. Pers. Psychol. 54(1), 1–23 (2001). https://doi.org/10.1111/j.1744-6570.2001.tb00083.x
Cañamares, R., Castells, P., Moffat, A.: Offline evaluation options for recommender systems. Inf. Retrieval J. 23(4), 387–410 (2020). https://doi.org/10.1007/s10791-020-09371-3
Clements, P., Northrop, L.: Software Product Lines - Practices and Patterns. Addison-Wesley (2001)
Čubranić, D., Murphy, G.C., Singer, J., Booth, K.S.: Hipikat: a project memory for software development. IEEE Trans. Softw. Eng. 31(6), 446–465 (2005). https://doi.org/10.1109/TSE.2005.71
Deissenboeck, F., Pizka, M.: Concise and consistent naming. Softw. Qual. J. 14(3), 261–282 (2006). https://doi.org/10.1007/s11219-006-9219-1
Dominic, J., Houser, J., Steinmacher, I., Ritter, C., Rodeghero, P.: Conversational bot for newcomers onboarding to open source projects. In: ICSE (Workshops), pp. 46–50. ACM (2020). https://doi.org/10.1145/3387940.3391534
Fagerholm, F., Guinea, A.S., Münch, J., Borenstein, J.: The role of mentoring and project characteristics for onboarding in open source software projects. In: Proceedings of the 8th ACM/IEEE International Symposium on empirical software engineering and measurement, pp. 1–10 (2014). https://doi.org/10.1145/2652524.2652540
Gasparic, M., Janes, A.: What recommendation systems for software engineering recommend: a systematic literature review. J. Syst. Softw. 113, 101–113 (2016). https://doi.org/10.1016/j.jss.2015.11.036
Gregory, P., Strode, D.E., AlQaisi, R., Sharp, H., Barroca, L.: Onboarding: how newcomers integrate into an agile project team. In: Stray, V., Hoda, R., Paasivaara, M., Kruchten, P. (eds.) XP 2020. LNBIP, vol. 383, pp. 20–36. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-49392-9_2
Heimburger, L., Buchweitz, L., Gouveia, R., Korn, O.: Gamifying onboarding: how to increase both engagement and integration of new employees. In: Goossens, R.H.M., Murata, A. (eds.) AHFE 2019. AISC, vol. 970, pp. 3–14. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-20145-6_1
Ju, A., Sajnani, H., Kelly, S., Herzig, K.: A case study of onboarding in software teams: tasks and strategies. In: ICSE, pp. 613–623. IEEE (2021). https://doi.org/10.1109/ICSE43902.2021.00063
Kamali, S.R., Kasaei, S., Lopez-Herrejon, R.E.: Answering the call of the wild?: thoughts on the elusive quest for ecological validity in variability modeling. In: SPLC (B), pp. 81:1–81:8. ACM (2019). https://doi.org/10.1145/3307630.3342400
Kuttal, S.K., Chen, X., Wang, Z., Balali, S., Sarma, A.: Visual resume: exploring developers’ online contributions for hiring. Inf. Softw. Technol. 138, 106633 (2021). https://doi.org/10.1016/j.infsof.2021.106633
Lops, P., de Gemmis, M., Semeraro, G.: Content-based recommender systems: state of the art and trends. In: Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. (eds.) Recommender Systems Handbook, pp. 73–105. Springer, Boston, MA (2011). https://doi.org/10.1007/978-0-387-85820-3_3
Malheiros, Y., Moraes, A., Trindade, C., Meira, S.: A source code recommender system to support newcomers. In: COMPSAC, pp. 19–24. IEEE Computer Society (2012). https://doi.org/10.1109/COMPSAC.2012.11
Melo, J., Narcizo, F.B., Hansen, D.W., Brabrand, C., Wasowski, A.: Variability through the eyes of the programmer. In: ICPC, pp. 34–44. IEEE Computer Society (2017). https://doi.org/10.1109/ICPC.2017.34
Moe, N.B., Stray, V., Goplen, M.R.: Studying onboarding in distributed software teams: a case study and guidelines. In: EASE, pp. 150–159. ACM (2020). https://doi.org/10.1145/3383219.3383235
Ohri, İ, Öge, İ, Orkun, B., Yilmaz, M., Tuzun, E., Clarke, P., O’Connor, R.V.: Adopting augmented reality for the purpose of software development process training and improvement: an exploration. In: Larrucea, X., Santamaria, I., O’Connor, R.V., Messnarz, R. (eds.) EuroSPI 2018. CCIS, vol. 896, pp. 195–206. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-97925-0_16
Petersen, K., Wohlin, C.: Context in industrial software engineering research. In: ESEM, pp. 401–404. IEEE Computer Society (2009). https://doi.org/10.1109/ESEM.2009.5316010
Pham, R., Kiesling, S., Singer, L., Schneider, K.: Onboarding inexperienced developers: struggles and perceptions regarding automated testing. Software Qual. J. 25(4), 1239–1268 (2016). https://doi.org/10.1007/s11219-016-9333-7
Sharma, G.G., Stol, K.: Exploring onboarding success, organizational fit, and turnover intention of software professionals. J. Syst. Softw. 159 (2020). https://doi.org/10.1016/j.jss.2019.110442
Steinmacher, I., Gerosa, M., Conte, T.U., Redmiles, D.F.: Overcoming social barriers when contributing to open source software projects. Computer Supported Cooperative Work (CSCW) (4), 247–290 (2018). https://doi.org/10.1007/s10606-018-9335-z
Viviani, G., Murphy, G.C.: Reflections on onboarding practices in mid-sized companies. In: CHASE@ICSE, pp. 83–84. IEEE/ACM (2019). https://doi.org/10.1109/CHASE.2019.00027
Wang, J., Sarma, A.: Which bug should I fix: helping new developers onboard a new project. In: CHASE, pp. 76–79. ACM (2011). https://doi.org/10.1145/1984642.1984661
Acknowledgments
This work is supported by the Spanish Ministry of Science and Innovation (RTI2018-099818-B-I00). R. Medeiros enjoys a doctoral grant from the Ministry of Science and Innovation.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A The Oracle
A The Oracle
The WACline oracle used in the evaluation consists of a Feature x Feature matrix (of all the optional features in WACline) where cells indicate similarity values between the optional features of the SPL, values go from 0 (totally dissimilar) to 3 (identical) (check Table 4 for an example). Two developers were involved in the construction process. The process follows: (1) an oracle is provided by each of the developers, (2) both oracles are disclosed, and (3) an agreement on discrepancies is reached.
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Medeiros, R., Díaz, O. (2022). Assisting Mentors in Selecting Newcomers’ Next Task in Software Product Lines: A Recommender System Approach. In: Franch, X., Poels, G., Gailly, F., Snoeck, M. (eds) Advanced Information Systems Engineering. CAiSE 2022. Lecture Notes in Computer Science, vol 13295. Springer, Cham. https://doi.org/10.1007/978-3-031-07472-1_27
Download citation
DOI: https://doi.org/10.1007/978-3-031-07472-1_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-07471-4
Online ISBN: 978-3-031-07472-1
eBook Packages: Computer ScienceComputer Science (R0)