The Research Software Engineering (RSE) Team can work with you in many ways on almost any aspect of a software project, including:
- Applying for funding, helping research leaders fulfil funders' increasingly stringent requirements regarding software sustainability and research reproducibility.
- Preparing existing code for publication and/or commercialisation, liaising with the Research Office and the Industry Partnerships and Commercialisation (IPC) team to maximise impact.
- Development of research software, producing performant, reliable and maintainable solutions designed to deliver sustainable, long-term value.
- Design, implementation, and deployment for greenfield projects
- Modernisation, optimisation, and re-architecture of existing projects
- Resource, training, and infrastructure provision
- Outreach and community engagement
Our services are offered via short-term consultancy or long-term partnerships, in blocks of 0.35 FTE/month (6.5 days/month), can be costed into grant applications and are charged at a rate of £400/day.
You can get inspiration by reading about some of the projects we have worked so far in the Case Studies section.
Request an informal consultation to discuss how we may be able to accelerate your research.
How does it work?
The following diagram shows in brief the timeline of a typical engagement. The duration each stage varies depending on the size and nature of the project.
Image description: Initiation stage, days-weeks - start project scoping. Planning stage, days -months - project proposal agreed. Funding stage ? - Account code provided. Allocation stage, min 1 month - project starts. Execution stage, 1 month (0.35 FTE) - years, once complete the project ends. Closure stage, min 1 month - All charges and outstanding issues processed.
We try to be as flexible as possible to adapt this timeline to the variable circumstances and needs of research projects and funding in academia.
Project timeline stages
The first stage is to discuss with researchers what their needs are in terms of software development or support to determine if the project aligns with our mission and if we can provide added value, given our expertise.
Typically, this will consist of the exchange of a few emails and a meeting and is normally sorted out in a matter of days after the first contact.
During the planning stage we:
- agree the scope of the project with researchers
- prioritise features
- define the technologies to be used
- provide time estimates for each task
Most projects have one or more milestones and very big projects are further divided into different phases. During this stage, we also agree on the split of responsibilities between teams and how they will communicate during the lifetime of the project.
Other aspects that will be addressed during the planning stage relate to the license of the software and potential commercialization. Check the Legal Information section for more details about this.
Generally, the project should be planned in units of 0.35 FTEs per month (6.5 days/month). More than 0.7 FTEs per month is possible but it may take longer for the project to be allocated (see below).
In summary, the end goal of this phase is to define a concrete set of outputs the project will deliver, a timeline for the delivery of the project and its overall costs.
This process is approached iteratively until all parties agree the scope, budget, and timeline. The process might take just a few days for simple projects or several months for complex scenarios involving multiple teams.
Funding for the engagement might already exist, for example coming from active grants, in which case this stage is completed almost automatically. In other cases, it might depend on a successful bid to an external funding body.
In the latter case, we work together with researchers to complete the relevant parts of the funding proposal to make a strong case for the need of the funding… and cross our fingers with them in the hopes of a successful bid!
This stage finishes when we receive a project account code against which to charge the costs of the project.
Once we have the account code, we strive to allocate the project within our schedule to start executing it as soon as possible. However, this might not be immediate at times when the team is very busy or if the project requires significant resources (for example, hiring a dedicated RSE for the project). A best guess of this allocation time is provided to researchers as early as possible in the planning stage, so there are clear expectations about when the project will start. A minimum of 1 month is generally to be expected.
During the execution of the project, we will adhere to the following principles:
- Rapid iteration: We aim to release new versions of the software “early and often” to encourage and obtain feedback from researchers and (ideally) from end users – ensuring development results in fit-for-purpose outputs - and that we can efficiently experiment to identify appropriate approaches.
- Engagement with users and domain experts: We regard communication as essential to producing desirable outcomes. We will interact with the research team and the software’s users, where relevant, working alongside them as necessary, to ensure that our approach is well-informed.
- Knowledge transfer: We endeavour to ensure that at least two members of the RSE team are contributing to and are familiar with the code produced. This facilitates both continuity and long-term support.
When the tasks to be completed allow for it, we work in short development sprints, ideally also involving members of the research team. For projects more focussed on providing support to individuals or teams in developing research software rather than developing the software ourselves, the last two points above become paramount.
Progress reports, meetings and charging for work will be carried out as agreed in the project proposal.
At the end of a project, the final costs are charged and any outstanding aspects in relation to handing over any infrastructure to the researchers is taken care of. Closure also includes any maintenance period agreed in the project proposal.
A case study will be written to be included in the RSE Team webpage and, if appropriate, the software will be promoted across the relevant community. If there is scope for it, talks could be initiated for a follow up project.