Zeiterfassung mit Laravel

Zeiterfassung - das ist ein leidiges Problem in allen Agenturen. Eigentlich scheint es ja ganz einfach: Jeder Mitarbeiter arbeitet an verschiedenen Aufgaben und am Ende des Tages wüsste man gern, wie lange er mit welcher Aufgabe verbracht hat. 

Nicht so schwer, möchte man denken. Schließlich gibt es auf dem Markt eine Fülle von Tools, die versprechen, genau diese Aufgabe zu erledigen. 

Dennoch haben wir uns schließlich unsere Zeiterfassung selbst geschrieben - nach langjähriger Erprobung verschiedener Tools. Warum das gut war, davon soll dieser Blog-Betrag handeln. Und davon, was das für andere Projekte bedeutet.

Die mühsame Suche nach dem geeigneten Tool

Im Lauf der Jahre haben wir in unserer Agentur verschiedene Zeiterfassungs-Systeme erprobt. Dabei haben wir vor allem eines gelernt: Das Problem der Zeiterfassung hat sehr viele Facetten. Unsere ist nur eine davon.

Es gibt zum Beispiel den Freelancer, der protokolliert, wann er was gemacht hat und daraus direkt Rechnungen erstellen möchte. Es gibt den Vertreter, die zum Kunden unterwegs ist, und deshalb eine Lösung auf seinem Mobilgerät benötigt. Es gibt den Spezialisten, der tagelang für einen einzigen Kunden arbeitet und dem es genügt, Arbeitsbeginn und Arbeitsende festzuhalten. 

Und es gibt Agenturen wie unsere: mit vielen Kunden, mehreren Mitarbeitern, langen und kurzen Projekten und vielen dringenden Kleinigkeiten ("Hilfe! Die letzte News sieht im Englischen so komisch aus!")

Um den Überblick über die vielen Aufgaben zu bewahren, setzen wir das Ticketsystem “redmine” ein. Jede Aufgabe, ob groß, ob klein, bekommt ein Ticket. Das Ticket gehört zum Kunden, und man vermerkt darin, was zu tun ist, was getan wurde, und schließt das Ticket, wenn es erledigt wurde. 

Redmine, unser Ticket-System, taugt für unsere Zwecke; alle weiteren Prozesse sind daran angebunden. Ein Tausch steht nicht zur Debatte. 

Die an redmine angeschlossene Zeiterfassung ist allerdings umständlich und unschön. Also haben wir uns auf dem Markt umgeschaut, was es so alles gibt.

Überwältigendes Angebot

Dort gibt es ein Angebot, von dem man sich schnell erschlagen fühlen kann. Ganz vieles davon scheidet aber gleich bei der ersten Betrachtung aus: Entweder bringt es ein eigenes Ticket-System mit, was wir nicht wollen. Oder es kostet monatliche Gebühren, was Verschwendung ist, weil wir doch nur mitschreiben wollen, wer wie lange auf ein Ticket gearbeitet hat. 

Übrig blieben dann nur drei Systeme, die wir wirklich über längere Zeit eingesetzt haben. 

Bei allen wurden die jeweiligen Schwachstellen erst nach längerem Betrieb spürbar. Manchmal war es kompliziert, zur jeweiligen Tätigkeit eine Notiz zu hinterlegen, andere hatten kein wirkliches Konzept von Ticket-Nummern und taten sich schwer, die Arbeitszeiten eines Tages zusammenzurechnen. 

Flexibilität dank API

Irgendwann haben wir dann zusammengerechnet, wie viel Zeit wir intern mit den Verwaltungsvorgängen rund um die Zeiterfassung verbringen: Zeiten in Tickets eintragen, Eintragungen kontrollieren, Fehler korrigieren. Innerhalb von ein, zwei Jahren summieren sich diese Zeiten auf einen so hohen Betrag, dass der Aufwand einer Eigenprogrammierung vertretbar erschien.

