Abstract
The topic of this master thesis is development of scientific software. The research questions put forth are oriented towards specific agile practices and whether these are present in the development processes of scientific software projects. Moreover, the effects of applying such agile practices, particularly pertaining to the handling of requirements and testing, in scientific software projects are addressed in the thesis. In order to answer the proposed research questions a table consisting of 35 agile practices associated with two central methodologies, Scrum and Extreme Programming, have been applied.
Two research methodologies have been used in this thesis; a systematic literature review and a case study. The literature review has identified projects reported in scientific articles, where agile practices, both intentional and unintentional, have been observed. These projects have been appraised in detail to determine which practices were used and what effects, if any, these practices had. Three well-established development projects from different scientific domains, FEniCS, Dalton and Olga, have been investigated in a multiple case study. In each of these projects, 2 – 4 key developers were interviewed in semi-structured interview sessions, consisting of one part focusing on the overall development process and a second part concerning the 35 agile practices.
As to the presence of the agile practices in the projects examined, there were certain practices that appeared to be very popular and widely used. Some practices were difficult to evaluate (especially for the projects examined in the systematic literature review), while others were rarely applied. There were some differences among the projects and also some major differences between the projects in the case study and projects in the systematic literature review, in terms of which practices actually were used. The observed effects of agile practices have been promising, especially for testing. Due to the characteristics of the projects examined, and due to the size of the sample, further research must be conducted in order to obtain conclusive answers with regards to the use of agile practices in scientific software and the effects thereof.