Wie wir arbeiten, zeigen unsere Projekte am besten. Hier finden Sie ausgewählte Fallstudien aus Softwarehäusern, Sensorik, Maschinenbau, CAD und BIM, Labor- und Messtechnik sowie Forschung – jeweils mit Ausgangslage, Vorgehen, Lösung und Ergebnis. Sie zeigen, wie wir Anforderungen klären, Risiken früh sichtbar machen und Software liefern, die im Alltag unserer Kunden besteht. Die Namen unserer Kunden nennen wir nur, wenn sie öffentlich sind.

Eingesprungen, als das Entwicklerteam ausfiel
Branche: Software · Kunde: Softwareunternehmen
Ausgangslage: Bei einem Softwareunternehmen fiel das komplette Entwicklerteam aus. Die Kunden des Unternehmens erwarteten weiter Support, Fehlerbehebungen und neue Funktionen.
Herausforderung: Dokumentation und Kommentare im Quellcode gab es kaum, und das Wissen über Aufbau und Zusammenhänge der Software war im Haus nicht mehr vorhanden.
Vorgehen:
- Kurzfristig übernehmen: Wir sind eingesprungen und haben die laufende Betreuung der Software übernommen.
- Analysieren und einarbeiten: Wir haben Code und Datenstrukturen untersucht, die Zusammenhänge rekonstruiert und das Wissen dokumentiert.
- Nahtlos weiterführen: Parallel haben wir die Kunden unterstützt, Fehler behoben und die Software weiter ausgebaut – ohne Unterbrechung für die Anwender.
Ergebnis: Alle Kunden konnten weiter betreut werden, und die Software wuchs weiter. Das zahlte sich für den Inhaber aus: Beim späteren Verkauf seines Unternehmens an einen größeren Hersteller trug die gepflegte und weiterentwickelte Software zu einer deutlichen Wertsteigerung bei.
Leistungen: Softwareanalyse, Übernahme ohne Dokumentation, Support, Wartung und Weiterentwicklung

Kalibrierung von Spiegelradlasern: 3 statt 5 Schritte
Branche: Sensorik · Kunde: großer internationaler Sensorhersteller
Ausgangslage: Ein externer Dienstleister hatte die Arbeit an der Kalibriersoftware für Laserscanner mit Spiegelrad eingestellt. Wir sollten übernehmen.
Herausforderung: Der Quellcode war kaum lesbar und teilweise verschleiert. Die Kalibrierung bestand aus fünf Schritten, die Systemeinrichter, Integratoren und der Support weltweit bei jeder Einrichtung durchführen müssen.
Vorgehen:
- Analyse: Wir haben den bestehenden Code Schritt für Schritt untersucht.
- UML-Modell: Die statische Struktur und die dynamischen Abläufe haben wir als UML-Architektur dargestellt. Dabei zeigte sich schnell, dass sich mehrere Kalibrierschritte überschneiden.
- Mathematisch neu abgestimmt: Wir haben die Schritte rechnerisch besser aufeinander abgestimmt und überflüssige komplett gestrichen.
Ergebnis: Die Kalibrierung braucht nur noch 3 statt 5 Schritte. Weil sie weltweit bei sehr vielen Einrichtungen durchgeführt wird, spart das mehrere tausend Arbeitsstunden pro Jahr – beim Kunden, seinen Integratoren und im Support.
Leistungen: Code-Analyse, UML (statische und dynamische Modelle), Mathematik der Kalibrierung, Weiterentwicklung

