WSSSPE5.1 speed blogposts

Motivate Better Practice in Research SoftwareBy James Grant, University of Bath, Andrew Washbrook, University of Edinburgh, Louise Brown, University of Nottingham, Niels Drost, Netherlands eScience Center, and Andrew Bennett, European Centre for Medium-range Weather Forecasts

What can be termed as "coding" is a subset of wider software engineering practices such as version control, continuous integration and good software design. Coding is prevalent in academia but practices that allow sustainable software to be produced are frequently overlooked.  Motivating the uptake of the approaches, methods and tools, and highlighting the benefit they deliver, by engaging with researchers who develop software is the first step in spreading best practice in our community.

In discussions with researchers, we find that the use of version control is often highlighted as the first methodology that they would like to introduce into their workflow. We would therefore like to 1) identify approaches that can promote the use of version control by reducing barriers from textbook to full integration and 2) highlight the wider benefits of the methods beyond traditional software development.

Software related courses at an undergraduate level tend to focus on code syntax and functionality with limited time spent covering software management practices.  By including the use of version control as part of these training programs we can avoid much…

Continue Reading

Good software development practiceBy Toby Hodges, EMBL, Roman Klapaukh, UCL, David McKain, University of Edinburgh, and Tobias Schlauch, DLR

WSSSPE members recognise the value of good practice in software development and the benefits of robust and reproducible code in research. The adoption of such practice requires an investment of time, energy, and money, and unfortunately it can be difficult to convince research scientists that this investment is worthwhile. Several initiatives already aim to encourage good practice in research software development, for example, Software Carpentry, the Software Sustainability Institute, the internal Software Engineering Initiative at the German Aerospace Center (DLR), and the Bio-IT project at EMBL. However, some research groups have remained difficult to reach.

Different approaches can be targeted at different levels and career stages. The majority of these share a common theme of support for the local research community.

For those at an early career stage, adoption of good practice can be encouraged by the availability of training, resources, and tools…

Continue Reading


Citation neededBy Stephan Druskat, Humboldt-Universität zu Berlin, Radovan Bast, University of Tromsø, Neil Chue Hong, Software Sustainability Institute, University of Edinburgh, Alexander Konovalov, University of St Andrews, Andrew Rowley, University of Manchester, and Raniere Silva, Software Sustainability Institute, University of Manchester

The citation of research software has a number of purposes, most importantly attribution and credit, but also the provision of impact metrics for funding proposals, job interviews, etc. Stringent software citation practices, as proposed by Katz et al. [1], therefore include the citation of a software version itself, rather than a paper about the software. Direct software citation also enables reproducibility of research results as the exact version can be retrieved from the citation. Unique digital object identifiers (DOIs) for software versions can already be reserved via providers such as Zenodo or figshare, but disseminating (and finding) citation information for software is still difficult…

Continue Reading

RSEsBy Caroline Jay, University of Manchester, Albert Solernou, University of Leeds, and Mark Woodbridge, Imperial College London

At present, few higher education institutions in the UK - or indeed internationally - employ a central team of dedicated research software engineers (RSEs) who sit outside of any specific academic department. The allocation of baseline funding to software developers is considered a risky activity when every member of staff represents a significant ongoing cost which has to be recovered. A cautious approach to employing people in what may be perceived as a completely new role is understandable, particularly in an uncertain financial climate.

Nevertheless, permanently employing RSEs has the potential to pay huge dividends, a fact borne out by the institutions who have established central pools, including the University of Manchester, UCL and the Turing Institute, and rapidly expanded their teams.

Institutional benefits of employing RSEs

A primary benefit of including software engineers on the baseline can be summed up by the Software Sustainability Institute mantra of “better software, better research”. Involving professional software engineers in research projects leads to better quality data, analysis and results, which has a direct impact on the scientific evidence base. Higher…

Continue Reading

Overcoming barriersBy Alys Brett, UK Atomic Energy Authority, Sam Cox, University of Leicester, Carina Haupt, German Aerospace Center (DLR), and Jason Maassen, Netherlands eScience Center.

When we talk in general terms about software development practices most people will nod along, maybe slightly nervously. From experience, we know that it can be hard for some commonly accepted good practices to gain traction or be sustained after the initial enthusiasm. However, this can often be overcome if standard approaches are adapted to better fit within a research context.  

What are the barriers?

The research sphere is very varied, but there are a number of recurring barriers to adoption of best practice in the research context.

The career histories of researchers create a wide range of skill levels - while some researchers are already used to best practice in a number of areas, others have a very basic level of experience. While in a corporate context most team members may be at a similar level due to shared…

Continue Reading

ReproducibilityBy Sarah Alhozaimy, University of Manchester, David Mawdsley, University of Manchester, Doug Mulholland, University of Waterloo, Thor Wikfeldt, KTH.

Ensuring reproducibility of research has been identified as one of the challenges in scientific research. While reproducibility of results is a concern in all fields of science, the emphasis of this group is in the area of computer software reuse and the reproduction of results. The availability of complete descriptions, ideally including program source code, documentation and archives of all necessary components and input datasets would be a major step to resolving research reproducibility concerns.

One of the barriers to reproducible research is the issue of training for researchers. Many of the tools used in reproducible research, such as version control, unit testing and automation are seen (by non-software engineers) as being of interest only to professional coders. “Selling” the benefits of an engineering approach to scholarly publication will be an important part of encouraging reproducible research; training programmes such as the Software and Data Carpentries, and Code Refinery have an important role to play in introducing these ideas to researchers, ideally early in their careers. They present a compelling case to the learner of the benefits of, e.g…

Continue Reading

Software use in researchBy Daniel S. Katz, University of Illinois Urbana-Champaign, Robert Haines, Research IT, University of Manchester, David Perez-Suarez, Research IT Services, UCL, Alexander Struck, Humboldt-Universität zu Berlin

Nowadays, software is used in most research. But how the software is created, used, and what it depends on are not well understood questions. The importance of such knowledge varies based on the motivation of the reader. On one side, we could be interested in the impact of the software, how many times it has been used and by who. This type of analysis could come, for example, from funding bodies and organisations to reward the creation of something and help its sustainability, from institutions who hire people behind that software, or from the software authors to get an understanding of the needs of their users or simply to get credit for their work. Another motivation may be trying to understand the research being carried out with a particular software or set of tools either for purely academic purposes (e.g., by historians and scholars of science) or with a commercial perspective (such as by intellectual property teams from universities for the monetisation of the software). Some other purposes have to do with reproducibility and provenance: for example, how do we know which calculations need to be repeated if a bug is discovered in a particular version of software?

Looking for software in research is one of many topics…

Continue Reading

research software project managerShoaib Sufi, Software Sustainability Institute, Robin Dasler, CERN, Chris Edsall, University of Bristol.

This post is part of the WSSSPE5.1 speed blogging series

The accidental research software project manager

For many, the role of research software project manager (RSPM) may be an accidental calling. The career path for this role isn’t well-established, and research software development in academia may itself be something of a haphazard, nigh-accidental byproduct of conducting domain research. Individuals approaching this role may have little to no wider industry experience, instead approaching the project manager role from research or research software engineering.

For those in a RSPM role who do not have prior industry experience, there is no solid basis for comparison between industry best practices for software development and the observed practices of the research environment, nor even any sense of whether or not best practices between industry and academia should be identical. How do those in this position gauge whether the practices in place in their particular work environment reflect how a project should be conducted versus how it has always been conducted? And to what extent could this lack of relevant…

Continue Reading
Subscribe to WSSSPE5.1 speed blogposts