The goal of this publication is to help you in the setup of your medical software development environment. The earlier you start with good practices application the more value and time you will gain from it.

Targeted audience

The information gathered in this publication should be particularly useful for:

  • Head of Software Development Team,
  • Software Project Managers,
  • DevOps team,
  • Software developers.

Introduction

For introduction content, refer to the Part 1 previously published.

 

Good practices

Refer to the Part 1 and Part 2 previously published.

Testing tools

When adding new features or objects to your code, adding corresponding tests should be mandatory. Errors and mistakes are human. They will always happen, the earlier you identify them the less impact they will have on your productivity. Having a systematic testing approach allows you to drastically improve work efficiency by identifying where and when an error is introduced.

Multiple test level should be defined and run with different frequency or triggers. Typical test levels are illustrated in the next figure:

Figure 1. Tests hierarchy illustration

In addition to develop your own testing tools Debiotech recommends using existing solutions that can be easily tuned to match your needs. Here is a list of some of those tools:

  • VectorCAST
  • Google test
  • QtTest

 Debiotech recommends you to:

  • Avoid committing new modifications/features/object without providing its respective unit test.
  • Add integration testing of a new object/feature at least when you expect to use this new object/feature in your code.
  • Establish and perform system testing. This is the minimum level you should implement, even for software systems that aren’t considered critical.
  • Add performance testing, when relevant.

Continuous integration

The only way to ensure systematic testing at any commit or when committing into critical branches (development, release, or main) is to integrate it in your development environment using a continuous integration tool. In some cases, this systematic testing cannot be performed at every commit because of the necessary time to perform those tests. In this condition, you can define various set of tests to perform at different frequency/triggers.

Multiple platforms exist to support continuous integration. The most used platforms include:

  • GitLab CI/CD
  • Bamboo
  • Jenkins
  • CircleCI
  • Azure Pipelines

Debiotech recommends you to setup your continuous integration platform to:

  • Block a commit if build and compilation do not work.
  • If you target multiple platforms or multiple versions, include all the targeted platforms in this build and compilation verification.
  • Systematically perform unit testing at commit into critical branches (if it is not too much time consuming)
  • Ideally perform systematically integration testing at commits into critical branches (again if the total duration of testing is reasonable).
  • For longer test runs (full integration and performance testing), perform them at night, when the activity of your software development team is lower.
  • Daily review the results of those tests to ensure no test have been broken by the commits of the previous day.

Applicable regulatory landscape

This publication does not aim at answering completely to a specific standard or regulation but provide recommendations on multiple aspects that should be established early on in your development to ensure the efficiency of your team. However, it covers directly or indirectly multiple requirements from following standards and regulations:

  • Europe: MDR
  • US: CFR Title 21 Part 820,
  • International: ISO 13485, IEC 62304, UL-2900-1/2

Authors

Rémi Charrier
Business Development Director
r.charrier@debiotech.com

João Budzinski
R&D Director
j.budzinski@debiotech.com

Laurent Colloud
Software Project Manager
l.colloud@debiotech.com

Gilles Forconi
Software Quality Manager
g.forconi@debiotech.com

Next steps

Debiotech is glad to have the opportunity to share its knowledge with innovative companies from the MedTech industry. Your feedbacks on this publication are welcome and will be used to update it or to create new publications on topics you care about.

Continue your education on medical device development by:

Debiotech would be proud to be your partner and support you with:

  • Medical device design & development services:
    • Software: Digital Health, Firmware, Embedded, SaMD
    • Electronics: Design, Verification and Validation
    • Mechanics: Design for micro-fabrication & fluidics systems
    • Supply chain development and optimization
  • Support in medical innovation management:
    • Market analysis and segmentation
    • IP management
    • Business plan consolidation
    • Partnership development