The Research Software Development Group (RSDG) will always aim to take on paid-for projects that lie within our remit. However due to high demand we are at times unable to work with all groups that contact us. The following criteria are used by the group to prioritise which projects we will take on in such circumstances. The short version is that we will prioritise projects where we can provide the most benefit, relative to other potential solutions. What is below expands on this principle and gives more explanation of what it entails.
Selected projects will likely result in:
Development of skills within the research group
- Transfer of software engineering knowledge to active computationally-focused PhD students and postdocs.
- Part of our mission is to promote research software development best practices across UCL. We therefore aim to partner with research groups in developing software, mentoring and training members of the group to be able to take on ownership of the project after our involvement. Groups that are committed to engaging in this process will be preferred.
- All else being equal, we will also prioritise groups with a low existing degree of computational expertise, where our involvement and training can have most impact.
Use of the software developed beyond the originating group
- e.g. development of software components, tools, insight or methods which could be of benefit to other research projects. This may also include work to improve the usability of software by others, or improve installation procedures.
- Sustainable software outcomes following the project - the code can be maintained and/or further developed by others. For instance our involvement improved the structure and testing of the code to facilitate modifications.
The RSDG helping a wide spectrum of groups across UCL
- In the interests of fairness, and in support of the first aim above, we may prioritise groups we have not worked with before.
Normally we would expect projects to require at least six weeks of effort, to keep the administrative overhead small compared to the work done. We will take on shorter projects where there is a strategic benefit to doing so, for instance to develop a prototype where there are reasonable grounds to expect follow-on work, or to build relationships with new research groups.
We will also prioritise projects based on fit to the skills available within the RSDG and the focus of the group, namely bring software engineering expertise to bear on research challenges, enhancing the effectiveness and impact of research software. The criteria below thus expand on what falls within our remit; where these are at least partly met, the criteria above have more weight. Projects are more likely to be selected which require:
Specialist developers with a background in research, with:
Sophisticated understanding of algorithms, methods, or tools typical of research software, e.g.:
- Parallel programming
- Numerical methods and libraries
- Research information management expertise
- Semantic web
- Information visualization
- Statistical analysis
- An ability to understand advanced scientific or mathematical topics in order properly to understand the project requirements
Specialist developers with an understanding of professional software engineering, with:
- A commitment to engineering best practice, capable of managing complex interacting requirements to produce sustainable, clear, correct code
- The freedom to focus on programming without distraction by publication pressure
- Demonstrably correct, auditable code
Skill-sets not available elsewhere. For instance, projects are not likely to be selected which require:
- Non-specialist programming or system administration skills - a standard IT contractor may be a better option, or support from other teams within ISD. For more details contact Research IT Services facilitators at firstname.lastname@example.org.
- Open-ended research such as developing new algorithms from scratch - these would be better suited to research collaborations with groups in computer science or numerical analysis, for instance. We may be able to advise on suitable contacts.
- Websites based on a content management system (CMS) such as Drupal – talk to ISD Digital Presence for these. Projects are also currently underway to provide a database service and simplified cloud hosting for applications. More information will be provided when these are available for use.
- Mobile applications (i.e. running on IOS or Android) - there is no team within UCL dedicated to this at present. Health Creatives or UCL Enterprise may be able to offer advice.