Aufgabenverwaltung im Emacs Org mode

Letzte Aktualisierung: 29. Januar 2017

Den Emacs Org mode verwende ich bereits seit 2005. Im Folgenden habe ich nach einigen allgemeinen Erläuterungen den Aufbau meiner Org-Dateien sowie meine täglichen Workflows dokumentiert. Die Konfiguration meines Emacs, der die beschriebenen Workflows ermöglicht, ist in meiner kommentierten Emacs-Konfiguration zu finden.

In den ersten Jahren der Nutzung hat sich meine Arbeitsweise mit dem Org mode noch recht häufig geändert; ich musste erst einmal den für mich passenden Weg finden. Mittlerweile habe ich jedoch einen stabilen Stand erreicht. Die unten beschreibene Konfiguration setze ich in dieser Form nun seit mehr als fünf Jahren bei der täglichen Arbeit ein; es ist mein „Trusted System“.

1 Der Sinn einer guten Notiz- und Aufgabenverwaltung

In der Szene der „Produktivitätstools“ ist es üblich, über die schnellebige, moderne Arbeitswelt zu klagen. Ganz so negativ möchte ich es nicht sehen. Aber es stimmt schon, dass wir immer mehr vor der Herausforderung stehen, viele kleine Informationen, die auf uns einprasseln, zu einem sinnvollen Ganzen zusammenzusetzen und zu priorisieren. Auch wird es dank häufiger Unterbrechungen immer schwieriger, sich den großen, wichtigen Themen konzentriert zu widmen. Möchte man nicht nur von seinem Umfeld getrieben werden, sondern Projekte voranbringen, die einem wichtig sind, muss man sich Gedanken machen.

Eine Notiz- und Aufgabenverwaltung ist natürlich nicht die Lösung aller Probleme; sie ist aber meines Erachtens ein wichtiger Baustein für den erfolgreichen Umgang mit diesen Problemen. Dass eine Notiz- und Aufgabenverwaltung es ermöglicht, Informationen zu organisieren und zu priorisieren, ist unmittelbar verständlich. Sie kann aber noch mehr: sie reduziert Stress und ermöglicht uns ablenkungsfreies Arbeiten. Denn haben wir unsere Verpflichtungen niedergeschrieben und unser Gehirn darauf trainiert, unserer Aufgabenverwaltung zu vertrauen (sog. „Trusted System“), lässt es uns konzentierter arbeiten. Dies kommt sowohl unserer Gesundheit als auch der Qualität unserer Arbeit zugute.

1.1 Die zwei Schritte zur persönlichen Aufgabenverwaltung

Möchte man ein solches „Trusted System“ einrichten, so sollte man sich zunächst mit dem eigentlichen Konzept der Aufgabenverwaltung (ich arbeite in Anlehungen an das Konzept Getting Things Done, abgekürzt GTD, von David Allen) vertraut machen und eine eigene Ableitung dieses Systems finden, die den persönlichen Anforderungen entspricht. Erst im zweiten Schritt sollte man sich mit der Frage beschäftigen, ob eine Umsetzung mit Hilfe einer Software, und wenn ja, mit welcher Software, in Frage kommt. Das Konzept GTD beispielsweise lässt sich auch auf Papier umsetzen, wenn man das lieber mag.

Diese ersten Schritte sind nicht Gegenstand dieses Artikels. Ich gehe lediglich darauf ein, wie ich den Emacs Org mode für meine persönliche Aufgabenverwaltung verwende.

1.2 Lohnt der ganze Aufwand?

Wie man im Folgenden sehen wird, ist es recht viel Arbeit, eine persönliche Aufgabenverwaltung im Emacs Org mode einzurichten. Ich möchte daher noch ein paar rechtfertigende Worte dazu verlieren, weshalb ich der Auffassung bin, dass diese Investition lohnend ist.

Zunächst ist festzuhalten, dass sowohl das Konzept als auch die Softwarelösung sich in die bestehende Umgebung integrieren muss. Eine Aufgabenverwaltung von der Stange scheint mir daher für niemanden eine wirklich gute Wahl zu sein. Es ist daher nie damit getan, eine Software zu installieren oder zu kaufen. Auch die erfolgreichsten kommerziellen Lösungen für die Aufgabenverwaltung, wie das exzellente Omnifocus, erfordern, dass man sich intensiv mit der Einrichtung des Systems auseinandersetzt. Der Org mode unterscheidet sich in dieser Hinsicht nicht von anderen Lösungen.

