django-tickets - ein einfaches Ticketsystem

Geschrieben am 29. August 2015

django-tickets ist ein einfaches Ticketsystem auf der Basis von Python und Django. Ich habe es als privates Projekt in meiner Freizeit für einen konkreten Anwendungsfall geschrieben und stelle es über meinen Github-Account unter einer Open Source Lizenz (MIT) zur Verfügung.

Ticketsystem gegen häufige Arbeitsunterbrechungen

Werden regelmäßig viele kleine, einzelne Aufgaben an andere Personen delegiert, so ist es eine Herausforderung nachzuhalten, welche Aufgaben erledigt wurden, welche noch offen sind, wo und welche Nachfragen es gibt etc. Ein Beispiel sind Sekretariate. In der Praxis wird auch heute häufig noch die wiederholte persönliche Ansprache genutzt, um sich auf dem aktuellen Stand der Bearbeitung zu halten. Der Nachteil ist klar: jede Nachfrage nimmt Zeit sowohl des Nachfragenden, vor allem aber des Angesprochenen in Anspruch, der aus seiner aktuellen Beschäftigung heraus gerissen wird und in dieser Zeit nicht weiter arbeiten kann - und vor allem seinen Fokus verliert.

Ein Ticketsystem kann diese Arbeitsabläufe in vielen Fällen deutlich effizienter gestalten. Beispielsweise in der Softwareentwickung und im IT-Support werden derartige Systeme seit vielen Jahren erfolgreich eingesetzt. Doch auch in „nicht-technischen“ Arbeitsbereichen haben Ticketsysteme meines Erachten zunehmend eine Daseinsberechtigung. Die Vorteile liegen auf der Hand:

  • Der „Auftraggeber“ kann sich selbst über das Ticketsystem über den aktuellen Bearbeitungsstand informieren. Der Bearbeiter wird nicht durch häufige Nachfragen bei seiner Arbeit gestört.
  • Alle für die Bearbeitung der Aufgabe relevanten Informationen sind im Ticketsystem verfügbar, so dass sich alle Beteiligten „on the same page“ befinden und damit vollständige Informationen haben.

Standardsoftware versus Eigenentwicklung

Wie so häufig ist die besondere Herausforderung, das System einfach bedienbar zu halten. Dazu sollte das System möglichst gut in die bestehende IT-Infrastruktur integriert sein. Dazu gehört es auch, dass weiterhin klar bleibt, welche Software für welche Arbeitsabläufe im Unternehmen genutzt werden soll. Und hier liegt häufig das Problem bei Lösungen von der Stange. Natürlich gibt es viele Anbieter auf dem Markt, die hervorragende Ticket-Systeme entwickelt haben. Diese bieten aber häufig einen so großen Funktionsumfang, dass es (1) Überschneidungen mit anderen Anwendungen im Unternehmen gibt, (2) sie schwierig zu bedienen sind, da der Anwender mit vielen Funktionen konfrontiert wird, die er womöglich gar nicht braucht, und (3) den konkreten Bedarf andererseits nicht vollständig abdecken, aber auch leider schlecht anzupassen sind.

Über den Sinn von Eigenentwicklungen möchte ich mich an dieser Stelle nicht weiter auslassen; dabei sind viele Aspekte zu beachten. Im mir vorliegenden Fall habe ich es als sinnvoll erachtet, ein kleines Ticketsystem neu zu entwickeln.

Ein kleines, selbstgeschriebenes Ticketsystem

Auf meinem Github-Account habe ich heute django-tickets, ein einfaches Ticketsystem veröffentlicht, das ich in der Programmiersprache Python auf der Basis des Webfrageworks Django geschrieben habe. Ich habe diese Anwendung unter eine Open Source Lizenz (MIT-Lizenz) gestellt; sie kann also gerne von jedem verwendet und auch weiter entwickelt werden.

Ich habe diese Anwendung in meiner Freizeit geschrieben. Ich beabsichtige zwar nicht, eine große Software daraus zu machen, kann mir aber durchaus vorstellen, dass ich mit der Zeit noch die eine oder andere Funktion ergänze; wie sich Bedarf ergibt.

Kernanforderung: E-Mail-Schnittstelle

Eine Kernanforderung bei der Entwicklung war, dass die Ticketersteller möglichst wenig mit dem neuen System konfrontiert werden. Ziel der Einführung der Software war es vor allem, die „Abarbeiter“ effizienter zu machen, indem sie vor häufigen Nachfragen der Auftraggeber bewahrt werden. Die Ticketersteller sollten sich jedoch möglichst wenig umstellen müssen. Dies soll dadurch erreicht werden, dass Tickets per E-Mail an eine bestimmte E-Mail-Adresse erstellt werden können und der Ersteller bei Erledigung der Aufgabe durch den Bearbeiter wiederum per E-Mail hierüber benachrichtigt wird. Für die Grundfunktionalität (neues Ticket erstellen; Benachrichtigung, wenn dieses abgeabreitet ist) muss der Mitarbeiter also nicht einmal eine neue Software verwenden; mit seinem E-Mail-Programm kennt er sich aus. Die einzige Neuerung besteht für ihn darin, dass die Aufgabe nicht mehr per E-Mail an eine konkrete Person gesendet wird, sondern an die E-Mail-Adresse des Ticketsystems. Möchte der Ticketersteller sich über den Stand der Bearbeitung informieren, kann er im Ticketsystem nachsehen; dies ist aber optional.

Funktionsübersicht

Die Anwendung hat bisher vor allem die folgenden Funktionen:

  • Erstellung von neuen Tickets über die Weboberfläche oder per E-Mail.
  • Dateianhänge für Tickets. Diese können über die Weboberfläche hinzugefügt oder aber als E-Mail-Anhang mitgesendet werden.
  • Nachfragen (Followups) auf Tickets.
  • Bearbeitungsstadien TODO, IN PROGRESS, WAITING, DONE.
  • Zuweisung von Tickets an andere Benutzer.
  • E-Mail-Benachrichtigungen bei Nachfragen (Followups) oder wenn der Status der Aufgabe geändert wurde.

Im konkreten Anwendungsfall, für den ich das Ticketsystem geschrieben habe, waren dies die wesentlichen Funktionen. Bei jeder zukünftigen, zusätzlichen Funktion werde ich mir überlegen, ob diese die Arbeit wirklich einfacher macht. Viele Features sind zwar in der Theorie praktisch, in der täglichen Bedienung aber eher ein Hindernis, da sie die Anwendung komplizierter machen. Oder aber sie können mit einem anderen Tool viel besser erledigt werden. In Anlehung an die gute alte Unix-Philosophie besteht also auch hier das Ziel, eine Software zu entwickeln, die nur eine Sache macht, ein grundlegendes Ticketsystem, diese Sache aber gut und möglichst sauber löst. Es soll also eine kleine „wendige“ Software bleiben.

Open Source

Auch wenn die Software für einen konkreten Anwendungfall geschrieben wurde, habe ich sie über meinen Github-Account veröffentlicht und unter eine Open Source Lizenz (MIT) gestellt. Bei Interesse können Sie sie also gerne verwenden und ggf. weiter entwickeln.

Nachtrag vom 14. Januar 2016: Bitte beachten Sie, dass es sich um eine Django-Applikation handelt und kein einheitliches, fertig geschnürtes Binary verfügbar ist, welches Sie einfach ausführen können. Um django-tickets in Betrieb nehmen zu können, müssen Sie sich daher mit der Softwareentwicklung in Python auskennen.