What are the effects of using agile practices in scientific software development? As a first step, the authors undertook a systematic literature search. The five papers that were found worthy of scrutiny yielded ten project descriptions. Table 1 itemizes 35 agile practices from either Scrum or XP, the two principal agile methodologies. Table 3 maps these 35 agile practices to the ten projects. Examining this table, some readers might only find Projects 2 and 4 worthy of the agile label.
The paper provides a useful critique. Project 1 fails to demonstrate a direct link between agile practices and project outcomes. Project 2 reports that XP is a success in terms of changing requirements and testing; however, the number of developers and their organization are not stated. Projects 3.1 to 3.6 report that agile practices are a key success factor, but the evidence is primarily based on subjective experience. Project 4 reports that code quality improved, but the adoption of Ruby rather than XP may have been the key success factor. Project 5 reports “positive experiences with implementing agile practices,” but the evidence is based on subjective experience. A tentative conclusion is drawn: agile practices can meet the needs of scientific software development.
Extensive empirical inquiries--for example, case-control studies with independent end-product evaluations--are required to properly assess the effects of using agile practices. Nevertheless, this paper is recommended to those involved in scientific software development and those researching agile processes.