Ich gebe zu, auch meines Erachtens wird der Produktivitätswahn, der mit der Einrichtung der perfekten Lösung zur Aufgabenverwaltung verbunden ist, häufig übertrieben. Schnell verbringt man soviel Zeit damit, dass man gar nicht mehr dazu kommt, die eigentliche Arbeit zu erledigen. Es gilt hier jedoch zu differenzieren zwischen Ersteinrichtung des Systems und der laufenden Pflege und Bedienung! Beschränkt sich der Aufwand auf die Ersteinrichtung und geht dann die laufende Pflege und Bedienung des Systems leicht von der Hand, ist es eine lohnende Investition!

Ich verwende den Emacs Org mode nun bereits seit 2005. In den ersten Jahren habe ich immer wieder viel Zeit damit verbracht, meine Konfiguration zu verbessern und verschiedene Dinge ausprobiert. Mittlerweile habe ich jedoch einen Stand erreicht, der sehr gut auf meine Arbeitsweise abgestimmt ist. Den im Folgenden dokumentierten Stand verwende ich in dieser Form täglich seit mehr als fünf Jahren. Die anfangs investierte Zeit hat sich mehr als rentiert – ganz abgesehen davon, dass es mir auch sehr viel Spaß macht, mich mit der Konfiguration des Emacs zu beschäftigen.

1.3 Der Org mode - kompliziert und einfach zugleich

Und hier sind wir beim Org mode. Die Ersteinrichtung und die Einarbeitung in das System nehmen zugegebenermaßen viel Zeit in Anspruch. Hat man aber diese Arbeit einmal geleistet, so hat man eine einfach zu bedienende Umgebung, die die Arbeit wirklich erleichtert, tatsächlich produktiver macht und im besten GTD-Sinne dazu beiträgt, das ansonsten ständig grübelnde Hirn, ob man nicht etwas vergessen hat, zu entlasten. Für mich ist die Emacs Org mode basierte Lösung die erste GTD-Implementierung, die die Bezeichnung „Trusted System“ wirklich verdient; zumindest wenn die folgenden Voraussetzungen erfüllt sind:

  • Einfache Struktur der Org mode Dateien
  • Nur die wirklich benötigten Funktionen implementieren
  • Erlernen der Tastenkombinationen für eine schnelle und effiziente Bedienung

Mein aktuelles Setup verwende ich jetzt wie erwähnt seit über fünf Jahren. Ich habe in dieser Zeit nur seltenst mit der Org mode Konfiguration herumgespielt. Für mich funktioniert diese Lösung einfach.

Doch genug der Vorrede.

2 Der Emacs Org mode

Im Kern ist der Org mode ein Outliner, dem Funktionen für die Aufgaben- und Terminverwaltung, die Projektverwaltung und vieles mehr spendiert wurden. Der Vorteil dieses Ansatzes liegt darin, dass man Aufgaben direkt in seinen Notizen als solche markieren kann – und nicht erst in ein anderes Programm wechseln muss, wie es bei allen anderen mir bekannten Lösungen erforderlich ist. So bleibt die jeweilige Aufgabe einerseits in ihrem Kontext bestehen, andererseits vereinfacht dies den Workflow, da keine zusätzliche Aufnahme in eine gesonderte Aufgabenverwaltung erforderlich ist.

Das bedeutet natürlich nicht, dass man den Org mode nur dann verwenden kann, wenn man (auch) umfangreiche Notizen verwalten möchte. Auch ganz simple Aufgabenlisten lassen sich hervorragend im Org mode verwalten. Denn der Emacs Org mode stellt zwar eine große Anzahl von Funktionen zur Verfügung. Dennoch werden diese dem Nutzer nicht aufgedrängt. Es ist vielmehr möglich, eine genau an seine Bedürfnisse angepasste Arbeitsumgebung einzurichten. Und dies macht u.a. den großen Charme des Org mode aus.

Ich habe meine Konfiguration nach Überwindung der Versuchung, alle tollen Features zu implementieren, mit der Zeit immer weiter vereinfacht; es sollte nur das implementiert werden, was ich unbedingt benötige. Nicht mehr, nicht weniger. Praktizierter Minimalismus.

Zur Einführung in den Org mode lohnt ein Blick auf die Projektseite des Org mode. Besonders interessant sind die Video-Mitschnitte von Vorträgen, die Carsten Dominik, der Begründer des Org mode, bei Google und beim Max-Planck-Institut in Köln (leider schlechte Tonqualität) gehalten hat.

Ich möchte hier keine Einführung in die Funktionen des Org mode liefern; davon gibt es bereits einige im Netz und Google hilft sicherlich gerne dabei, diese zu finden. Ich möchte im Folgenden die Struktur meiner Org-Dateien sowie meine Workflows beschreiben.

