Dr Paulus Lahur1
1CSIRO, Clayton, Australia
Many research projects conducted in CSIRO have software as one of its main products. This creates a significant challenge, because not all researchers have the required skills or time to develop software.
We usually deal with this problem by supplementing the team with colleagues who have software development expertise, somewhere along the project timeline. This is the role that this author is currently engaging. The problem with this approach is that often software development practices are applied only after the research code has grown quite large. This is akin to calling a builder after a house has been built, which is clearly not the best way to use resources. A lot of parts will need to be rebuilt, and some other parts can no longer be modified for practical reasons.
It is clear that assistance in applying good software development practices must be given from the very beginning of the project. However, our number of software developers cannot match current demand, so we must provide different solution, ideally one that can be scaled to any number of projects.
Proposed here is providing researchers with a working software template at the beginning of projects. Some key features of the template are: source code that serves as good example in coding, test routines, code management (Git), and automatic documentation generation (Doxygen). The template is designed such that it is easy to learn and use, and it can be grown into various research project.
The author is currently working to complete the template.
Doctorate degree in Aerospace Engineering from Nagoya University, Japan, specialising in CFD and automatic mesh generation. Worked in Japan Aerospace Exploration Agency (JAXA) as researcher. Working in CSIRO since 2015, in Scientific Computing in IMT, helping researchers develop scientific software.