JUNE 8-12, 2020
ONLINE! Copenhagen, Denmark
JUNE 8-12, 2020
ONLINE! Copenhagen, Denmark
Forming and assessing student teams in Software Engineering
Henrik Hillestad Løvold, Yngve Lindsjorn, Viktoria Stray
In software development projects, working in teams is essential.
Therefore, software engineering courses often require the students to be working in teams to learn about team work behaviors and practices. The instructors of software engineering courses are presented with several challenges when teaching courses that require teamwork. For example, how to form high-performing student teams, and how to assess their work.
In this paper, we describe how we approached the formation and evaluation of teams in a large course on software engineering.
The course is a 20 ECTS course; in spring 2019 there were 200 students working in 39 teams with approximately five students
in each team. We allowed our students to either form teams by themselves, or to be placed in teams by the instructors, based on
input they provided in a small survey. The teams formed by the instructors were intended to be as diverse as possible with regards to study programme and gender, and with team members being as equally ambitious as possible. A total of 76% of the students chose to form their own teams, the remaining 24% were placed in teams by the instructors. We report on the results of the teams formed by the students compared to the results of the teams formed by the
instructors. Our findings indicate that teams formed by the students perform slightly better than the teams formed by the instructors
Learning Fast and Small for Agility with PROBES
Deepti Jain and Jutta Eckstein
Agility requires experimenting continuously in order to inspect & adapt and as well to learn continuously. So, it’s not about failing fast, but about learning fast. In this workshop, which is based on the concept of ‘Probes’ from BOSSA nova, we will explore what learning fast means for every individual and the organization as a whole. In BOSSA nova probes are defined by small, safe-to-fail experiments based on hypotheses derived from reflection on the current situation as well as on theory. (And BOSSA nova is a synthesis of Beyond Budgeting, Open Space, Sociocracy, and Agility.)
Being Agile While Teaching Agile in Higher Education: Potentials, Pitfalls and Paradoxes
This experience report presents potentials, pitfalls, and paradoxes for teaching project management (PM) in an Agile way in higher education (HE) outside of a software development context. Based on the experiences of two iterations of teaching Agile in a masters level PM course that incorporated Agile principles and values (with decidedly mixed results), this presentation outlines key potentials as well as pitfalls of going Agile in HE course design and highlights paradoxes that teaching staff and students may have to navigate when trying and learning to be Agile in a traditional HE setting. Teachers and programme directors in HE can draw on the experiences shared in this presentation to identify and manage pitfalls and paradoxes in their own Agile course designs, in order to have them convey Agile PM’s principles and values.
“Extreme Startup” – Simulating High Intensity Software Delivery in Education and Training
“Extreme Startup” is an interactive software development challenge developed by Robert Chatley and Matt Wynne. It was first run as a conference session at XP2011 in Madrid, and now nearly 10 years later it has been used in many different training and educational contexts to simulate high intensity agile software delivery in a hands-on workshop environment. As well as providing a rewarding practical experience, the exercise also gives a lot for participants to reflect on after the fact. In this talk I will discuss how the exercise works, how it has been refined over time, the potential learning outcomes, and the different contexts and environments that it has been used in.
Agile Software Development at University Level – From Teaching to Coaching
Andreas Meier and Martin Kropp
Twelve years ago, we started teaching agile software development to undergraduate students. Right from the beginning, we focused on all three levels of the agile pyramid of competencies: Technical practices, collaboration practices and agile values. We have improved the course continuously based on student feedback, adapted it to new technologies and integrated new insights.
In this workshop, we will talk about our experiences and lessons learned. We present the content of the current curriculum and discuss the challenges we have faced. We will talk about coaching the student teams during the 14-week agile software development projects. Some of these projects are in collaboration with external partners, which can be a challenge in itself. During the last four semesters, we have collected extensive feedback which we would like to share.
Bender – An Educational Game for Teaching Agile Hardware Development
Daniel Omidvarkarjan and Jonas Conrad
Within this paper, an educational game is presented that transfers Agile principles for the development of physical systems. The training leverages elements of Learning Factories (LF) to reflect the engineering challenges specific to the hardware domain. It evolves around a physical wire bending machine, which a development team of four participants has to modify within a realistic engineering and production setting. A trial with mechanical engineering students was conducted to validate the training design. The participants showed a positive attitude towards the active learning approach. Furthermore, the students expressed that they perceived the game to improve their learning regarding Agile for hardware.
Teaching Large-Scale Agile Development to Under-Graduate Students
Håkan Burden, Jan-Philipp Steghöfer and Niklas Mellagård
Many students are never exposed to collaborations across team boundaries so we introduce large-scale agile in two steps – first a LEGO exercise and then an industry-driven project. While students initially struggle with ceremonies like Scrum of Scrums and code sharing, team practices like estimation and task breakdown take longer time to master. For teachers, finding relevant projects motivating large-scale agile is a struggle, which maybe creates new opportunities for industry involvement?
Teaching Scrum with eduScrum – an Experience Report
Sibylle Peter, Sonja Hof and Marla Landolt
Context: In the course called “project track” ten groups of CS major students (6-7 people per group) create a custom software for a real customer. After a brief introduction to Scrum and the creation of a storymap with the customer from scratch, they create the initial backlog for the project. This is the start of their Scrum journey. EduScrum provides a meaningful and engaging framework that requires them to meet every Wednesday to work for one afternoon on the project and every three weeks marks the end of one sprint. That afternoon called the “Sprint Switch”, they manage their Scrum events and the customer attends the sprint review, inspects the increment, gives feedback and next steps are discussed. The course uses an active learning approach to Blooms’ Taxonomy. Students take an active role in doing and thinking about what they are doing in contrast to the traditional classroom in which the instructor does everything.
Is it Possible to Apply Agile Methods to Contribute for the Linux Kernel?
Thatiane de Oliveira Rosa and Alfredo Goldman,
In this document, we describe the experience of teaching agile methods for developing projects related to the Linux Kernel, during the XP Lab course. In 2018, the first project related to this context emerged. This project had the objective of making adjustments to the driver for Linux IIO. The second project was developed in 2019 and aimed to refactor the Ethernet driver used in the kernel of a Brazilian Single Board Computer. Based on 19 years of experience offering the XP Lab course, we consider the development of these projects to be a challenging teaching activity, which deserves to be presented and discussed with students, educators, and professionals. Our aim is to show that it is possible to adapt Agile Values to different software development settings. Keywords: Agile Methods, Linux Kernel, XP Lab, Teaching Challenges
Agile Accelerator Program: From Industry-Academia Collaboration to Effective Agile Training
Caio Steglich, Anielle Severo Lisboa, Rafael Prikladnicki, Sabrina Marczak, Michael Da Costa Móra, Inajara Leppa, Nelice Heck and Alejandro Olchik
The agile accelerator program takes place in a Brazilian technology park (TECNOPUC), as a collaboration between a university (PUCRS) and a world-renowned technology company (ThoughtWorks), specialized in agile development and consulting. This partnership has 8-years long with the main goal of preparing undergraduate students to work in high-performance agile teams. This partnership created a culturally rich environment for student learning while influencing other companies to follow the same initiative within this technology park. We conducted a Case Study aiming to characterize this partnership and the resulting program, understanding all the benefits to the program students. Our results point out the importance of the kind of partnership that provides an immersive learning environment to students, where students can learn empirically, with real projects and real stakeholders and how important it was for the program’s former students to enter the job market. This successful enhanced students’ training program on agile software development through the blending of culture between institutions can be of inspiration to those interested in aiming to bridge the gap between academia and industry.