3 Struktur meiner Org files

3.1 Eine zentrale tasks.org

Das zentrale Element ist bei mir eine Datei mit dem Namen tasks.org. Hier trage ich das meiste ein, was ich zu erledigen habe; sowohl berufliche als auch private Dinge. Vor allem zu umfangreicheren Projekten führe ich daneben Notizen in einzelnen Org-Dateien, die mit der Emacs-Erweiterung Deft verwaltet werden. Innerhalb dieser Notizen werden die dem jeweiligen Projekt zuzuordnenden Aufgaben notiert und in die Org Agenda einbezogen. Dies ist – wie schon erwähnt – eine der großen Stärken des Org mode. Eine Datei notes.org verwende ich hingegen nicht (mehr).

Es hat sich nicht bewährt, für berufliche und private Dinge zwei unterschiedliche Dateien zu verwenden. Insbesondere müsste ich dann auch eine allgemeine, gesonderte inbox.org verwenden. Bei einer gesonderten inbox.org habe ich jedoch nie daran gedacht, diese zu leeren – zumal das Verschieben von Tasks trotz der refile-Funktion des Org mode nicht trivial ist. Besser scheint es mir, Capture-Einträge unter der letzten Überschrift „Inbox“ der zentralen Datei tasks.org zu sammeln. Oben sollte die Inbox deshalb nicht stehen, da die Capture-Funktion ggf. Zeilenumbrüche einfügt. Unten in der Datei ist dies nicht weiter schlimm; oben nervt es.

Kontextlisten scheinen mir – zumindest in meinem Fall – wenig Sinn zu machen. Weder Markierungen wie home oder besorgung, noch computer oder telefon scheinen mir hilfreich und die Arbeit, diese immer zu vergeben, zu rechtfertigen.

Als Tags nutze ich daher neben den Mandantennamen lediglich someday und flagged. Ein mit someday getaggter Eintrag erscheint nur auf ausdrücklichen Wunsch in der Agenda (Befehl s). Der Agenda-Befehl f zeigt alle mit flagged makierten Einträge. Wann ich diese Tags vergebe, ist unten im Workflow beschrieben.

3.2 Archiv tasks.org_archive

Im Archiv herrscht die gleiche Struktur wie in der Datei tasks.org. Die Archivdatei muss nicht manuell gepflegt werden. Einträge aus der Datei tasks.org werden mit dem Befehl C-c C-x C-s in das Archiv verschoben.

4 Workflow

Nun möchte ich kurz in der Übersicht darstellen, wie mein Workflow konkret aussieht.

4.1 Morgens: eintragen und organisieren

Jeden Morgen sehe ich die Eingangskörbe (phyische und E-Mail) durch und trage neu eingetroffene Aufgaben in das System ein, lege sie also zumindest in der Inbox ab. Anschließend verschaffe ich mir einen Überblick über an dem Tag anstehende Aufgaben und Termine.

4.1.1 Neue Aufgaben erfassen

4.1.1.1 Eingangskörbe sichten

An den folgenden Stellen treffen bei mir neue Aufgaben ein.

  • Berufliche und private E-Mail
  • Beruflicher und privater Eingangskorb auf Schreibtisch
  • Postkasten
  • Sektion „Inbox“ in der Datei tasks.org, in der Aufgaben per org-capture gesammelt wurden.

Aufgaben, die in diesen Eingangsorten angekommen sind, trage ich in die Datei tasks.org oder meinen Notiz-Dateien an der entsprechenden Stelle ein, sofern ich sie nicht innerhalb kürzester Zeit erledigen kann – und dazu auch gerade Zeit habe.

4.1.1.2 Todo-Keywords

Ich versehe die Aufgaben mit den folgenden Stadien.

  • Standardstadien für Aufgaben
    • TODO
    • STARTED
    • WAITING
    • DELEGATED
    • CANCELED
    • DONE
  • APPT (Termin)
  • PROJ (Projekte, also Einträge, die Unterpunkte haben)
  • ZKTO (Zeitkonto, keine Aufgabe, aber etwas wie „Allg. Verwaltung“)

Aufgaben, die irgendwann mal erledigt werden sollen, die aber derzeit nicht sonderlich wichtig sind, tagge ich mit someday. Diese Aufgaben werden dann aus der Agenda ausgeschlossen und nur auf ausdrücklichen Wunsch mit einer benutzerdefinierten Agenda-Ansicht angezeigt.

4.1.1.3 Zeitstempel im Org mode

Der Org mode ermöglicht die verschiedensten Zeitangaben in Aufgabendefinitionen.

