A Project-Based Introduction to Agile Software Development

A Project-Based Introduction to Agile Software Development

Marc Lainez (Agilar, Belgium), Yves Deville (Université Catholique de Louvain, Belgium), Adrien Dessy (Université Catholique de Louvain, Belgium), Cyrille Dejemeppe (Université Catholique de Louvain, Belgium), Jean-Baptiste Mairy (Université Catholique de Louvain, Belgium) and Sascha Van Cauwelaert (Université Catholique de Louvain, Belgium)
DOI: 10.4018/978-1-4666-5800-4.ch014


This chapter shows how a lightweight Agile process has been used to introduce Agile project development to young computer science students. This experience has been conducted on a project aimed at developing Android applications. The context, the process, and the results of this experiment are described in this chapter.
Chapter Preview

2. Background

2.1 The Context

The Louvain School of Engineering (Université catholique de Louvain, Belgium) introduced in 2012-2013 a one-semester project for its 300 third-year students of the Bachelor Degree. The students had to choose the project related to their major option. About 60 students picked the project in computer science for 2012-2013. The project was held in parallel with other courses and accounted for about 15% of the student workload of the semester.

A crucial pedagogical choice was made: the project should be a practical introduction to Agile software development. The objective was to let students develop their own Android application, in groups of four, using a lightweight Agile process. This lightweight process allowed us to focus on the key aspects of the Agile paradigm. Furthermore, we wanted to make the code available under an open-source license and to possibly release the applications to the Google Play Store by the end of the project. Besides technical skills, this project also aimed at developing cross-disciplinary skills such as modeling, teamwork, planning, management and communication.

Active learning, and more specifically problem-based learning (Boud & Feletti, 1998), is a long-standing practice at the Louvain School of Engineering. Active learning can be defined as anything course-related that all students in a class session are called upon to do other than simply watching, listening and taking notes (Felder & Brent, 2009). Essential elements in active learning are student activity and involvement in the learning process (Prince, 2004). It comes in multiple forms, among them: collaborative learning, where students work together in small groups towards a common goal, and problem-based learning, where relevant problems are introduced at the beginning of the instruction cycle and used to provide the context and motivation (Boud & Feletti, 1998; Johnson & Johnson, 1999; Prince, 2004). It may be noted that problem-based learning is often collaborative. The choice of an Agile software development approach fits very well with this commitment to active learning. Indeed, it promotes strong interactions and collaboration between students within a group and provides opportunity for rich interactions with the teaching team.

The challenge was also to introduce students to a new way of conducting projects. As a matter of fact, students tend to wait until the last days to work on result-focused projects (in contrast to process-focused projects). The development is thus done under extreme time constraints. As you may guess, this sometimes leads to disastrous results. The goal was to make the students realize that a lightweight Agile process can be used to plan and allocate the workload, giving significantly better results with very little overhead.

Complete Chapter List

Search this Book: