1 Introduction

Agile Software Development has been growing constantly since the publication of the Agile Manifesto in 2001. The software industry has globally embraced Agile [1] and many universities around the world have included Agile-related topics in the Information Systems and Computer Science programs [2,3,4]. Even more, some studies have reported very positive results using Agile in capstone courses [5, 6]. Classical textbooks on Software Engineering like the works of Pressman and Sommerville have included Agile topics for several editions. ACM has also included Agile in its curricular recommendations for Software Engineering and Information Technology [7]. In Argentina many software companies have adopted Agile methods too [8] and practitioners have generated different community spaces to learn and share experiences using agile [9, 10]. Even though some professors have reported experiences with good results teaching Agile in their courses [11, 12], the regulations and guidance for the accreditation of Information Technology and Computer Science programs do not mention Agile methods at all [13]. At the time of this writing, there are no formal studies of the current situation of Agile Education in Argentina and this is the motivation for our study. The research questions that guide our work are:

  • Q1: Are Agile methods part of the Information Technology and Computer Science programs in Argentina?

  • Q2: Which are the most common agile practices taught in Information Technology and Computer Science programs?

The rest of this article is organized as follows: Sect. 2 reviews related work, Sect. 3 describes the study and the methodology used, Sect. 4 presents the results and relevant findings, Sect. 5 lists the threats to validity and finally Sect. 6 presents our conclusions and future lines of work.

2 Related Work

The search for agile and education produced results from two very different related topics. One is teaching agile software development, the other one is using agile principles and techniques as a teaching approach, independent of the subject matter. This study is focused on the first topic, that is: teaching agile software development.

There are several studies around the world about teaching agile software development. Paasivaara et al. [14] reported an experience using Lego blocks to teach Scrum in Finland. Von Wangenheim et al. [15] developed an educational game called Scrumia for teaching Scrum in computing courses in Brazil. Persson et al. [16] proposed an adaptation of the Scrum framework to suit the particular needs of the learning context of university courses in Sweden. Kropp and Meier [17] described some interesting findings in their research on teaching agile in Switzerland. They highlight the importance of integrating agile software development not only theoretically but also putting it into practice, and they make a proposal for this based on their experience. There are also several reports on the use of agile methods in capstone projects [4,5,6].

Beyond experience reports, there are some studies reporting evolution and/or state of the art in particular regions which is somewhat similar to our goal. A similar study to ours was carried out in Thailand by Chookittikul et al. [3]. The researchers performed interviews in several leading universities in Thailand to understand how agile methods were incorporated into computer science curricula. A broad study on Agile evolution in Brazil was conducted by Melo et al. [18] which covered industry, education and research but this study did not cover usage of specific practices.

In our search we did not find any study in Argentina focused on understanding the incorporation of agile development education in Universities. We did find some articles reporting experiences of teaching agile. Uva et al. [19] have developed a proposal for documenting capstone projects developed with Agile processes. Levy et al. [20] have reported the use of Scrum for developing software projects in a Software Engineering course at UNLP. Scott et al. [12] have reported several experiences teaching Scrum in Software Engineering courses at UNICEN. We published our own experience teaching Agile Practices using a flipped classroom approach at UNTREF [11].

3 Methodology and Study Description

To perform this initial assessment, we conducted a survey among the participants of the 6th National Congress of Informatics Engineering and Information Systems (CoNaIISI 2018) [21]. This congress is annually organized by RIISIC [22] (Red de Carreras de Ingeniería en Informática/Sistemas de Información del CONFEDI). The 6th edition was on November 2018 and it was hosted at Universidad CAECE in Mar del Plata City. The congress had almost 500 participants. The questionnaire used was structured in the following way:

  • The first part included demographic questions about: academic institution, percentage of approved courses and professional experience.

  • The second part contained the questions about methodologies, in which the participants were asked to mark the methodologies they had studied.

  • The third part had a double-entry matrix question where participants were asked to mark how deeply they had studied a set of agile practices. The possible answers were: (a) Did not study it at the university, (b) I studied it at the university but only from a conceptual viewpoint and (c) I studied it at the university and did some practice.

To select the practices to include in our study we considered the set of practices defined in our umbrella project, previously published in [23]. The resulting set of practices to study is: Automated Tests, Continuous Delivery, Continuous Integration, Iterative Development, Test-Driven Development, Pair-Programming and Retrospectives.

