ClockLab: Automatisierung von Prozessen

Ein Team ohne Automatisierung ist nicht nur langsam – es ist gleichzeitig mit den falschen Dingen beschäftigt.

ClockLab Preview

Vor Beginn der Arbeiten an der Lease A Bike Plattform wurde definiert, dass wir ein Git-/Projektmanagement-Tool nutzen sollten, das sowohl Off-Cloud lauffähig sei und zudem eine transparente Zeiterfassung ermöglichen würde. Unsere Wahl fiel deswegen auf GitLab für das Code- und Projektmanagement sowie Clockify für die Zeiterfassung. In Theorie erschien das eine großartige Lösung zu sein, bis jedoch zwei große Probleme auftauchten:

  1. Zum damaligen Zeitpunkt gab es keine einfache Möglichkeit, geschätzte und erfasste Zeit zwischen den Tools zu synchronisieren. Ein manueller Abgleich bedeutet stundenlange Arbeit pro Woche, die nicht bezahlt werden würde.

  2. Nicht jeder Nutzer in GitLab sollte detaillierte Clockify-Daten sehen – und nicht jeder in Clockify brauchte eine vollständige GitLab-Lizenz, nur um die Zeiten zu erfassen.

Besonders bei GitLab Bronze kostete selbst ein einfacher Lesezugriff einiges an Geld – und benötigte ein Jahresabo. Wir brauchten eine günstigere und flexiblere Lösung.

Das Dashboard, auf dem man seine Statistiken sehen konnte.

Ich beschloss einen Connector zwischen Clockify und GitLab zu entwickeln – und nannte ihn, natürlich passend, ClockLab! Über den Microservice wurden Zeiteinträge von Clockify in GitLab-Issues übertragen, während im Hintergrund die tatsächlichen Aufwände mit den ursprünglichen Schätzungen verglichen und synchron gehalten wurden. Diese Verbindung sparte uns jeden Tag Nerven aufreibende Stunden.

Es gab jedoch einen Haken: Was sollte passieren, wenn jemand einen Zeiteintrag vergaß oder ihn dem falschen Issue hinzufügte? Wir hatten des Öfteren den Fall, dass mir Fehler in der monatlichen Abrechnung ins Auge sprangen, aber nach einigen Tagen, geschweige denn ein paar Wochen sind die Details dem Mitarbeiter nicht mehr präsent.

Um dieses Problem anzugehen, erweiterte ich ClockLab um Echtzeit-Nachrichten via Slack. Konnte ein Zeiteintrag nicht stimmen oder war suspekt, ging unmittelbar eine Nachricht an den entsprechenden Mitarbeiter. Das war einfach, effektiv und unglaublich praktisch.

Vom Microservice zur eierlegenden Wollmilchsau

ClockLab begann als schlanke Lösung, aber aufgrund des enormen Mehrwertes begann ich alle weiteren Aufgaben zu automatisieren, die nervig waren. Im Laufe der Zeit fügte ich Funktionen hinzu, die wir viel zu lange manuell erledigt hatten:

  • Slack-Integration, um Teams zu benachrichtigen, wenn Issues die Schätzungen überschritten oder Zeiteinträge nicht zur Issue-Beschreibung passten.

  • Daily Check-Ins via Slack anstelle echter Team Meetings, wo Mitarbeiter über ihre Pläne für den Tag und mögliche Blocker ausgefragt wurden.

  • Prioritätsbasierte Issue-Sortierung in GitLab, um das Backlog anhand bestimmter Tags und Fortschritte übersichtlich und fokussiert zu halten.

  • Merge-Request-Validierung, um Änderungen mit übrig gebliebenem Debug-Code zu verhindern.

  • Automatische Rechnungsstellung über LexOffice, um die Abrechnung zu vereinfachen.

  • Ein Helpdesk für Externe, um Bugs zu melden oder Features anzufordern.

  • Erweitertes QA mit vordefinierten Testfällen und Loom-Videoaufzeichnung.

  • …und andere Verbesserungen, die das Leben einfach etwas leichter machten.

Das ist Marvin

Ursprünglich als einfacher Workaround gestartet, wurde ClockLab schnell unverzichtbar. Und wir brauchten einen Namen für unseren Agent, etwas persönliches. Die Wahl fiel auf Marvin, inspiriert von Per Anhalter durch die Galaxis. Marvin war unser Assistent im Hintergrund. Er erledigte nicht nur all die lästigen Aufgaben, mit denen sich niemand beschäftigen wollte, sondern leitete auch unsere täglichen Check-ins und Stand-ups.

Marvin.

Schnell wurde er zu einem unverzichtbaren Teil des Teams und sparte uns jeden Tag unzählige Arbeitsstunden – welche wir unseren Kunden nie berechneten. Wir wollten einfach nicht wahnsinnig werden, indem wir immer wieder dieselben frustrierenden Dinge tun mussten. Umso nerviger die Aufgaben erscheinen und umso öfter man sie tut, umso wahrscheinlicher, dass sich Fehler einschleichen.

Interaktion auf einem GitLab-Issue.

GitLab und ich wurden allerdings nie richtig warm. Ich nutzte es, weil ich es musste, aber fand sowohl die Software grauenvoll, als auch das Geschäftsmodell. So kam es, dass ich in eigenen Projekten zu GitHub wechselte. Da ich nicht auf Marvin verzichten wollte, fügte ich in ClockLab eine GitHub-Unterstützung hinzu. Bei ENIQO integrierte ich Toggl als Alternative zu Clockify zur Zeiterfassung, da ihr Team sich jahrelang darauf verlassen hatte. Und so kam es, wie es kommen musste: Mit der Zeit wurde die Software immer komplexer: ClockLab wurde riesig.

Der Wendepunkt

ClockLab begann als Laravel-Projekt mit zahlreichen Queues und direkten Integrationen. Obwohl ich es gerne als Open Source veröffentlicht hätte, machte meine Entscheidung, es Anfangs auf Laravel Nova aufzubauen, mir einen Strich durch die Rechnung. Zwar verlasse ich mich noch heute täglich auf ClockLab für die Zeiterfassung und die Rechnungsstellung, allerdings werden keine Daten mehr synchronisiert.

Ehrlicherweise ist heute die größte Herausforderung bei ClockLab die enorme Codebasis: Sie ist zu umfangreich geworden, um effektiv gewartet zu werden. Gleichzeitig hat sich gerade in den letzten Jahren in den Bereichen Automatisierungen und AI so viel getan, dass es einfachere Wege gibt die Daten zu orchestrieren. Aus diesem Grund wird ClockLab nur sporadisch gepflegt: „Never change a running system."

Für alle neuen Automatisierungen – und ich automatisiere viel – nutze ich jetzt n8n. Dies ermöglicht mir einfachst eine modularere Struktur zu schaffen und Prozesse noch weiter zu optimieren.

Marvin ist allgegenwärtig

Wie bereits erwähnt ist Marvin nach wie vor ein wichtiger Teil meines Alltags. Obwohl ich nicht mehr zwischen Tools synchronisiere, verlasse ich mich auf ClockLab für Zeiterfassung und Rechnungsstellung. Aufgaben zu automatisieren, die ich nicht gerne manuell erledige, war eine der besten Entscheidungen, die ich je getroffen habe. Ehrlich gesagt freue ich mich immer noch über Nachrichten von Marvin, wenn etwas nicht stimmt – denn auch Nachrichten, die via n8n versendet werden, senden im Namen Marvins.

Erfahre mehr über clocklab.app

Interesse an Automatisierung und KI in Projekten? Ich habe unendlich Ideen! 🚀