Wie ich die Einrichtung von Zeiterfassungsterminals von 2 Stunden auf 0 Minuten reduziert habe
Manchmal entsteht gute Software nicht durch eine fertige Feature-Anfrage, sondern durch eine unbequeme Frage:
Warum machen wir diesen Prozess eigentlich immer noch manuell?
Bei einem früheren Arbeitgeber gab es einen aufwendigen Prozess rund um Zeiterfassungsterminals. Die Geräte mussten für Kunden eingerichtet, konfiguriert, ausgeliefert und später bei Problemen gewartet werden.
Auf dem Papier klingt das erstmal harmlos. In der Praxis war es aber ein ziemlich schwerfälliger Ablauf.
Wenn ein Kunde ein neues Terminal bestellte, wurde das Gerät beim Hersteller bestellt. Danach musste eines von mehreren Setups ausgewählt, angepasst und auf das Terminal geladen werden. Dieser Vorgang dauerte oft bis zu 2 Stunden und war fehleranfällig.
Noch unangenehmer wurde es bei Wartungsfällen.
Wenn beim Kunden ein Problem auftrat, musste das Terminal häufig zurückgeschickt werden. Danach wurde es lokal per Kabel an einen PC angeschlossen, mit Datafox Studio geprüft, gewartet und anschließend wieder zurück zum Kunden geschickt.
Das bedeutete Versandkosten, Wartezeit, manuelle Arbeit und unnötig viel Reibung für einen Prozess, der eigentlich standardisiert sein sollte.
Die ursprüngliche Anforderung war deshalb relativ offen: Ich sollte herausfinden, ob man diese Terminals irgendwie remote warten kann.
Also habe ich mich in die Dokumentation der Terminals eingearbeitet und geprüft, welche Möglichkeiten es überhaupt gibt. Dabei wurde klar: Man kann daraus mehr machen als nur eine kleine Hilfslösung. Man kann daraus eine zentrale Terminalverwaltung bauen.
So entstand Terminfixus.
Ich habe ein universelles Setup in Datafox Studio erstellt, das nicht mehr pro Kunde individuell angepasst werden musste. Dieses Setup kommuniziert mit einer eigenen Symfony-API. Die Terminals senden sekündlich Alive-Signale an das System. Dadurch sieht man zentral, welche Geräte online sind und welche nicht.
Der wichtigste Punkt war aber: Mit dem nächsten Alive-Signal konnten gezielt Einstellungen an ein bestimmtes Terminal gesendet werden.
Dadurch konnte man einem Terminal aus dem Frontend heraus anweisen, sich über das Internet mit Datafox Studio bei mir lokal zu verbinden. Für die Wartung musste das Gerät also nicht mehr verschickt oder per Kabel angeschlossen werden. Man konnte sich direkt verbinden.
Die Wartung selbst dauerte natürlich weiterhin je nach Problem unterschiedlich lange. Aber der komplette physische Teil des Prozesses fiel weg: kein Rückversand, kein Warten auf Pakete, kein Anschließen per Kabel, kein erneutes Zurücksenden.
Zusätzlich habe ich ein Log-System gebaut. Die Terminals lieferten nicht nur Alive-Signale, sondern auch verwertbare Informationen für Fehleranalyse und Nachvollziehbarkeit. Dafür entstand ein eigenes Interface mit Suche, damit man Probleme schneller eingrenzen konnte.
Das Frontend habe ich mit Nuxt umgesetzt, ursprünglich auch, um mir Nuxt praktisch anzuschauen. Es war an dieselbe Symfony-API angebunden und machte die Verwaltung der Terminals im Alltag deutlich einfacher.
Der eigentliche Gewinn lag aber nicht in Symfony, Nuxt oder der API.
Der eigentliche Gewinn lag im Prozess.
Vorher gab es mehrere Setups, manuelle Anpassungen, Uploads, Fehlerquellen und Wartung per Versandweg. Nachher gab es ein einziges Setup für alle Terminals.
Dieses Setup wurde direkt beim Hersteller hinterlegt. Wenn ein neuer Kunde ein Terminal bestellte, konnte das Gerät direkt mit diesem Setup ausgeliefert werden. Der Kunde musste es nur mit dem Internet verbinden. Danach meldete es sich automatisch im System.
Damit fiel die interne Einrichtung praktisch komplett weg.
Aus bis zu 2 Stunden Aufwand pro Terminal wurden 0 Minuten.
Die Einrichtungsgebühr blieb gleich, aber der operative Aufwand verschwand fast vollständig. Gleichzeitig wurden Wartungsfälle deutlich effizienter, weil man sich remote verbinden konnte, statt Geräte hin- und herzuschicken.
Heute werden darüber vermutlich über 100 Terminals zentral verwaltet.
Für mich ist das ein gutes Beispiel dafür, was Software im besten Fall leisten kann. Sie digitalisiert nicht nur eine Oberfläche. Sie verändert den Ablauf dahinter.
Und manchmal ist genau das der Unterschied zwischen „wir machen es etwas schneller“ und „dieser Aufwand existiert nicht mehr“.