Tracking time is key to my Retrospective habit(s). I track my personal and professional time in Emacs org-mode.

Key points:

  • Everything is a TODO (or at least 80% of things)
  • Different files for different flows
    • todos.org: Catch-all for TODOs
    • retrospective.org: Contains daily/weekly/etc retrospectives
  • Track time with org-clock
  • Personal emacs config provides agenda views, customized clock-in and clock-out behavior, clocktable-by-category (a) for retrospectives
  • View TODO=s with =org-agenda and org-super-agenda (see Personal emacs config)

Workflow

Daily

Throughout the day I follow this loop:

  1. Open my agenda view for today (see Personal emacs config)
  2. Start work (clock-in) on one of:
    • what I’ve scheduled for this point the day
    • the top-priority unscheduled item
  3. When done: clock-out
  4. Go to step 1

Then, at the end of the day I do a brief retrospective:

  1. Open retrospective file
  2. Insert a new heading for the current day
  3. Insert a clocktable-by-category (a)
  4. Review where my time went during the day
  5. Reschedule any items I didn’t get to (and think about why)

Weekly

  1. Open my retrospective file
  2. Insert a new heading for the current week
  3. Insert a clocktable-by-category (a)
  4. Review where my time went during the week and if I want to make any changes
  5. Open my agenda view for planning the week (see Personal emacs config)
  6. Schedule items such that I’m 60-80% booked each day; leave Slack in my schedule for unexpected items or for those which take more time than expected

Scheduling org-mode events for different times on different days

Some of my TODOs have schedules which don’t mesh with org-mode’s model of deadlines and scheduling. org-mode doesn’t support scheduling a TODO for more than one time:

Scheduling an item in Org mode should not be understood in the same way that we understand scheduling a meeting. Setting a date for a meeting is just a simple appointment, you should mark this entry with a simple plain timestamp, to get this item shown on the date where it applies. This is a frequent misunderstanding by Org users. In Org mode, scheduling means setting a date when you want to start working on an action item.

(“Deadlines and Scheduling (The Org Manual)” n.d.)

Items have just the one SCHEUDLED property. They can have more than one timestamp; however, org-mode increments all of the timestamps when you mark the item as DONE (see org-auto-repeat-maybe) — not just today’s timestamp.

My hack-ish fix is to have duplicate TODOs. That is, for an event that has a different time on weekdays and weekends:

* Do the thing
SCHEDULED: <2023-11-27 Mon 10:00-10:30 ++1w>
* Do the thing
SCHEDULED: <2023-11-28 Tue 10:00-10:30 ++1w>
* Do the thing
SCHEDULED: <2023-11-29 Wed 10:00-10:30 ++1w>
* Do the thing
SCHEDULED: <2023-11-30 Thu 10:00-10:30 ++1w>
* Do the thing
SCHEDULED: <2023-12-01 Fri 10:00-10:30 ++1w>
* Do the thing
SCHEDULED: <2023-12-02 Sat 08:00-08:30 ++1w>
* Do the thing
SCHEDULED: <2023-12-03 Sun 08:00-08:30 ++1w>

This would be annoying if I used the built-in clocktable which would show a separate line-item for each TODO:

#+BEGIN: clocktable :block "2023-W48" ...
#+CAPTION: Clock summary at [2023-11-28 Tue 09:37], for week 2023-W48.
| File           | Headline         |   Time |
|----------------+------------------+--------|
|                | ALL *Total time* | *3:30* |
|----------------+------------------+--------|
| Personal TODOs | *File time*      | *3:30* |
|                | Do the thing     |   0:30 |
|                | Do the thing     |   0:30 |
|                | Do the thing     |   0:30 |
|                | Do the thing     |   0:30 |
|                | Do the thing     |   0:30 |
|                | Do the thing     |   0:30 |
#+END:

Instead, I use clocktable-by-category (a) which supports merging duplicate headings into one line-item with a duration equal to the sum of the duration of the duplicates:

#+BEGIN: clocktable-by-category :block "2023-W48" ... :merge-duplicate-headlines t
#+CAPTION: Clock summary at [2023-11-28 Tue 09:37], for week 2023-W48.
| Category       | Headline         | Time   |
|----------------+------------------+--------|
|                | ALL *Total time* | *3:30* |
|----------------+------------------+--------|
| Personal TODOs | *Category time*  | *3:30* |
|                | Do the thing     | 3:30   |
#+END:

Bibliography

“Deadlines and Scheduling (The Org Manual).” n.d. Accessed November 28, 2023. https://orgmode.org/manual/Deadlines-and-Scheduling.html.