4.1.1.3.1 SCHEDULED: Aufgaben, die ab einem bestimmten Tag erledigt werden sollen

Der Eintrag wird an dem entsprechenden Tag in der Daily Agenda und auch an allen folgenden Tagen angezeigt, bis der Eintrag als DONE markiert wird. Der SCHEDULED-Eintrag ist also dann zu verwenden, wenn man an einem bestimmten Tag mit der Arbeit an einer Aufgabe beginnen möchte.

* TODO Gutachten schreiben
  SCHEDULED: <2011-12-18 Sun>
4.1.1.3.2 DEADLINE: Aufgaben, die an einem bestimmten Tag fertig gestellt werden müssen

Muss man an einem bestimmten Tag mit der Arbeit an einer Aufgabe fertig sein, so verwendet man den DEADLINE-Eintrag.

* TODO Gutachten fertig stellen
  DEADLINE: <2011-12-18 Sun>
4.1.1.3.3 Termine: Plain Timestamp (C-c .)

Der Termin wird nur an dem jeweiligen Tag in der Daily Agenda angezeigt. Dieser Typ sollte daher für Termine Verwendung finden. Denn diese sind nur an dem jeweiligen Tag interessant; das Fortschreiben des Eintrags auf die folgenden Tage bis er als DONE markiert wird, wie SCHEDULED, macht hier keinen Sinn.

* APPT Besprechung mit Stefan
  <2011-12-18 Sun>
4.1.1.3.4 INACTIVE: Aufgaben, die erst ab einem bestimmten Tag erledigt werden können

Inactive Timestamps (C-c !) erkennt man an eckigen statt spitzen Klammern. Diese Zeitangaben haben in der Grundeinstellung des Org mode keine unmittelbare Auswirkung auf die Anzeige in der Daily Agenda. Man kann aber nach den Einträgen mit der Agenda suchen und sie somit in Custom Agenda Views verwenden.

* TODO DVD kaufen
  AVAILABLE: [2011-12-18 Sun]
TODO Agenda View: Start Dates implementieren

Diese Kategorie funktioniert noch nicht. Es muss noch eine entsprechende Ansicht generiert werden, die nicht verfügbare Aufgaben von der Agenda ausschließt.

4.1.2 Heute anstehende Aufgaben und Termine sichten

  • Mit a in der Agenda bekommt man eine Wochen- bzw. Tagesübersicht (Umschalten mit d für „day“ und w für „week“), in der Termine und Deadlines aufgeführt sind. Mit dieser Liste sollte man anfangen, da hier die wichtigsten, nämlich ausdrücklich terminierten, Einträge sichtbar sind.
  • Anschließend sollte man sich alle TODOs in der Agenda mit t aufrufen. Die Liste beginnt bei mir mit den Mandantenaufträgen, dann kommen interne Dinge und am Ende Privates und weiteres. Aufgaben, die man heute erledigen will, werden mit dem Tag flagged versehen. Hinweis: Vor Einführung des Tags flagged habe ich Aufgaben, die ich am jeweiligen Tag erledigen wollte, auf diesen Tag „gescheduled“. Die Verwendung eines Tags hat den Vorteil, dass ich Aufgaben, die mehere Tage in der Agenda erscheinen sollen, nicht jeden Tag neu „schedulen“ muss.

4.2 Tagsüber: Dinge erledigen, Termine wahrnehmen und Zeiten aufzeichnen

4.2.1 Erfassen neuer Aufgaben und Termine

Während des Tages können neue Aufgaben mit der Capture-Funktion (C-c c) erfasst werden. Die Einträge werden dann automatisch in der Datei tasks.org unter der Überschrift „Inbox“ gespeichert. Einträge unter „Inbox“ sollten spätestens am nächsten Morgen an die korrekte Stelle verschoben werden.

Wenn ich nicht am Rechner sitze, erfasse ich neue Aufgaben häufig mit dem iPhone. Entweder schreibe ich mir einfach eine E-Mail; oder ich erfasse eine Sprachnotiz. Für letzteres verwende ich eine iPhone-Anwendung, die die aufgenommene Datei in einem Dropbox-Verzeichnis ablegen kann. Wenn ich wieder am Rechner sitze, wird der lokale Dropbox-Ordner automatisch synchronisiert. Bei jedem Emacs-Start wird überprüft, ob sich neue Sprachnotizen in der Dropbox befinden. Wenn dies der Fall ist, werden Sie sofort in Dired angezeigt. Mit o kann ich sie dann abspielen und mit C-c c als Aufgabe oder Termin im Org mode erfassen.

