Das Rad (nicht?) neu erfinden

Für die Umsetzung von Kundenwünschen oder auch die allgemeine Weiterentwicklung unseres Laborinformationssystems (LIMS) "uniLIME" müssen regelmäßig neue Funktionen programmiert werden. In der Softwareentwicklung gilt hier der Grundsatz, dass man nach Möglichkeit auf bereits vorhandene Funktionsbibliotheken zurückgreifen sollte, da dies Zeit spart und die Bibliotheken ausführlich getestet sind. Bei eigener Programmierung muss man mit mehr Fehlern und auch Sicherheitslücken, die von böswilligen Angreifern genützt werden können, rechnen. Also populär ausgedrückt: man sollte das Rad nicht immer neu erfinden.

Soweit die Theorie. In unserer Praxis stellt sich allerdings oft heraus, dass die entsprechenden Bibliotheken derart umfangreich und komplex sind, um alle nur denkbaren Möglichkeiten zu unterstützen, dass die Einarbeitung Tage oder Wochen in Anspruch nimmt, während die eigene Programmierung einer benötigten Funktion oft nur wenige Stunden dauert. Häufiger aber noch kommt es vor, dass die verfügbaren Bibliotheken nicht ganz genau das leisten, was man benötigt und man sie noch anpassen muss. Neben dem Zeitaufwand ist hier das Thema Fehler und Angreifbarkeit schon mit der ersten veränderten Programmzeile wieder zurück.

"Spannendes Thema für Softwarentwickler, aber was habe ich damit zu tun?" mag der eine oder andere Anwender von uniLIME oder einem anderen Laborinformationssystem jetzt denken. Guter Einwand, allerdings ist das Thema ist in anderer Form auch für viele LIMS-Benutzer von Relevanz.

Viele Aufgaben z.B. in der Umweltanalytik basieren auf einer klar definierten gesetzlichen Grundlage, beispielsweise die Untersuchung von Trinkwasser nach der TWVO (Trinkwasserverordnung) oder von festen Abfällen nach DVO (Deponieverordnung). Hierbei sind die zu bestimmenden Parameter, die anzuwendenden Analysenmethoden und die Grenzwerte vorgegeben.

Von Kunden wird häufig die Frage gestellt, warum es kein fix-fertiges Modul für uniLIME zur Abdeckung dieser Anwendungen gibt, wo doch die Aufgabenstellung ganz klar vorgegeben ist. Die Antwort ergibt sich fast von selbst, wenn man die Arbeitsabläufe zwischen verschiedenen Laboratorien mit an sich derselben Aufgabenstellung vergleicht. Zum einen ist jedes Labor anders gerätemäßig ausgestattet, wodurch sich schon wesentliche Unterschiede ergeben. Zum anderen existieren viele Laboratorien schon seit Jahrzehnten und so haben sich noch vor der Einführung eines LIMS individuelle Arbeitsabläufe etabliert, die man nicht so einfach in ein starres Korsett eines allgemeinen LIMS-Moduls "von der Stange" pressen kann.

Dazu kommt, dass wir von ATS unsere Laborinformationssysteme nicht als unerbittlichen "Aufseher" verstehen, der dem Anwender in jedem Moment vorgibt, was er/sie als nächstes zu tun hat. uniLIME ist vielmehr als eine Art Werkzeugkasten, um vielfältige Probleme effizient zu lösen. Wie beim physischen Werkzeugkasten gibt es auch im LIMS für eine konkrete Aufgabe oft mehrere Ansätze, auch mit unterschiedlichen Werkzeugen.

Diese Freiheit zu nützen erfordert natürlich etwas Einarbeitung seitens der Anwender, um sich mit allen Werkzeugen vertraut zu machen. Wer diese Zeit nicht aufbringen kann oder möchte, dem stehen wir als LIMS-Entwickler mit starker Service-Komponente natürlich auch gerne bei und richten die notwendigen Einstellungen in Abstimmung mit den konkreten Gegebenheiten und Arbeitsabläufen ein.

Um noch einmal auf das Beispiel mit dem Rad zurückzukommen: Viele Räder haben die gleiche Aufgabe, nämlich ein Objekt auf festem Untergrund mit möglichst wenig Energieaufwand zu bewegen. Trotzdem gibt es ganz unterschiedliche Materialien und Ausführungen, um die jeweilige Anwendung optimal zu unterstützen.

< Früherer Beitrag