Agile Entwicklung eines digitalen Lesegerätes

Situation

Für eine neue Produktgeneration plante der Kunde die Einführung eines digitalen Auslesegerätes, das in der Lage sein sollte, sämtliche Lateral Flow Tests (Patientenschnelltest) des Unternehmens auszuwerten. 

Das Hauptziel des Kunden war dabei, den Patienten eine noch zuverlässigere und sichere Auswertung der Tests anbieten zu können. Dazu sollte das Gerät die Nutzer zum einen durch die Anzeige geeigneter Animationen bei der Testdurchführung unterstützen. Zum anderen sollten Ergebnisse automatisch an ein Labor- oder Klinik-Informationssystem übertragen werden.

Die einzelnen Herausforderungen:

  • Definition eines medizintechnikkonformen Software-Entwicklungsprozesses
  • Implementieren der Software auf Vorserien-Hardware
  • Deployment der Software auf finale Serien-Hardware
  • Normenkonforme Dokumentation zur Unterstützung der Zulassung
  • Weltweit verteiltes Entwicklungsteam

Dauer / Volumen (Personenmonate) des Projektes:

3 Monate

2 Personen

Fragen?

Wollen Sie sich zu unserem Themen-Portfolio beraten lassen?

Contact card openContact card close

Lösung

Das Method Park Team war für die Realisierung der Benutzeroberfläche und die Implementierung der darunterliegenden Geschäftslogik verantwortlich. Im Einzelnen umfassten die Aufgaben:

Ableitung von Software-Anforderungen aus den durch den Kunden vorgegebenen Nutzeranforderungen

Umsetzung in ein Software-Design und anschließende Implementierung

Erstellung von Unit-, Integrations- und Systemtests 

Testen von Legacy Code

Normengerechte Dokumentation des Entwicklungsprozesses und der Ergebnisse

Als Vorgehensmodell wurde ein an Scrum orientierter Prozess angelehnt an den TIR45 definiert, der die gängigen Normen der Medizintechnik, wie die ISO 13485 und die IEC 62304, berücksichtigt. Für die Geräte-Software hatte sich das Projektteam entschieden, auf einem Embedded Linux aufzubauen. Mithilfe der unter ”Yocto” firmierenden Technologien konnten dabei die Bedürfnisse eingebetteter Systeme besonders berücksichtigt werden. Die GUI realisierte das Projektteam mittels des Qt Frameworks, das eine deklarative Sprache zur Beschreibung von Benutzeroberflächen enthält. Die Dokumentation war, soweit möglich, automatisierter Bestandteil des definierten Entwicklungsprozesses; so wurden beispielsweise Review-Protokolle aus den in Gerrit gepflegten Review-Kommentaren generiert.

Ergebnis

Der agile Entwicklungsprozess ermöglichte es dem Kunden aussagekräftiges Feedback zu geben und jederzeit einen transparenten Einblick auf den aktuellen Entwicklungsstand zu werfen. Mit diesem Prozess konnte das Team auch bis zum Ende der Entwicklungszeit auf Änderungen reagieren und diese kontrolliert umsetzen. Außerdem ließen sich so die Ergebnisse der entwicklungsbegleitenden Usabilitytests hundertprozentig und ohne zusätzliche Projektverzögerungen berücksichtigen.

Dank der Yocto-Technologien gelang die Portierung der Software von der Entwicklungsplattform auf die Ziel-Hardware in weniger als einer Woche. Zudem steht mit dem Yocto-System eine zuverlässige Quelle zum Einbinden wichtiger Security-Updates zur Verfügung. So kann der Kunde die Integrität und Funktionssicherheit des Gerätes auch in den kommenden Jahren sicherstellen.

“The Method Park team collaborates well with our global development teams, they are also highly responsive and are able to take ownership of tasks and deliver results. This was also a major contributing factor to the high quality of the instrument software. Method Park is a reliable partner for successful agile development of software for healthcare devices."

Mithilfe des Qt Frameworks modellierte das Projektteam die Screens interaktiv in Workshops mit den UI-Designern. Eine umständliche Transkription aus zuvor erzeugten Wireframes oder anderen HTML-basierten Vorlagen entfiel vollständig. Gleichzeitig wurden Features wie Mehrsprachigkeit oder weiche Übergänge zwischen verschiedenen Screens bereits durch das Framework unterstützt.

Nach Abschluss des Projektes konnten die Method Park Engineers alle Tätigkeiten zur Software-Entwicklung und -Pflege an ein zwischenzeitlich beim Kunden aufgebautes Software-Team übergeben.

 Etablierung eines agilen Entwicklungsprozesses

Aufbau der Geräte-Software auf Embedded Linux

Einsatz der Yocto-Technologien

Einsatz von Qt als Gui Framework