Skip to main content

Assisting Mentors in Selecting Newcomers’ Next Task in Software Product Lines: A Recommender System Approach

  • Conference paper
  • First Online:
Advanced Information Systems Engineering (CAiSE 2022)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    WACline’s source code is available at https://github.com/onekin/WacLine.

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

  5. 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

  6. 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

  7. 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

  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

  9. 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

  10. 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

    Article  Google Scholar 

  11. 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

  12. 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

    Article  Google Scholar 

  13. 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

    Article  Google Scholar 

  14. Clements, P., Northrop, L.: Software Product Lines - Practices and Patterns. Addison-Wesley (2001)

    Google Scholar 

  15. Č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

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

  18. 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

  19. 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

    Article  Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. 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

  23. 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

  24. 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

    Article  Google Scholar 

  25. 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

    Chapter  Google Scholar 

  26. 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

  27. 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

  28. 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

  29. 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

    Chapter  Google Scholar 

  30. 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

  31. 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

    Article  Google Scholar 

  32. 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

  33. 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

  34. 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

  35. 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

Download references

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

Authors

Corresponding author

Correspondence to Raul Medeiros .

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.

Table 4. An excerpt of the WACline oracle. The oracle is available at: https://tinyurl.com/fep4jyhs.

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics