Future Skills: How to Strengthen Computational Thinking in all Software Project Roles
The digital transformation leads to software systems pervading almost all spheres of private and professional life. To ensure that these software systems are designed and successfully implemented as needed, intensive collaboration is essential in the key roles in software projects, in particular for the roles of product owner, user experience designer, as well as software engineer. The collaboration of people with usually different levels of IT savviness requires the appropriate skills of those involved, which are also called Future Skills. Computational thinking is an important skill for everyone involved in software projects, no matter which role they are in. We describe an interdisciplinary tool based teaching and learning program where we build virtual voice based assistants (voice apps for Amazon Alexa) in interdisciplinary student teams to train computational thinking and collaboration skills. A first competency test validates the effectiveness of our approach. Motivation: Future Skills1 In current digitalization initiatives, there is a lot of discussion on how to increase graduation numbers in software engineering related study programs in order to have more skilled people driving the ongoing digital transformation. In this discussion, however, we often forget that digitalization is always related to an application domain. The digital transformation benefits strongly if software related skills are strengthened not only for the core software engineering roles, but also for less technical roles in software projects 1With 'Future Skills' we refer to 'competencies' required by university graduates across all majors in the coming years. These competencies are necessary to meet digital requirements as they are currently expected in business and society (cf. (Kirchherr et al. 2018) like product owners, or user experience designers (see Figure 1) as well as for even more general roles such as product management or project management. Figure 1: Key roles in software projects. Software products can only be successful if the key roles work hand in hand in software projects: product owners with their knowledge of the application domain and product vision, user experience designers who guide human computer interaction, and software engineers being responsible for software implementation. The skills and competencies related to these roles are essential in successful projects. They are required to successfully meet the challenges of digital transformation. How do we best train the talents for the ongoing digital transformation, and what exactly do future employees need to learn? Stifterverband, a joint initiative of German organizations, has published a discussion paper in September 2018 together with McKinsey Company where they address three core competency V. Thurner, O. Radfelder, K. Vosseberg (Hrsg. SEUH 2019 56 Figure 2: Future Skills: Digitalization and new job profiles lead to two challenges for companies. (1) Jobs shift towards IT related profiles. (2) Work processes and work requirements change for the majority of employees. Many employees thus need a modified set of digital and non digital key competencies (cf. (Kirchherr et al. 2018) categories driving the digitalization (Kirchherr et al. 2018) Figure 2 illustrates competencies related to the digital transformation as well as to new forms of work. With changes in the job portfolios and new forms of work, there has been an expected shortage of qualified people for some time now. In particular, the job market will be increasingly dominated by job profiles that are heavily related to software engineering. Accordingly, a lot of effort is spent on increasing the number of graduates of software engineering related degree programs, in order to increase the number of software engineers in the market and thus to meet the growing demand for qualified specialists. At the same time, it is essential to strengthen everybody's digital and non digital key competencies. Digitalization is not just an IT issue. Digitalization is inherently linked to the digital transformation and thus the creation of digital automation or digital assistance systems in an application domain. Therefore, it is just as important for employees and students of all application domains to acquire software engineering competencies. Stifterverband (Kirchherr et al. 2018) stresses that both digital and non digital key competencies are a must have for all current students. Key digital skills include among others data literacy, collaborative skills and digital learning skills. Based on Wing (2006) computational thinking can be considered as a prerequisite for digital learning. By now, the relevance of all these skills for virtually any member of our professional work force is undisputed and widely recognized. How can we integrate the development of these competencies into study programs? Curricula are often overfull and the amount of available (and often essential) knowledge is increasing in almost every application domain. Solutions have to be found to systematically integrate key competencies required for the digital transformation into the teaching andlearning processes without weakening the core foundation in the respective application domains. Project based learning is a successful instructional learning format that has been proven to systematically strengthen some of the required future skills (Bell, 2010) Interdisciplinary project based learning is even more effective, as team diversity is an additional success factor for creative, goal oriented collaboration in addition to the future skills mentioned above (Digitalisierung, 2016; Meier et al. 2007) Future Skills: How to strengthen computational thinking in all software project roles Gudrun Socher, Sarah Ottinger, Veronika Thurner und Ralph Berchtenbreiter, HS Munchen V. Thurner, O. Radfelder, K. Vosseberg (Hrsg. SEUH 2019 57
SEUH