Gamifying the Onboarding Process for Novice Software Practitioners Mehmet Kosa1 ✉ and Murat Yilmaz2 (
)
1
2
Department of Digital Game Design, İpek University, Ankara, Turkey
[email protected] Department of Computer Engineering, Çankaya University, Ankara, Turkey
[email protected]
Abstract. As the software development process becomes more complex, the adaptation challenges for novice software practitioners become magnified. In particular, an invisible adaptation barrier could have emerged between a software project and newly hired software engineers. This barrier needs to be overcome as soon as possible for the new comers to be productive and effective. To address this issue, we propose a tailored gamification process especially for novice soft‐ ware engineers so as to improve their onboarding process. The approach aims to provide the novice practitioners more motivation and less struggling, which promotes the utilization of “6D Gamification Framework” that is discussed as an example.
1
Introduction
Onboarding a novice software engineer is not a trivial task. Getting used to a new company culture as well as to a complex software project is generally not achieved in a day. This adaptation stage, until completed properly, keeps away the new comer from productivity for a significant amount of time. Both the companies’ onboarding methods and the new comer’s motivation play important role to get over this period. Methods and processes are proposed to ease this period however, to our knowledge, there has been no widely accepted framework for onboarding software engineers. Gamification frameworks, although developed for general purposes, may be of help for both the novice software engineers and enterprises. The rest of the paper is organized as follows: Related work on onboarding is presented. Then, design principles and design considerations for onboarding games are discussed. Lastly, the conclusion and future studies are stated.
2
Related Work
Onboarding in this context is the process of helping the employee to get on track – that is to make her acquire the required skills, behaviors and knowledge – until she is fully equipped. The importance of onboarding is mentioned several times by the literature [6] and lots of attention has been invested on open source software projects rather than private company settings. Dai et al. [13] give a general review of onboarding by © Springer International Publishing Switzerland 2016 C. Kreiner et al. (Eds.): EuroSPI 2016, CCIS 633, pp. 242–248, 2016. DOI: 10.1007/978-3-319-44817-6_20
Gamifying the Onboarding Process
243
discussing key areas in onboarding, the reasons for onboarding, impact of successful onboarding, common mistakes and best onboarding practices. Depura et al. [14] in their study advocate using gamification, social media and mobile technology improves employee engagement and learning effectiveness based on quantitative results and qual‐ itative surveys. When we boil down onboarding to software engineering domain, there are several studies regarding the onboarding process. Yates, as her PhD dissertation, although not touching the gamification concept, thoroughly discusses the onboarding process in software engineering which stands out as a valuable starting point [17]. Steinmacher et al. [7] categorized onboarding barriers as social interactions, newcomers previous knowledge, finding a way to start, documentation problems, and code issues where all of them have sub-issues. In another study, Steinmacher et al. [10] defines two more onboarding barriers that are building/setting up workplace issues and newcomer behavior. Another study reports that, to overcome these issues, a portal is developed that reported to increase the self-efficacy of the new comers [8]. Self-efficacy might have a prominent role in onboarding for the new comers since they need to feel that they are in control and capable to be effective. It has been found that the new comers have a better job satisfaction if they are more self-efficient [19] Games in this sense are excellent tools to provide players self-efficacy [18, 20] with its minimal, step-by-step goals and small victories leading to higher achievements. Flow, the optimal experience, [15] might also be mentioned here which is another construct that games are reported to provide [16]. Getting the junior software engineers into flow will mean that they are experiencing enjoyment which will lead to increased motivation and engagement levels. Begel et al. [9] reports some common misconceptions of newly graduated engineers which can also be taken into consideration and addressed by the onboarding games. To overcome the onboarding issues on of the main method reported is the mentoring [5, 11]. Other than that, presence of past social connections is reported to have positive effects on onboarding [12]. Not necessarily being directly related to onboarding, Herranz et al. [21] explained their gamification platform (for software process improvement) that harnesses the power of motivation of gamification for software process improvement. Yilmaz et al. [22] also stated in an empirical study that the gamification techniques helped a small-scaled company improved its processes. Among the gamification application attempts [4], 6D framework from Werbach [1] is a well-known one which we have chosen to discuss for the purpose of this study.
3
Design Principles
Following Kevin Werbach’s 6D framework, it has been adapted for onboarding software engineers [1]. Game designers who design for onboarding should first define business objectives (D1). The main objective can be selected that the company should be having sustainable policies, activities and culture on onboarding engineers.
244
M. Kosa and M. Yilmaz
Secondly, they need to delineate target behaviors (D2). Those behaviors that the designers want to leverage for our case might be the positive attitude and motivation of the new comers in a playful manner. Next, they need to describe the players (D3). The “players” for an example case might be junior software engineers that are 22–30 years old with possible gaming history. The designers can also consider Bartle’s types [2] not to left out any player type. Another useful source might be the Marczewski’s player type framework for gamifica‐ tion design [3]. Then, the designers of such onboarding games should devise activity loops (D4). These loops are generally inspected under two categories: Engagement loops and progression loops. For the former, designers should think of motivating actions that they want the player to take, which causes the player to do the action, which causes a feedback that the designer will provide and in return will motivate the player to continue. “Imme‐ diate feedback” is the crucial part here therefore the new comer should not be left all alone to learn the codebase or company policies. For the latter loop, designers should be able to let the new comers win small battles (understanding part of a code and demonstrating by doing) which will eventually result in achieving final overarching goals which might be the main responsibility of that software engineer in the company. As for the fifth principle, the designers should ensure that this altered process of onboarding is fun and good designers do not forget the fun (D5) factor of the system. Junior software engineers are going through onboarding process every day across the globe in traditional methods. This approach is to make these processes more motivating and engaging. Therefore the core motivating factor, fun, should be taken very seriously when designing such interactivities. Lastly, designers of such games should deploy appropriate tools (D6). According to the framework, this comprises of three levels: Components, Mechanics and Dynamics. As for the components, they are the underlying level of the mechanics and dynamics and they should be decided depending on the other levels (virtual currency, levels are some examples for components). For the mechanics, achievements, discovery, owner‐ ship, progression, quests and rewards seem prominent and among those, discovery and quests may be selected as the driving mechanic. Lastly, for the dynamics, altruism, cooperation and related constructs should be put forward especially when a couple of software engineers are being on boarded. Following on those 6 principles, engaging, game-like activities can be produced to increase the effectiveness of the onboarding process, which ensures the novice software engineers’ effectiveness at once and provides a smooth transitioning in into the company culture (Fig. 1). An example consideration of a gamification framework for the present problem is discussed above. However, this is not to mean that engineers and designers should strictly stick to this. Other gamification frameworks may also be considered to be applied for onboarding. Even, one can take a perspective from a serious game designer point of view and add gameplay on top of game thinking and game elements. Taking this, one step further, game design principles themselves can be applied rather than gamification frameworks which may result in better outcomes.
Gamifying the Onboarding Process
245
Fig. 1. Adapted gamification design framework (6D) [1]
Company culture can really be a thruster or a limiting factor for this kind of approach. If the new comers as well as the former employees can be directed in a playful mindset, the process will be beneficial for all, not just the new comer.
246
M. Kosa and M. Yilmaz
Pairing – matching the new comer with a responsible senior staff and mentoring in the onboarding process stands out as a prevailing method for newly hired software engineers to be on boarded. Therefore necessitating cooperative actions in onboarding games are highly advised.
4
Design Considerations
Some design considerations should be discussed while designing onboarding games. Some of them are summarized as follows: • Will the novice software engineers be interacting/playing with the paired senior staff or with each other through the onboarding process? • Will the novice software engineers be having virtual currency that creates endoge‐ nous value? How will they be able to spend it? • How long the onboarding games should last? Mini-games that are played for short periods of time from time to time? Or long-running games that lasts for a week/month until the end of the onboarding process? • Should there be a narrative integrated to the activities? • How will the quick wins for the novice software engineers be provided so that she/he will be developing self-efficacy about the project? • Which gamification frameworks are well-suited for onboarding? • How can we test the validity of a gamification framework in this context? • How can non-digital games be incorporated?
5
Conclusion and Future Studies
Applying gamification/game design principles to the onboarding process of software engineers to a company can be a great use for that company to increase productivity of newly hired employees at once which results in general productivity. The ideas in this paper are neither tested nor validated in this particular domain. Demonstration of empir‐ ical evidence of using games in these kinds of situations in software engineering domain is required. For that, detailed design of full-fledged series of games or game-like activ‐ ities to orient and onboard novice software engineers should be presented in future studies. While contemplating about this, actual game tutorials can be a leading guide for new designers. How to design games to onboard junior software engineers for complex software projects, measuring the success of the methods and the performance of the newcomer remain problems to be solved.
References 1. Werbach, K., Hunter, D.: For the Win: How Game Thinking Can Revolutionize Your Business. Wharton Digital Press, Philadelphia (2012) 2. Bartle, R.: Hearts, clubs, diamonds, spades: players who suit MUDs. J. MUD Res. 1(1), 19 (1996)
Gamifying the Onboarding Process
247
3. Marczewski, A.: User types. In: Even Ninja Monkeys Like to Play: Gamification, Game Thinking and Motivational Design, 1st ed., pp. 65–80. CreateSpace Independent Publishing Platform (2015) 4. Mora, A., Riera, D., González, C., Arnedo-Moreno, J.: A literature review of gamification design frameworks. In: 2015 7th International Conference on Games and Virtual Worlds for Serious Applications (VS-Games), pp. 1–8. IEEE, September 2015 5. Fagerholm, F., Johnson, P., Sanchez Guinea, A., Borenstein, J., Munch, J.: Onboarding in open source software projects: A preliminary analysis. In: 2013 IEEE 8th International Conference on Global Software Engineering Workshops (ICGSEW), pp. 5–10. IEEE, August 2013 6. Graybill, J.O., Hudson, M.T.C., Offord Jr., J., Piorun, M., Shaffer, G.: Employee onboarding: identification of best practices in ACRL libraries. Libr. Manag. 34(3), 200–218 (2013) 7. Steinmacher, I., Gerosa, M.A.: How to support newcomers onboarding to open source software projects. In: Corral, L., Sillitti, A., Succi, G., Vlasenko, J., Wasserman, A.I. (eds.) OSS 2014. IFIP AICT, vol. 427, pp. 199–201. Springer, Heidelberg (2014) 8. Steinmacher, I., Wiese, I., Uchoa Conte, T., Aurelio Gerosa, M.: Increasing the self-efficacy of newcomers to open source software projects. In: 2015 29th Brazilian Symposium on Software Engineering (SBES), pp. 160–169. IEEE, September 2015 9. Begel, A., Simon, B.: Struggles of new college graduates in their first software development job. ACM SIGCSE Bull. 40(1), 226–230 (2008) 10. Steinmacher, I., Wiese, I.S., Conte, T., Gerosa, M. A., Redmiles, D.: The hard life of open source software project newcomers. In: Proceedings of the 7th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 72–78. ACM, June 2014 11. 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, p. 55. ACM, September 2014 12. Casalnuovo, C., Vasilescu, B., Devanbu, P., Filkov, V.: Developer onboarding in GitHub: the role of prior social links and language experience. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 817–828. ACM, August 2015 13. Dai, G., De Meuse, K.P.: A Review of Onboarding Literature. Lominger Limited, Inc., A subsidiary of Korn/Ferry International (2007) 14. Depura, K., Garg, M.: Application of online gamification to new hire onboarding. In: 2012 Third International Conference on Services in Emerging Markets (ICSEM), pp. 153–156. IEEE, December 2012 15. Csikszentmihalyi, M., Csikzentmihaly, M.: Flow: The Psychology of Optimal Experience, vol. 41. Harper Perennial, New York (1991) 16. Chen, J.: Flow in games (and everything else). Commun. ACM 50(4), 31–34 (2007) 17. Yates, R.Y.: Onboarding in software engineering (2014) 18. Meluso, A., Zheng, M., Spires, H.A., Lester, J.: Enhancing 5th graders’ science content knowledge and self-efficacy through game-based learning. Comput. Educ. 59(2), 497–504 (2012) 19. Song, Z., Chathoth, P.K.: An interactional approach to organizations’ success in socializing their intern newcomers: the role of general self-efficacy and organizational socialization inventory. J. Hosp. Tourism Res. 34, 364–387 (2010) 20. Allan, J.D.: An introduction to video game self-efficacy. Doctoral dissertation, California State University, Chico (2010)
248
M. Kosa and M. Yilmaz
21. Herranz, E., Colomo-Palacios, R., de Amescua Seco, A.: Gamiware: a gamification platform for software process improvement. In: O’Connor, R.V., Umay Akkaya, M., Kemaneci, K., Yilmaz, M., Poth, A., Messnarz, R. (eds.) EuroSPI 2015. CCIS, vol. 543, pp. 127–139. Springer, Heidelberg (2015). doi:10.1007/978-3-319-24647-5_11 22. Yilmaz, M., O’Connor, R.: A scrumban integrated gamification approach to guide software process improvement: a Turkish case study. Tehnicki Vjesnik (Technical Gazette) 23(1), 237–245 (2016)