ABSTRACT
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.
- Argyris, C. 1993. Knowledge for Action. Jossey-Bass Publishers, San Francisco, CA.Google Scholar
- Argyris, C. and Schön, D. A. 1996. Organizational Learning II. Theory, Method, and Practice. Addison-Wesley Publishing Company, Reading, MA.Google Scholar
- Blom, M. 2010. Is scrum and XP suitable for CSE development? Procedia Computer Science 1, 1 (May 2010), 1511--1517.Google ScholarCross Ref
- Carver, J. C., Kendall, R. P., Squires, S. E. and Post, D. E. 2007. Software Development Environments for Scientific and Engineering Software: A Series of Case Studies. In Proceedings of the 29th International Conference on Software Engineering (Minneapolis, MN, May 20-26, 2007). ICSE'07. IEEE Computer Society Washington, DC, USA, 550--559. Google ScholarDigital Library
- Cohn, M. 2009. Succeeding with Agile: Software Development Using Scrum. Addison-Wesley Professional, Boston, MA. Google ScholarDigital Library
- Crabtree, C. A., Koru, A. G., Seaman, C., and Erdogmus, H. 2009. An Emprical Characterization of Scientific Software Development Projects According to the Boehm and Turner Model: A Progress Report. In Proceedings of the Second International Workshop on Software Engineering for Computational Science and Engineering (Vancouver, Canada, May 23, 2009). SECSE'09. IEEE Computer Society Washington, DC, USA, 22--27. DOI=10.1109/SECSE.2009.5069158. Google ScholarDigital Library
- Decyk, V. K., Norton, C. D. and Gardner, H. J. 2007. Why Fortran? Computing in Science and Engineering 9, 4 (Jul-Aug. 2007), 68--71. DOI=10.1109/MCSE.2007.89. Google ScholarDigital Library
- Dybå, T., Dingsøyr, T. and Hanssen, G. K. 2007. Applying Systematic Reviews to Diverse Study Types: An Experience Report. In Proceedings of the First International Symposium on Empirical Software Engineering and Measurement (Madrid, Spain, Sep. 20-21, 2007). ESEM'07. 225--234. DOI=10.1109/ESEM.2007.59. Google ScholarDigital Library
- Easterbrook, S. M. and Johns, T. C. 2009. Engineering the Software for Understanding Climate Change. Computing in Science and Engineering 11 (6), 64--74. DOI=10.1109/MCSE.2009.193 Google ScholarDigital Library
- Hannay, J. E., Langtangen, H. P., MacLeod, C., Pfahl, D., Singer, J. and Wilson, G., How Do Scientists Develop and Use Scientific Software? in Second International Workshop on Software Engineering for Computational Science and Engineering (Vancouver, Canada, May 23, 2009). SECSE'09. IEEE Computer Society Washington, DC, USA, 1--8. Google ScholarDigital Library
- Jarvis, P. 1999. The Practitioner-Researcher. Jossey-Bass Publishers.Google Scholar
- Kane, D. 2003. Introducing Agile Development into Bioinformatics: An Experience Report. In Proceedings of the Agile Development Conference (Salt Lake City, USA) ADC'03, IEEE Computer Society Washington, DC, USA, 132--139. Google ScholarDigital Library
- Kane, D. W., Hohman, M. M., Cerami, E. G., McCormick, M. W., Kuhlmman, K. F. and Byrd, J. A. 2006. Agile methods in biomedical software development: A multi-site experience report. BMS Bioinformatics 7 (273), 1--12.Google Scholar
- Kelly, D. F. 2007. A Software Chasm: Software Engineering and Scientific Computing. IEEE Software 24, 6 (Nov./Dec. 2007), 118--120. Google ScholarDigital Library
- Mugridge, R. 2003. Test Driven Development and the Scientific Method. In Proceedings of the Agile Development Conference (Salt Lake City, USA) ADC'03, IEEE Computer Society Washington, DC, USA, 47--52. Google ScholarDigital Library
- Pitt-Francis, J., Bernabeu, M. O., Cooper, J., Garny, A., Momtahan, L., Osborne, J., Pathmanathan, P., Rodriguez, B., Whiteley, J. P. and Gavaghan, D. J. 2008. Chaste: using agile programming techniques to develop computational biology software. Philosophical Transactions of the Royal Society - Series A: Mathematical, Physical and Engineering Sciences 366 (1878). 3111--3136.Google ScholarCross Ref
- Sanders, R. 2008. The Development and Use of Scientific Software, MSc Thesis, Queen's University.Google Scholar
- Sanders, R. and Kelly, D. 2008. Dealing with Risk in Scientific Software Development. IEEE Software 25, 4 (Jul.- Aug. 2008), 21--28. Google ScholarDigital Library
- Segal, J. 2005. When software engineers met research scientists: A case study. Empirical Software Engineering 4, 10 (Oct. 2005), 517--536. Google ScholarDigital Library
- Wells, D. 1999. The Rules of Extreme Programming. URL: http://www.extremeprogramming.org/rules.html. Accessed on January 19, 2011.Google Scholar
- Wood, W. A. and Kleb, W. L. 2003. Exploring XP for Scientific Research. IEEE Software 20, 3 (May-June 2003), 30--36. DOI=10.1109/MS.2003.1196317. Google ScholarDigital Library
- Yin, R. K. 2003. Case Study Research: Design and Methods. Sage Publications.Google Scholar
Index Terms
A literature review of agile practices and their effects in scientific software development
Recommendations
Systematic literature review on agile practices in global software development
Abstract ContextDeveloping software in distributed development environments exhibits coordination, control and communication challenges. Agile practices, which demand frequent communication and self-organization between remote sites, are increasingly ...
The Combination of Agile and Lean in Software Development: An Experience Report Analysis
AGILE '11: Proceedings of the 2011 Agile ConferenceThere has been a noticeable focus shift from agile methods such as extreme Programming (XP) and Scrum to lean software development in the last several years, which is indicated as â from agile to leanâ . However, the reality may not be as simple or ...
What Do We Know about Agile Software Development?
From 1,996 studies available in the agile software development literature, the authors identified 36 research studies of acceptable rigor, credibility, and relevance to include in a systematic review of empirical evidence for agile development's ...
Comments