4.2.2 Finden von zu erledigenden Aufgaben und Terminen

Für den aktuellen Tag anstehende Aufgaben habe ich spätestens am Morgen mit dem Tag flagged versehen. Durch den Aufruf von f in der Agenda werden mir alle diese Einträge angezeigt. Zudem werden „geschedulte“ Aufgaben angezeigt. Mit dieser Liste kann also den Tag über gearbeitet werden.

4.2.3 Zeiten erfassen

4.2.3.1 Zeiten zu bereits konkret formulierten Aufgaben erfassen

Wird eine Aufgabe in der Agenda angezeigt und ist sie für den Zeitnachweis ausreichend konkret formuliert, kann ich einfach mit I („in“) die Uhr starten und mit O („out“) wieder anhalten.

4.2.3.2 Zeiten zu nicht bestehenden oder nicht ausreichend konkret formulierten Aufgaben erfassen

Beginne ich eine Tätgikeit, für die noch keine Aufgabe definiert ist, erstelle ich einen neuen Zeiteintrag mit Hilfe der Capture-Funktion. Mit C-c c z kreiere ich einen neuen Zeiteintrag. Sobald der Capture-Buffer erscheint, wird eine aktuell laufende Uhr gestoppt und eine neue gestartet. Wenn der Zeiteintrag mit C-c C-c abgeschlossen wird, wird er in meine tasks.org in die Inbox gelegt. So habe ich die Möglichkeit, den Zeiteintrag später einem Projekt zuzuordnen. Anschließend wird automatisch eine eventuell vorher laufende Uhr wieder gestartet.

4.2.3.3 Zeiten auf Sammelkonten erfassen

Teilweise ist zwar klar, auf welches Zeitkonto ein Eintrag zu buchen ist, ich benötige aber stets eine nähere Bezeichnung der geleisteten Arbeit. Dies ist zum Beispiel der Fall bei Dingen, die ich auf „Allgemeine Verwaltung“ buche. In diesem Fall ist es unnötig kompliziert für die Tätigkeit per Capture-Template einen neuen Eintrag in der Inbox zu erfassen, der ja später an eine sinnvolle Stelle in meiner tasks.org verschoben werden müsste. Für diese Fälle habe ich verschiedene Zeitkonten vorbereitet, auf denen ich laufend die entsprechenden Zeiten erfassen kann. Diese Einträge sind allerdings so konfiguriert, dass der Org mode beim „Ausclocken“ eine Notiz abfragt. Im meinem Zeitreport in der Agenda sehe ich dann zwar nur, dass ein Zeitraum X auf z.B. das Konto „Allgemeine Verwaltung“ gebucht wurde; wenn ich aber dem Link auf diesem Eintrag in meine tasks.org folge, finde ich dort die Notiz, die beschreibt, was ich konkret getan habe.

4.3 Abends: Zeiten in das Kanzleimanagementsystem übertragen

Jeden Abend übertrage ich die im Org mode aufgezeichneten Zeiten in das offizielle Zeiterfassungssystem meines Arbeitgebers. Ich verwende hierzu die einfache Daily Agenda, die unten auch die für den jeweiligen Tag aufgezeichneten Zeiten ausweist.

4.4 Wöchentlich: „Weekly Review“

Die folgenden Schritte sind regelmäßig am Montag Morgen im Rahmen einer Weekly Review durchzuführen.

  • Pflege der Datei tasks.org
  • Erledigte Aufgaben bzw. Projekte archivieren. Die Archivierung erfolgt in der Datei tasks.org_archive. Der Befehl dazu lautet C-c C-x C-s.
  • Achtsame Durchsicht aller Aufgaben und Termine
  • Durchsicht der mit someday getaggten Aufgaben (C-c a g s)
TODO Review Cycles implementieren   someday

Zukunftsmusik: Die Weekly-Review möchte ich gerne optimieren. Von Omnifocus kenne ich die Möglichkeit, Review-Cycles für die verschiedenen Aufgaben vorzusehen. Dann gibt es eine spezielle Ansicht, in der alle Aufgaben angezeigt werden, deren Review „due“ ist. Dies scheint mir im Org mode noch nicht implementiert zu sein. Daher werde ich das beizeiten vielleicht einmal selbst versuchen.

5 Konfiguration

Meine gesamte Emacs-Konfiguration kann auf dieser Internetseite eingesehen werden. Daher verzichte ich an dieser Stelle darauf, die Konfiguration des Org mode wieder zu geben. Schauen Sie einfach in meine kommentierte Emacs-Konfiguration unter der Überschrift „Org mode“.