Enterprise Resource Planning (ERP) systems are critical to the success of enterprises, facilitating business operations through standardized digital processes. However, existing ERP systems are unsuitable for startups and small and medium-sized enterprises that grow quickly and require adaptable solutions with low barriers to entry. Drawing upon 15 explorative interviews with industry experts, we examine the challenges of current ERP systems using the task technology fit theory across companies of varying sizes. We describe high entry barriers, high costs of implementing implicit processes, and insufficient interoperability of already employed tools. We present a vision of a future business process platform based on three enablers: Business processes as first-class entities, semantic data and processes, and cloud-native elasticity and high availability. We discuss how these enablers address current ERP systems' challenges and how they may be used for research on the next generation of business software for tomorrow's enterprises.
The Hasso Plattner Institute (HPI), academically structured as the independent Faculty of Digital Engineering at the University of Potsdam, unites computer science research and teaching with the advantages of a privately financed institute and a tuition-free study program. Founder and namesake of the institute is the SAP co-founder Hasso Plattner, who also heads the Enterprise Platform and Integration Concepts (EPIC) research center which focuses on the technical aspects of business software with a vision to provide the fastest way to get insights out of enterprise data. Founded in 2006, the EPIC combines three research groups comprising autonomous data management, enterprise software engineering, and data-driven decision support.
COVID-19 and its immediate impacts on teaching activities have required changes from computer science educators worldwide.We switched our on-site courses to remote setups without detailed knowledge of what tools, techniques, and methods would work in different teaching contexts.A growing amount of experience reports on general best practices for remote teaching in higher education are available.However, university courses featuring practical software development projects present unique challenges regarding remote learning, as effective student collaboration is vital.In these courses, students tackle situations in the project and their team meetings that would also occur in real software projects experienced in industry settings.In this paper, we share our experiences on how we successfully adapted our software engineering project course to a remote setup, which challenges we observed in student teams and how they can be mitigated, and what (surprisingly) worked better than expected.Finally, we propose improvements that we expect will be beneficial not only for future remote-only but also for hybrid or on-site courses.
Das 1998 gegründete Hasso-Plattner-Institut (HPI) ist ein privat finanziertes IT-Institut und bildet gemeinsam mit der Universität Potsdam die Fakultät „Digital Engineering“. Gründer und Namensgeber des Instituts ist der SAP-Mitgründer Hasso Plattner, welcher mit dem Fachgebiet „Enterprise Platform und Integration Concepts“ (EPIC) seine eigene Forschungsgruppe leitet. Diese beschäftigt sich mit der effizienten Verwaltung, Integration und Auswertung von Unternehmens- und Geschäftsprozessdaten. Dabei wird eng mit verschiedenen Unternehmen und deren Nutzer:innen zusammengearbeitet, um Herausforderungen zu identifizieren und Lösungen gemeinsam zu entwickeln. Gegründet wurde das EPIC-Fachgebiet 2006 und bietet zurzeit zwei Senior-Researchern, drei Postdoktoranden, 16 Doktorand:innen und 21 Masterstudent:innen eine Forschungsumgebung.
Streaming games and entertainment content are established formats on large portals like YouTube and Twitch. Educational streams have not yet reached the same popularity. Consequently, the existing research of gaming streams by far exceeds the research of live-streaming lectures. In this paper, we contribute first insights regarding this area, outline the status quo of the edu-streaming ecosystem, and highlight common approaches and characteristics. Through a descriptive study of 100 popular gaming streams, we systemize the inductively found features and approaches that are seen in both ecosystems. With a further focus on 20 educational streams, we highlight features such as synchronous community building and on-stream interactivity. We project the main differences between the core characteristics of MOOCs and educational streams. Finally, we propose further research directions for the emerging field of public, synchronous online education.
Learners in Massive Open Online Courses offering practical programming exercises face additional challenges next to the actual course content. Beginners have to find approaches to deal with misconceptions and often struggle with the correct syntax while solving the exercises. The paper at hand presents insights from offering contextual tips in a web-based development environment used for practical programming exercises. We measured the effects of our approach in a Python course with 6,000 active students in a hidden A/B test and additionally used qualitative surveys. While a majority of learners valued the assistance, we were unable to show a direct impact on completion rates or average scores. We however noticed that users requesting tips took significantly longer and made more use of other assistance features of the platform than users in our control group. Insights from our study can be used to target beginners with more specific hints and provide additional, context-specific clues as part of the learning material.
The Hasso Plattner Institute (HPI) successfully operates a MOOC (Massive Open Online Course) platform since 2012. Since 2013, global enterprises, international organizations, governments, and research projects funded by the German ministry of education are partnering with us to operate their own instances of the platform. The focus of our platform instance is on IT topics, which includes programming courses in different programming languages. An important element of these courses are graded hands-on programming assignments. MOOCs, even more than traditional classroom situations, depend on automated solutions to assess programming exercises. Manual evaluation is not an option due to the massive amount of users that participate in these courses. The paper at hand presents two of the tools developed in this context at the HPI: CodeOcean—an auto-grader for a variety of programming languages, and CodeHarbor, a tool to share auto-gradable programming exercises between various online platforms.
The most prominent Agile framework Scrum, is often criticized for its amount of meetings. These regular events are essential to the empirical inspect-and-adapt cycle proposed by Agile methods. Scrum meetings face several challenges, such as being perceived as boring, repetitive, or irrelevant, leading to decreased cooperation in teams and less successful projects. In an attempt to address these challenges, Agile practitioners have adopted teamwork, innovation, and design techniques geared towards improving collaboration. Additionally, they have developed their own activities to be used in Scrum meetings, most notably for conducting retrospective and planning events. Design thinking incorporates non-designers and designers in design and conceptualization activities, including user research, ideation, or testing. Accordingly, the design thinking approach provides a process with different phases and accompanying techniques for each step. These design thinking techniques can support shared understanding in teams and can improve collaboration, creativity, and product understanding. For these reasons, design thinking techniques represent a worthwhile addition to the Scrum meeting toolkit and can support Agile meetings in preventing or countering common meeting challenges and achieving meeting goals. This chapter explores how techniques from the design thinking toolkit can support Scrum meetings from a theoretical and practical viewpoint. We analyze Scrum meetings' requirements, goals, and challenges and link them to groups of techniques from the design thinking toolkit. In addition, we review interview and observational data from two previous studies with software development practitioners and derive concrete examples. As a result, we present initial guidelines on integrating design thinking techniques into Scrum meetings to make them more engaging, collaborative, and interactive.
Design Thinking (DT) is an established approach to conceptualize software products before starting the product development work. Research suggests that software development can benefit from a continuous integration of DT throughout Agile development processes. However, practitioners and researchers lack an in-depth understanding of which tools from the ever-growing DT toolbox are suited to support software development teams and their processes and how these tools can be applied to the teams’ daily work. As initial steps towards closing this knowledge gap, we present our experiences from testing five different DT tools from a previously developed toolbox with four Agile software development teams. Each team chose three tools to apply to their product, problem, and context during a workshop. We present summarised findings regarding the use cases, benefits, and challenges of these tools as experienced by the participants. Overall, the teams welcomed the DT tools and were able to independently apply them to achieve the desired effects, e.g., to highlight user needs, find product issues, and discover team challenges.
Massive Open Online Courses (MOOCs) open up new opportunities to learn a wide variety of skills online and are thus well suited for individual education, especially where proffcient teachers are not available locally. At the same time, modern society is undergoing a digital transformation, requiring the training of large numbers of current and future employees. Abstract thinking, logical reasoning, and the need to formulate instructions for computers are becoming increasingly relevant. A holistic way to train these skills is to learn how to program. Programming, in addition to being a mental discipline, is also considered a craft, and practical training is required to achieve mastery. In order to effectively convey programming skills in MOOCs, practical exercises are incorporated into the course curriculum to offer students the necessary hands-on experience to reach an in-depth understanding of the programming concepts presented. Our preliminary analysis showed that while being an integral and rewarding part of courses, practical exercises bear the risk of overburdening students who are struggling with conceptual misunderstandings and unknown syntax. In this thesis, we develop, implement, and evaluate different interventions with the aim to improve the learning experience, sustainability, and success of online programming courses. Data from four programming MOOCs, with a total of over 60,000 participants, are employed to determine criteria for practical programming exercises best suited for a given audience. Based on over five million executions and scoring runs from students' task submissions, we deduce exercise difficulties, students' patterns in approaching the exercises, and potential flaws in exercise descriptions as well as preparatory videos. The primary issue in online learning is that students face a social gap caused by their isolated physical situation. Each individual student usually learns alone in front of a computer and suffers from the absence of a pre-determined time structure as provided in traditional school classes. Furthermore, online learning usually presses students into a one-size-fits-all curriculum, which presents the same content to all students, regardless of their individual needs and learning styles. Any means of a personalization of content or individual feedback regarding problems they encounter are mostly ruled out by the discrepancy between the number of learners and the number of instructors. This results in a high demand for self-motivation and determination of MOOC participants. Social distance exists between individual students as well as between students and course instructors. It decreases engagement and poses a threat to learning success. Within this research, we approach the identified issues within MOOCs and suggest scalable technical solutions, improving social interaction and balancing content difficulty. Our contributions include situational interventions, approaches for personalizing educational content as well as concepts for fostering collaborative problem-solving. With these approaches, we reduce counterproductive struggles and create a universal improvement for future programming MOOCs. We evaluate our approaches and methods in detail to improve programming courses for students as well as instructors and to advance the state of knowledge in online education. Data gathered from our experiments show that receiving peer feedback on one's programming problems improves overall course scores by up to 17%. Merely the act of phrasing a question about one's problem improved overall scores by about 14%. The rate of students reaching out for help was significantly improved by situational just-in-time interventions. Request for Comment interventions increased the share of students asking for help by up to 158%. Data from our four MOOCs further provide detailed insight into the learning behavior of students. We outline additional significant findings with regard to student behavior and demographic factors. Our approaches, the technical infrastructure, the numerous educational resources developed, and the data collected provide a solid foundation for future research.
Motivated and competent team members are a vital part of Agile Software development and make or break any project's success. Motivation is fostered by continuous progress and recognition of efforts. These concepts are founding pillars of the Scrum methodology, which focuses on self-organizing teams. The types of contributions Scrum development team members make to a project's progress are not only technical. However, a comprehensive model comprising the varied contributions in modern software engineering teams is not yet established. We propose a model that incorporates contributions of all Scrum roles, explicitly including those which are not directly related to project artifacts. It improves the visibility of performed tasks, acts as a starting point for team retrospection, and serves as a foundation for discussion in the research community.
Design Thinking has become an important and widely accepted innovation approach in many companies worldwide. However, it is mostly used in small innovation or research projects, or is outsourced to innovation labs or design agencies. Furthermore, there is little published data on how to leverage Design Thinking for complex applications. Multiple, collaborating development teams are required to construct sophisticated software products for different stakeholder groups. Therefore, similarly to scaled agile development, several Design Thinking teams should be employed in complex software projects to take advantage of parallel work capabilities and to investigate needs and demands of several customers, user and stakeholder groups. However, currently no approaches to scale Design Thinking to multiple teams exist. With this chapter, we aim to tackle this challenge and present a scaled Design Thinking approach, in which multiple teams conceive ideas in a Design Thinking phase and implement the resulting ideas in follow-up projects ultimately converging into one project and product. This approach is validated in an educational context with a master-level seminar and in the resulting follow-up projects in and outside of the curriculum. We discuss our experiences from the case study as well as the benefits and challenges of our approach. With this study we provide first insights on how to scale Design Thinking to multiple teams and how to leverage its capabilities for complex software products.
This paper examines the effects of exercise descriptions and supplied hints to achieved scores and required working times of programming exercises within a MOOC. We conducted an A/B test on more than 2.400 students using an exercise with four descriptions differing in clarity, description detail, order of presented instructions and presence or absence of exemplary program output. Results show that the expressiveness and structure of the instructions influence the required work times as well as the number of issued program runs. We suggest further experimentation to outline effects on programming errors and to determine guidelines for optimal exercise descriptions. Keywords—programming, exercise, description, working time
The perceptions and attitudes of developers impact how software projects are run and which development practices are employed in development teams. Recent agile methodologies have taken this into account, focusing on collaboration and shared team culture. In this research, we investigate the perceptions of agile development practices and their usage in Scrum software development teams. Although perceptions collected through surveys of 42 participating students did not evolve significantly over time, our analyses show that the Scrum role significantly impacted participants' views of employed development practices. We find that using the version control system according to agile ideas was consistently rated most related to the values of the Agile Manifesto. Furthermore, we investigate how common software development artifacts can be used to gain insights into team behavior and present the development data measurements we employed. We show that we can reliably detect well-defined agile practices, such Test-Driven Development, in this data and that usage of these practices coincided with participants' self-assessments.
Massive Open Online Courses (MOOCs) are an interactive eLearning course format, originally focussing on social collaboration and interaction. Considering this, why do most of the nowadays MOOCs provide only few interactive course elements, but instead resemble classic teaching methods? Gameful learning is one possible option how to employ more engaging and interactive course formats. In this paper, we present the course design of two storified Java programming MOOCs along with explaining our design decisions and presenting first insights from conducting these courses. To apply gameful learning, we included a coherent, fully optional detective story that spanned over all course weeks. A new story video was released each course week. Both courses used the same characters but offered a different narrative. The first course offered interactive story-decisions, the second one did not. Many programming exercises, a team peer exercise and a couple of Easter eggs were connected to the narrative. Some of the narrative course elements encouraged the learners to discuss their ideas and share their findings or results. The paper aims at identifying whether using a narrative can be a low-barrier method to apply gameful learning to MOOCs; which worked well for us. After conducting the courses, we identified that most learners perceived the narrative as a positive (76%) or neutral (10%) course element. About 5% of learners that finished the course stated the story was their main reason to continue the course. We did not identify any influence on the social interaction so far, nor did the story-relevant freedom of choice make any difference on the learner satisfaction. However, we realized the quality of our materials as well as exemplification increased when applying a narrative. We also identified that about 19% of our learners re-enrolled to newer course iterations, while about 6% enroll to older course iterations when initially taking part in a newer course iteration. Thus, using recurring story elements can be useful.
This Research Full Paper presents insights from digital worksheets with embedded interactive programming exercises tailored for high-school students new to programming. Computer science teachers often incorporate existing videos, quizzes, and practical programming exercises from Massive Open Online Courses (MOOCs). However, teachers' options to adapt the content to their specific needs are currently limited. Based on a qualitative survey with thirteen teachers, we developed a software prototype which allows teachers to create their own interactive worksheets consisting of texts, videos, quizzes, and practical programming exercises. Additionally, teachers can embed and further customize existing exercises from MOOCs. Further, we enable teachers to gain deeper insights by providing results from automated submission analysis, thus uncovering knowledge gaps and fostering content-driven in-class discussions. Our evaluation shows that the concept was well received by students and teachers alike: Teachers noticed the possibility of a shift in their role from a lecturing instructor to an individual tutor, as students are enabled to learn at their own pace and receive specific, direct feedback based on automated unit tests. Interactive worksheets, as an integrated part of digital education, thus foster informed teacher interventions as part of an individualized student learning process.
Computer science education in German schools is often less than optimal. It is only mandatory in a few of the federal states and there is a lack of qualified teachers. As a MOOC (Massive Open Online Course) provider with a German background, we developed the idea to implement a MOOC addressing pupils in secondary schools to fill this gap. The course targeted high school pupils and enabled them to learn the Python programming language. In 2014, we successfully conducted the first iteration of this MOOC with more than 7000 participants. However, the share of pupils in the course was not quite satisfactory. So we conducted several workshops with teachers to find out why they had not used the course to the extent that we had imagined. The paper at hand explores and discusses the steps we have taken in the following years as a result of these workshops.
This Innovative Practice Full Paper presents an approach of using software development artifacts to gauge student behavior and the effectiveness of changes to curriculum design. There is an ongoing need to adapt university courses to changing requirements and shifts in industry. As an educator it is therefore vital to have access to methods, with which to ascertain the effects of curriculum design changes. In this paper, we present our approach of analyzing software repositories in order to gauge student behavior during project work. We evaluate this approach in a case study of a university undergraduate software development course teaching agile development methodologies. Surveys revealed positive attitudes towards the course and the change of employed development methodology from Scrum to Kanban. However, surveys were not usable to ascertain the degree to which students had adapted their workflows and whether they had done so in accordance with course goals. Therefore, we analyzed students' software repository data, which represents information that can be collected by educators to reveal insights into learning successes and detailed student behavior. We analyze the software repositories created during the last five courses, and evaluate differences in workflows between Kanban and Scrum usage.
This work presents insights about the long-term effects and retention rates of knowledge acquired within MOOCs. In 2015 and 2017, we conducted two introductory MOOCs on object-oriented programming in Java with each over 10,000 registered participants. In this paper, we analyze course scores, quiz results and self-stated skill levels of our participants. The aim of our analysis is to uncover factors influencing the retention of acquired knowledge, such as time passed or knowledge application, in order to improve long-term success. While we know that some participants learned the programming basics within our course, we lack information on whether this knowledge was applied and fortified after the course's end. To fill this knowledge gap, we conducted a survey in 2018 among all participants of our 2015 and 2017 programming MOOCs. The first part of the survey elicits responses on whether and how MOOC knowledge was applied and gives participants opportunity to voice individual feedback. The second part of the survey contains several questions of increasing difficulty and complexity regarding course content in order to learn about the consolidation of the acquired knowledge. We distinguish three programming knowledge areas in the survey: First, understanding of concepts, such as loops and boolean algebra. Second, syntax knowledge, such as specific keywords. Third, practical skills including debugging and coding. We further analyzed the long-term effects separately per participant skill group. While answer rates were low, the collected data shows a decrease of knowledge over time, relatively unaffected by skill level. Application of the acquired knowledge improves the memory retention rates of MOOC participants across all skill levels.