To host the survey, we used Google Forms, an online tool that supports the edition and publication of online forms. It also provides some reports and the possibility of exporting results to a spreadsheet. Using this tool, we did the following:

  1. 1.

    We created the survey questionnaire in Google Forms.

  2. 2.

    We printed several copies of the survey questionnaire.

  3. 3.

    We attended the conference with the copies of the survey questionnaire in paper and with an iPad. This way we gave the respondents the chance to fill the survey online or in paper.

  4. 4.

    We personally instructed each respondent before they started filling the survey and we asked them to answer exclusively considering what they had studied at the university.

4 Results and Findings

We collected 62 data points from 14 different institutionsFootnote 1. Most of the participants (68%) responded they had taken more than 50% of the courses of their programs (we considered these students and graduates as advanced students). Figure 1 shows the details of the distribution of percentage of student progress based on the number of courses.

Fig. 1.
figure 1

Percentage of student progress in terms of courses

Regarding professional work experience, more than 50% of the participants indicated some experience. Figure 2 shows the distribution of their work experience.

Fig. 2.
figure 2

Work experience

Since Software Engineering courses covering methodology topics are usually located in the second half of the programs we considered appropriate to simultaneously analyze: (a) the whole sample and (b) only advanced students (respondents that have completed at least 50% of the courses in their program). Table 1 shows the results for the question about software development methods studied, detailing results for the whole sample and the advanced students. This was a multiple-choice question where we asked participants to select all the items they studied at the university.

Table 1. Software development methods.

Table 2 shows the results for the whole sample regarding the practices studied.

Table 2. Agile Practices studied considering the whole sample.

Table 3 shows the results for the advanced students sample.

Table 3. Agile practices studied considering advance students only.

The differences between Tables 2 and 3 suggest that Agile is being covered mainly in the second part of the programs. Looking at Table 3 we see that Retrospectives are the least studied practice, even less than Test-Driven Development. This situation is very curious because it is just the opposite of what has been reported by several industry studies [23,24,25]: Retrospectives are usually among the most widely used practices while Test-Driven Development is usually among the least used practices.

When crossing the answers about software development methods with the answers about software development practices we see two interesting findings:

  • 65% of the participants reporting that they studied Scrum state they did not study Retrospectives, which is a key practice of Scrum.

  • Along the same line of reasoning we see that 58% of those that responded they studied Extreme Programming state they did not study Test-Driven Development, which is a core practice of Extreme Programming.

These findings open an interesting question regarding how Agile is been taught in academia, it might be that many of these methods are only being taught superficially, or that specific practices are being excluded. It might also be that the practices have been taught but were not retained by the students.

We also noticed that most respondents who reported to have studied agile practices are also working in the industry. That is 68% of the whole sample answered that they studied agile and 60% of that group has working experience. This suggest an strong relationship between knowledge of agile methods and working at industry. But it may be that the relationship is actually between years of study and working at industry, and the previously described relationship is just a consequence of this one.

5 Threats to Validity

The threats to validity are presented following the categorization provided by Wholin et al. [26]. We found threats in the following two categories:

  • Internal: even when we explicitly asked respondents what they studied at the university, it is possible that students answered based on what they learned at work.

  • External: the sample used in the study is based on answers from people belonging to only 14 institutions and some important institutions were not part of this sample.

6 Conclusions and Future Work

Our results show that Agile methods and practices are present in the Information Technology and Computer Science programs, 76% of advanced students reported having studied agile methods. This answers our first research question.

Regarding our second research question, four practices are the most studied by advanced students (each one individually exceeds 60%): Continuous Integration, Pair-Programming, Test Automation and Iterative Development.

Beyond our research questions we offer some additional findings. When analyzing concrete Agile practices, we observe that some of them are covered mainly from a theoretical perspective without practical activities.

We also noticed that even when certain methods we reported as studied, some associated key practices were not. This is the case of students reporting to have studied Scrum but not Retrospectives and students reporting to have studied Extreme Programming but not Test-Driven Development.

Some interesting issues were detected regarding the popularity of practices in industry vs their presence in university education: while Retrospectives are one of the most popular agile practices in the industry it is the least studied practice in the university. Another example of this apparent issue is Test Driven Development: it is one of the least used practices in the industry (though very popular) but it is not among the least studied practices. These findings may suggest that industry and academia have different perceptions regarding the relevance of these practices or that the challenges of adoption are not aligned with the challenges of theoretical teaching (i.e. teaching about a practice is not the same as teaching how to perform it).

In order to have a deeper insight on the state of agile education in the Information Technology and Computer Science programs further studies should be conducted to gather information in two dimensions: (1) Study the topic from the perspective of professors and institutions, (2) Study a broader set of practices. These topics will be the focus of the future phase of our research project.