Eigenes CAD-System: 12,5- bis 15-mal schneller
Branche: CAD / Konstruktion · Kunde: Unternehmen mit eigenem CAD-System und eigener Softwareabteilung
Ausgangslage: Der Kunde hatte sein CAD-System selbst aufgebaut und über Jahre um sehr viele Funktionen erweitert. Bei größeren Konstruktionen wartete man inzwischen mehrere Minuten auf eine Reaktion – das System war praktisch eingefroren.
Herausforderung: Das Ziel des Kunden: die Geschwindigkeit verdoppeln. Allein das war ihm eine höhere fünfstellige Summe wert.
Vorgehen:
- Analyse und Konzeptpapier: Wir haben die Software untersucht und die Ansatzpunkte in einem Konzeptpapier festgehalten. Bei knapp 50 Punkten haben wir aufgehört zu zählen.
- Erste Punkte selbst umgesetzt: Die wirksamsten Maßnahmen haben wir direkt umgesetzt.
- Das Team des Kunden befähigt: In mehreren Besprechungen haben wir die Softwareabteilung des Kunden angeleitet, die weiteren Punkte selbst umzusetzen.
- Rechnen im Hintergrund: Aufwendige Berechnungen laufen jetzt im Hintergrund, sodass für den Nutzer keine Wartezeiten mehr entstehen.
Ergebnis: Statt der erhofften Verdopplung ist das System heute 12,5- bis 15-mal so schnell (gemessen bei den Zwischenständen). Das Programm ist wieder flüssig nutzbar, und wo im Hintergrund gerechnet wird, gibt es für den Nutzer gar keine Verzögerung mehr.
Leistungen: Performance-Analyse, Konzeptpapier, Umsetzung, Anleitung des Kundenteams, Hintergrundberechnung

Notfall im August: Rechnungsprogramm übers Wochenende gerettet
Branche: Verwaltung und Rechnungswesen · Kunde: langjähriger Kunde mit eigenem Rechnungsprogramm
Ausgangslage: Für diesen Kunden hatten wir unter anderem die E-Rechnung und die grafische Aufbereitung seiner Geschäftszahlen entwickelt. Dann kam ein Windows-Sicherheitsupdate – und danach lief das Rechnungsprogramm nicht mehr.
Herausforderung: Ohne Programm keine Rechnungen. Der Kunde war in echter Not, und es war August: Urlaubszeit, das Team ohnehin knapp besetzt.
Vorgehen:
- Sofort reagiert: Wir haben umgehend zurückgerufen und ein Team zusammengestellt.
- Wochenende durchgearbeitet: Trotz Urlaubszeit haben wir übers Wochenende eine Lösung entwickelt und getestet.
- Am Montag eingespielt: Der Betrieb lief reibungslos weiter, der Kunde konnte wieder Rechnungen ausstellen.
- Nachbesprechung und Verbesserungen: Gemeinsam haben wir besprochen, was passiert war, und das System mit weiteren Anpassungen robuster gemacht.
Ergebnis: Kein verlorener Arbeitstag, kein liegengebliebener Zahlungseingang. Seitdem hören wir von diesem Kunden vor allem eines: nichts. Er ist offenbar vollauf damit beschäftigt, Rechnungen zu schreiben.
Leistungen: Notfall-Support, Fehleranalyse nach Windows-Update, Wochenendeinsatz, Nachbesserung

Wärmebildkameras: Gesichter finden – auf knapper Hardware
Branche: Kameratechnik / Sensorik · Kunde: Hersteller von Infrarot-Wärmebildkameras
Ausgangslage: Der Hersteller wollte mit seinen Wärmebildkameras die Körpertemperatur von Menschen messen. Dazu muss die Kamera zuerst erkennen, wo sich im Bild Gesichter befinden – es geht um die Lage der Gesichter, nicht um die Identität der Personen.
Herausforderung: In Hallen und auf offenen Flächen stören viele andere Wärmequellen, etwa Lampen, die Erkennung. Zudem läuft die Software auf einem eingebetteten System mit stark begrenzter Rechenleistung – rechenintensive KI-Verfahren kamen dort nicht in Frage.
Vorgehen:
- Verfahren geprüft: Wir haben verschiedene Algorithmen und neuronale Netze auf Geschwindigkeit und Erkennungsqualität untersucht.
- Eigene schlanke Verfahren entwickelt: Sie unterscheiden Gesichter zuverlässig von Lampen und anderen Wärmequellen und laufen in Echtzeit auf der eingebetteten Hardware.
- Übergabe: Der Kunde erhielt die Lösung mit umfangreicher Dokumentation und dem Code für die Weiterentwicklung.
Ergebnis: Die Lösung war rund ein Dreivierteljahr vor Beginn der Corona-Pandemie fertig. Als weltweit Fiebermessungen gefragt waren, war unser Kunde bereit: Seine Kameras kamen an Flughäfen, in Krankenhäusern und vielen weiteren Einrichtungen auf der ganzen Welt zum Einsatz, und die Nachfrage brachte ihm einen deutlichen Umsatzzuwachs.
Leistungen: Bildverarbeitung, Algorithmenentwicklung für eingebettete Systeme, Untersuchung von Verfahren, Dokumentation und Übergabe

