What Makes Research Software Sustainable? An Interview Study with Research Software Engineers

Software is now a vital scientific instrument, providing the tools for data collection and analysis across disciplines from bioinformatics and computational physics, to the humanities. The software used in research is often home-grown and bespoke: it is constructed for a particular project, and rarely maintained beyond this, leading to rapid decay, and frequent 'reinvention of the wheel'. Understanding how to develop sustainable research software, such that it is suitable for future reuse, is therefore of interest to both researchers and funders, but how to achieve this remains an open question. Here we report the results of an interview study examining how research software engineers – the people actively developing software in an academic research environment – subjectively define software sustainability. Thematic analysis of the data reveals two interacting dimensions: intrinsic sustainability, which relates to internal qualities of software, such as modularity, encapsulation and testability, and extrinsic sustainability, concerning cultural and organisational factors, including how software is resourced, supported and shared. Research software engineers believe an increased focus on quality and discoverability are key factors in increasing the sustainability of academic research software.

[1]  Iris Groher,et al.  An Interview Study on Sustainability Concerns in Software Development Projects , 2017, 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[2]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[3]  Nelly Condori-Fernández,et al.  Characterizing the contribution of quality requirements to software sustainability , 2017, J. Syst. Softw..

[4]  Kevin Crowston,et al.  Free/Libre open-source software development: What we know and what we do not know , 2012, CSUR.

[5]  Gaël Varoquaux,et al.  Publishing scientific software matters , 2013, J. Comput. Sci..

[6]  Caroline Jay,et al.  The Blind Men and the Elephant: Towards an Empirical Evaluation Framework for Software Sustainability , 2014 .

[7]  Caroline Jay,et al.  Track 1 Lightning Talk: Forking as a Tool for Software Sustainability—An Empirical Study , 2017 .

[8]  Caroline Jay,et al.  Defining Sustainability through Developers' Eyes: Recommendations from an Interview Study , 2014 .

[9]  Grace A. Lewis,et al.  Measuring software sustainability , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[10]  Carole A. Goble,et al.  The Software Sustainability Institute: Changing Research Software Attitudes and Practices , 2013, Computing in Science & Engineering.

[11]  Coral Calero,et al.  A systematic literature review for software sustainability measures , 2013, 2013 2nd International Workshop on Green and Sustainable Software (GREENS).

[12]  Robert Haines,et al.  How Should We Measure the Relationship Between Code Quality and Software Sustainability ? , 2016 .

[13]  Bill Tomlinson,et al.  Developing a sustainability non-functional requirements framework , 2014, GREENS 2014.

[14]  Russell Lock,et al.  An exploratory study of software sustainability dimensions and characteristics: end user perspectives in the kingdom of Saudi Arabia (KSA) , 2018, ESEM.

[15]  Alex Voss,et al.  Why Good Software Sometimes Dies – And How to Save It , 2008, 2008 IEEE Fourth International Conference on eScience.