Empirical Insights into the Perceived Benefits of Agile Software Engineering Practices: A Case Study from SAP

Author(s): Christoph T. Schmidt, Srinivasa GV, Dr. Juergen Heymann
Venue: ICSE '14
Date: 2014

Type of Experiement: Case Study
Sample Size: 900
Participant Selection: SAG AG graduates; Voluntarily answered online survey
Data Collection Method: Survey


This paper addresses the permeating change to the software industry toward more agile software development. The authors point out their preconceptions of pair programming and TDD being less effective for code quantity than individual programming, for a gain of greater code quality. In order to test this common conception, the authors devise a survey for the developer graduates of SAP's Agile Development training program, asking them to judge their code quality and productivity as a result of using the agile methods they learned in the class.

Of those asked, 200 developers took the survey. The authors defined "developer" as someone who spends more than 20% of their working time programming. The survey asked the participant how intensively they had adopted the agile approach to their normal work ethic, then asked them about the changes they personally had observed in their code quality, their speed at developing new features, and in their intra-team comunications. The answers were based on a strongly disagree to strongly agree scale. The survey results are explained in detail in the paper, but the trend that the authors found was that adoption rates varied widely across those who took the SAP training. The authors then point out the actual benefits of adopting the TPP and PP practices, as taken from interviewing two teams who were high adopters of the practices.

The authors found evidence to support the notion of PP and TDD contributing to greater code quality. They also noted, surprisingly to them, that team efficiency also improved, since less rework had to be done in order to debug code. The authors plan to continue this work by studying the effectiveness of Scrum teams.