Steuerungssoftware für eine Produktionsmaschine
Branche: Maschinenbau · Kunde: international führender Maschinenhersteller · Laufzeit: rund ein Jahr · Team: sechs erfahrene Entwickler
Ausgangslage: Eine komplexe Produktionsmaschine führt Produkte über eine Transporteinheit durch mehrere Module. Diese bearbeiten, kennzeichnen und prüfen die Produkte hochpräzise. Beteiligt sind Laser, Scanner, Kameras, Labeldrucker und Chip-Programmiereinheiten – jedes Gerät mit eigener Schnittstelle und eigenem Zeitverhalten.
Herausforderung: Je nach Produkttyp und Produktionsgeschwindigkeit muss jedes Modul andere Funktionen, Prüfungen und Abläufe ausführen – zuverlässig und in Echtzeit, ohne den Takt der Maschine zu bremsen.
Lösung: Wir haben eine modulare Echtzeit-Software entwickelt, die auf einem speziellen Echtzeitbetriebssystem läuft:
- Jedes Gerät erhält ein eigenes Softwaremodul, das sich an Produkttyp und Geschwindigkeit anpasst.
- Die Kommunikation läuft über SPS (Beckhoff TwinCAT), TCP/IP und OPC UA.
- Ein zentrales Steuerungsmodul koordiniert alle Abläufe und sorgt für das reibungslose Zusammenspiel der Komponenten.
- Eine angebundene Datenbank verwaltet Konfiguration und Produktionsdaten.
- Eine übersichtliche Oberfläche am zentralen Terminal zeigt den Status jedes Produkts, mögliche Fehler und alle Einstellungen.
Vorgehen: Wir haben den gesamten Entwicklungsprozess übernommen – von Anforderungsmanagement und Softwarearchitektur über Umsetzung und Inbetriebnahme bis zu Tests und Qualitätssicherung. Gearbeitet wurde agil mit Scrum, die Abstimmung lief über Jira und Confluence.
Ergebnis: Ein stabiler, durchgängig überwachter Produktionsablauf. Der Bediener hat jederzeit den Überblick, und die modulare Architektur mit einem eigenen Softwaremodul je Gerät hält das System übersichtlich und erweiterbar.
Technik: C#, C++, WPF, SPS (Beckhoff TwinCAT), OPC UA, TCP/IP, Datenbank, Azure DevOps, Jira, Confluence, Scrum

