What should you be aware of when developing new biomedical software?
10 May, 2017 | Luis Bastiao Silva |
|
|
In this guest blog, Luis Bastiao Silva, discusses his guidelines for biomedical software tools published in F1000Research

Current software tools are difficult to use and costly to maintain, Luis Bastiao Silva, explains why more professional and easy-to-use software tools are needed. In his F1000Research review article, he outlines a set of recommendations, which should help engineers create robust, open access and open source software.
Using biomedical software to make new biomedical discoveries
Biomedicine is a wide and complex area involving large research teams around the world, working in different fields, from bioinformatics to clinical research. These scientists and professionals are continuously trying to find new answers to solve problems in healthcare and life sciences; by performing for more accurate diagnosis or aiming to improve, or find, a better treatment for a particular patient or for group of patients.
Many of these answers are being addressed by new biomedical discoveries or applications in clinical settings, which deeply depend on computational solutions or new software applications.
Most software tools are created to meet the individual needs of researchers
Many research groups have developed their own biomedical software tools and/or bioinformatics methods. Unfortunately, the software produced by these groups is not appropriate for general use among clinical researchers and practitioners. This is partly due to the difference in requirements between meeting the individual needs of the research labs and creating a ready-to-use software application that can be used by all to solve daily problems.
New biomedical discoveries or applications in clinical settings deeply depend on computational solutions or new software applications
There is also a technical issue with these software tools, as they are often developed by researchers without the support of software engineers. Many skilled bioinformaticians can write scripts and specific pieces of software, but, most of the time, they do not have a strong background in computer science or software architecture design, which tend to be the necessary skills needed to create robust products that can easily be adopted by other clinicians. This could be the main barrier preventing the currently available range of software tools from being broadly used by practitioners and by those who are able to re-use their code.
Making tools fit for general use
The problem is not just related with the developers of biomedical software, it involves the entire cycle of software development. Clinical researchers and practitioners have different profiles: there are those that are more focused on research; others involved with clinical practice; and there are some that cover the two spectra, and they all have different needs.
Potential users should be involved with the development of new software tools and to test it, which is rarely done at the moment. The MedBioinformatics European project is tackling this issue by engaging end-users from the beginning in the development of biomedical tools in two major clinical areas: neuropsychiatry and oncology.
The advances in biomedical research now requires creating benefits from the huge amount of data that has been generated and converting it into knowledge and real clinical evidence.
The problem is not just related with the developers of biomedical software, it involves the entire cycle of software development
Most of the potential users have no means to efficiently exploit this wealth of information. The MedBioinformatics European project proposes to follow integrative approaches that effectively combine different types of data from different sources. This should create conditions that involve potential users – from experimental scientists to healthcare professionals – in the process of creating applications that mine, integrate, analyse and display biomedical information in a way that is immediately understandable and useful by the end users.
Our recommendations
Our article in F1000Research identified the gap between biomedical software developers and the lack of ready-to-use solutions. Working with ELIXIR, we proposed a set of guidelines that we hope may help biomedical software developers to better manage the quality of their software.
We expect that the following software guidelines should lead to the development of software that meets end-users’ expectations:
- Team and project management: planning and organizing teams, tasks, and schedules
- Tracking the development process: coordination and management services between members of a software development team
- Software integration and interoperability: Designing an application programming interface
- Test-Driven Development and continuous integration: development practice that automates the build, allowing teams to detect early problems.
- Documentation: Building comprehensive documentation is very important for software reusability and maintenance, helping to mitigate the arrival/departure of team members.
- Software distribution: Deployment and handle updates smoothly without disrupting the quality of service provided.
- Licensing: Licensing and copyright attribution.
Tool overflow
An enormous and increasing number of algorithms, scripts, data repositories, and software tools have been developed. So, we now have a tools deluge problem, as well as a problem with data deluge.
In order to take advantage of all existing tools, they must be developed in a way that simplifies their reuse. We believe that our recommendations will help bioinformaticians and biomedical research groups to better accomplish this goal.
|
User comments must be in English, comprehensible and relevant to the post under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions. Commenters must not use a comment for personal attacks.
Click here to post comment and indicate that you accept the Commenting Terms and Conditions.