A literature review of agile practices and their effects in scientific software development

The nature of scientific research and the development of scientific software have similarities with processes that follow the agile manifesto: responsiveness to change and collaboration are of the utmost importance. But how well do current scientific software development processes match the practices found in agile development methods, and what are the effects of using agile practices in such processes? In order to investigate this, we conduct a literature review, focusing on evaluating the agility present in a selection of scientific software projects. Both projects with intentionally agile practices and projects with a certain degree of agile elements are taken into consideration. In the agility assessment, we define and utilize an agile mapping chart. The elements of the mapping chart are based on Scrum and XP, thus covering two of the most prominent agile reference models. We compared the findings of the literature review to results of a previously conducted survey. The comparison indicates that scientific software development projects adopting agile practices perceive their testing to be better than average. No difference to average projects was perceived regarding requirements-related activities. Future work includes an in-depth case study to further investigate the existence and impact of agility in three large scientific software projects, ultimately aiming at a better understanding of the particularities involved in developing scientific software.

[1]  Rick Mugridge Test driven development and the scientific method , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[2]  Judith Segal,et al.  When Software Engineers Met Research Scientists: A Case Study , 2005, Empirical Software Engineering.

[3]  Howard Margolis,et al.  Dealing with risk , 1996 .

[4]  Tonya Lewis,et al.  Knowledge in Action , 1977 .

[5]  Diane Kelly,et al.  Dealing with Risk in Scientific Software Development , 2008, IEEE Software.

[6]  David Kane,et al.  Introducing agile development into bioinformatics: an experience report , 2003, Proceedings of the Agile Development Conference, 2003. ADC 2003.

[7]  Rebecca Sanders THE DEVELOPMENT AND USE OF SCIENTIFIC SOFTWARE , 2008 .

[8]  Hakan Erdogmus,et al.  An empirical characterization of scientific software development projects according to the Boehm and Turner model: A progress report , 2009, 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering.

[9]  William L. Kleb,et al.  Exploring XP for Scientific Research , 2003, IEEE Softw..

[10]  Martin Blom Is Scrum and XP suitable for CSE Development? , 2010, ICCS.

[11]  M MALONE From practitioner to researcher. , 1962, The American journal of nursing.

[12]  Tore Dybå,et al.  Applying Systematic Reviews to Diverse Study Types: An Experience Report , 2007, First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007).

[13]  Viktor K. Decyk,et al.  Why Fortran? , 2007, Computing in Science & Engineering.

[14]  Janice Singer,et al.  How do scientists develop and use scientific software? , 2009, 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering.

[15]  Steve M. Easterbrook,et al.  Engineering the Software for Understanding Climate Change , 2009, Computing in Science & Engineering.

[16]  Mike Cohn,et al.  Succeeding with Agile: Software Development Using Scrum , 2009 .

[17]  Jeffrey C. Carver,et al.  Software Development Environments for Scientific and Engineering Software: A Series of Case Studies , 2007, 29th International Conference on Software Engineering (ICSE'07).

[18]  Donald A. Schön,et al.  Organizational Learning II: Theory, Method, and Practice , 1995 .

[19]  Massimo Marraffa,et al.  Organizational learning II: Theory, method and practice , 1998 .

[20]  Pras Pathmanathan,et al.  Chaste: using agile programming techniques to develop computational biology software , 2008, Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences.

[21]  David W. Kane,et al.  Agile methods in biomedical software development: a multi-site experience report , 2006, BMC Bioinformatics.

[22]  Diane Kelly A Software Chasm: Software Engineering and Scientific Computing , 2007, IEEE Software.