Modernisierung eines AutoCAD-Aufsatzes für den Tiefbau
Branche: CAD / Tiefbau · Kunde: großes Softwareunternehmen (CAD-Anbieter)
Ausgangslage: Ein über zwölf Jahre gewachsener Aufsatz für AutoCAD und AutoCAD Civil mit mehreren hunderttausend Zeilen Programmcode in C++, COM, MFC und ObjectARX. Jede neue AutoCAD-Version brachte hohe Migrationsaufwände mit sich.
Herausforderung: Eine Portierung dieser Größenordnung ist eine Investition. Der Kunde brauchte eine belastbare Entscheidungsgrundlage, bevor er sie freigibt.
Vorgehen:
- Machbarkeitsstudie: Wir haben Architektur und Code analysiert und den Weg in die AutoCAD .NET API geplant.
- Wirtschaftlichkeitsrechnung: Sie zeigte, wie sich der Aufwand mit C++ über die Jahre entwickelt und ab wann sich die Portierung in eine moderne Sprache bezahlt macht.
- Portierung: Benutzeroberfläche mit Haupt- und Kontextmenü, Menüband, Eigenschaftsfenster, Befehlen und Dialogen ebenso wie der CAD-Kern mit Entities, Reaktoren und Xdata – nach C# und in die AutoCAD .NET API, zusätzlich lauffähig in BricsCAD.
- Schulung: In einer dreitägigen Schulung haben wir das Entwicklerteam des Kunden auf die AutoCAD .NET API mit C# vorbereitet. Zuvor hatten wir das Team bereits in ObjectARX und C++ geschult.
Ergebnis: Schon während der Portierung wurde der Programmcode deutlich kürzer und einfacher. Das Entwicklerteam des Kunden ist für die Weiterentwicklung in C# und der AutoCAD .NET API vorbereitet, und der Aufsatz läuft zusätzlich in BricsCAD.
Technik: AutoCAD, AutoCAD Civil, BricsCAD, ObjectARX, AutoCAD .NET API, C#, C++, MFC, COM, UML

Revit-Add-in für den Export von Labor-Projektdaten
Branche: Labortechnik / BIM · Kunde: weltweit führender Anbieter der Labortechnik
Ausgangslage: Labore werden als Revit-Projekte geplant. Vertrieb und Planung brauchen daraus gezielt bestimmte Daten – etwa Familien und Kategorien spezieller Laborgeräte –, oft aus vielen Projekten auf einmal.
Herausforderung: Die Daten mussten in verschiedenen Formaten und Strukturen bereitstehen, je nachdem, welches System oder welcher Kunde sie weiterverarbeitet.
Lösung: Ein maßgeschneidertes Revit-Add-in analysiert Aufbau und Struktur der Labore und exportiert gezielt die gewünschten Typen:
- Flexible Formate: Ausgabe als XML, JSON, PDF und weitere Formate.
- Anpassbare Datenstruktur: Aufbau der XML- und JSON-Dateien lässt sich an die Anforderungen des Kunden anpassen.
- Automatisierung: Verarbeitet einzelne geöffnete RVT-Dateien ebenso wie ganze Verzeichnisse mit Unterordnern – für Einzelprojekte und große Datenbestände.
- Vertrieb: Zusammen mit einem Simulator lassen sich Kundenanforderungen an die Laborplanung definieren, darstellen und präsentieren.
Ergebnis: Die Abstimmung zwischen Vertrieb, Planung und Kunden ist deutlich einfacher geworden, der gesamte Verkaufs- und Planungsprozess effizienter.
Technik: Revit API, C#, WPF

Modernisierung einer Messgerätesoftware: von Delphi nach C#
Branche: Messtechnik · Kunde: Messgerätehersteller · Team: zehn Personen
Ausgangslage: Eine seit Jahrzehnten eingesetzte, selbst entwickelte Delphi-Software sollte modernisiert und von Delphi in eine moderne Technologie portiert werden.
Herausforderung: Vor der Entwicklung stand die Frage, welche Technologien die richtigen sind und wie das eigene Team des Kunden den Umstieg mitgehen kann.
Vorgehen:
- Beratung und Planung: Ziele und Möglichkeiten neuer Technologien haben wir gegenübergestellt.
- Prototypen: Sie zeigten, wie mögliche Lösungen aussehen, damit der Kunde gemeinsam mit uns entscheiden konnte.
- Schulung vor Ort: Das gesamte Team des Kunden wurde in die neuen Technologien eingeführt.
- Agile Portierung: Die Software wird mit einem Projektteam aus zehn Personen nach C# und WPF portiert.
Ergebnis: Die neue Software ist beim Kunden bereits intern im Einsatz und überzeugt Messtechniker wie Vertrieb. Nach Abschluss der Arbeiten steht sie allen Endkunden zur Verfügung.
Technik: C#, WPF, Delphi, MariaDB, Entity Framework, Scrum, Jira, Git