Wir haben uns dann entschieden, eine Web-basierte Lösung zu erstellen, die per API auf unser Ticket-System zugreifen kann. Das hat zwei Vorteile: Die Zeiterfassung hat Zugriff auf alle Infos, die schon vorhanden sind. Und die erfassten Zeiten können mit einem Knopfdruck am Ende des Tages in das Ticket-System gebucht werden. 

Umgesetzt haben wir das Ganze mit dem php-Framework “Laravel”, das wir auch schon in mehreren Kundenprojekten verwenden. Laravel ist ideal für die schnelle Erstellung von Web-Anwendungen. 

Unser Zeiterfassungs-Spezialist

Heraus gekommen ist ein Tool, das genau unseren Anforderungen entspricht:

  • Nach Eingabe der Ticket-Nummer sieht man gleich, an welchem Projekt man arbeitet
  • Man kann leicht die Arbeit an einem Ticket unterbrechen und mit einer anderen Arbeit fortfahren.
  • Wenn man vergisst, die Zeiterfassung anzuwerfen, genügt ein Knopfdruck, um an den Vorgänger anzuschließen
  • Alle Einträge können nachträglich bearbeitet werden
  • Man sieht übersichtlich die Historie des Tages
  • Pausenzeiten sind ebenfalls sichtbar
  • Am Ende des Tages braucht es nur zwei Klicks um alle Daten in unser Ticketsystem einzutragen.

Unerwartete Erweiterungen

Seitdem das System in Betrieb ist haben wir eine weitere erstaunliche Beobachtung gemacht: plötzlich fallen uns sinnvolle Erweiterungen ein, an die bislang keiner gedacht hat. 

Wie wäre es zum Beispiel, wenn man einen Kollegen auf ein Ticket einladen könnte? Der Use-Case passiert jeden Tag: Man bittet den Kollegen kurz auf ein Problem zu schauen. Manchmal bleibt es bei kurz, aber manchmal wird auch eine viertel Stunde daraus. Dann wäre es schön, man könnte den Kollegen einfach auf das Ticket einladen. Er müsste dann nur auf  “ja” klicken und hätte gleich alle Werte in seiner eigenen Zeiterfassung.

Andere Idee: Wie wäre es, aus der Zeiterfassung eine Art aktuelle Arbeitslandschaft zu erstellen? Vielleicht mit einer Visualisierung, welcher Kunde gerade im Fokus der Arbeit steht?

Vieles ist denkbar und nicht alles muss man wirklich umsetzen. Aber es zeigt, dass sich mit jedem Schritt, den man geht, neue Horizonte öffnen.

Was wir daraus gelernt haben

In unserem kleine Projekt sind wir verschiedenen Punkten begegnet, die wir auch bei ähnlich gelagerten Kundenprojekten beobachten konnten:

  • Für spezielle Aufgaben gibt es eine unübersehbare Zahl von Tools auf dem Markt.
  • Der Aufwand, diese Tools zu beurteilen ist beträchtlich.
  • Kein einziges der Tools erfüllt die Anforderungen zu 100%.
  • Ein genau passendes Tool trägt erstaunlich viel zur gefühlten Lebensqualität bei.
  • Schon kleine tägliche Einsparungen rechtfertigen den Aufwand für die Erstellung eines maßgeschneiderten Tools.
  • Laravel ist ein gut geeignetes Framework, um schnell eine web-basierte Anwendung zu erstellen.
  • Ist das passende Tool einmal im Einsatz, entstehen plötzlich weitere Einsatzmöglichkeiten, an die noch nie jemand vorher gedacht hat.

 


Kontaktieren Sie uns

Sie haben Vorstellungen und Ideen, welche Tools Sie in Ihrer Firma bräuchten? Rufen Sie uns gerne an, wir überlegen mit Ihnen zusammen, welche Lösungen in Frage kommen. Tel: 089/381576400