Software für ein Auslesegerät zur digitalen PCR
Branche: Labor- und Medizintechnik · Rahmen: BMBF-Verbundprojekt FREEDOM (FKZ 13N15287), fünf Verbundpartner, Laufzeit drei Jahre ab Februar 2021
Ausgangslage: Ein neuartiges Gerät soll Proben schneller, einfacher und mit höherer Komplexität auf bestimmte DNA-Sequenzen untersuchen – etwa Blutproben auf Krebs-DNA oder Lebensmittel wie Mais auf gentechnisch veränderte Bestandteile.
Herausforderung: Gerätesteuerung, Bilderfassung und wissenschaftliche Auswertung mussten in einer Anwendung zusammenkommen – abgestimmt zwischen einer Forschungsstiftung, einer Universität und drei Industrieunternehmen.
Unser Teil: Cadida verantwortete im Teilvorhaben „Konzeption und Implementierung der Softwarearchitektur“:
- Softwarearchitektur, Datenmodelle und Schnittstellen
- Benutzeroberfläche sowie Kamera- und LED-Ansteuerung
- Bilderfassung, Bildanalyse, Datenanalyse und Ergebnisdarstellung
- User Stories mit automatisierten Tests, die die Anforderungen im Detail absichern
Ergebnis: Eine Software, die Gerätesteuerung, Bildverarbeitung und Auswertung in einer Anwendung verbindet – entwickelt im Verbund und durch automatisierte Tests nachvollziehbar abgesichert.
Technik: C#, WPF, Entity Framework, OpenCV, Scrum, Jira, Git

HIRAC: KI-Assistenzsystem für Rollstühle
Branche: Forschung / Robotik · Rahmen: gefördert im Zentralen Innovationsprogramm Mittelstand (ZIM), gemeinsam mit der Hochschule Offenburg
Ausgangslage: Ganzkörpergelähmte Menschen und Patienten mit Locked-in-Syndrom können selbst einfache Handlungen wie das Greifen eines Glases Wasser nicht allein ausführen. Sprachgesteuerte Geräte helfen wegen der eingeschränkten Sprachfähigkeit kaum.
Herausforderung: Das System soll mit handelsüblichen Rollstühlen, Roboterarmen, Greifern und Eyetracking-Brillen verschiedener Hersteller zusammenarbeiten und diese steuern können.
Lösung: HIRAC (Hardware Independent Robotic Assistance Controller) ist eine hardwareunabhängige Middleware für Robotergreifaufgaben:
- Eine KI führt Eyetracking-Steuerung, Bildverarbeitung, Sensorfeedback und Objektmanipulation zusammen.
- Das Gesamtsystem verbindet KI, Eyetracking-Steuerung des Rollstuhls, Greifarm am Rollstuhl und Sprachausgabe.
Cadida verantwortet Projektleitung und Softwareentwicklung, gemeinsam mit der Hochschule Offenburg.
Ziel: Betroffene sollen alltägliche Aufgaben selbstständig bewältigen, das Pflegepersonal wird entlastet.
Technik: Python, ROS2, Deep Learning, Reinforcement Learning, Linux, Webinterface
Was unsere Projekte gemeinsam haben
- Klarheit vor dem ersten Code: Machbarkeitsstudien, Prototypen und Wirtschaftlichkeitsrechnungen machen Risiken früh sichtbar.
- Agil und transparent: Wir entwickeln in kurzen Schritten mit Scrum – Sie sehen regelmäßig den Stand und steuern mit.
- Qualität von Anfang an: Automatisierte Tests und Qualitätssicherung begleiten jedes Projekt.
- Wissen bleibt bei Ihnen: Auf Wunsch schulen wir Ihr Team, damit es die Software selbst weiterentwickeln kann.
Ihr Projekt
Sie stehen vor einer ähnlichen Aufgabe? Weitere Beispiele finden Sie bei unseren Projekten und Referenzen. Wie eine Zusammenarbeit mit uns abläuft, lesen Sie unter Zusammenarbeit. Sprechen Sie uns gerne an – wir beraten Sie unverbindlich: Kontakt aufnehmen.
