Org Mode is one the the most versatile formats that’s available for using as a PIM. For work, I have the following system in place which helps me organize my workflow efficiently for me.
I split different parts of work into its own headings. These can also be split into their own files if you see that to be a better fit. I currently have some of them as headings and some as files.
- Projects - this heading contains different projects that I contribute to or
different projects I’m responsible for. Each project name goes as a second
level heading and bullet points recording the date as
<2022-01-03 Mon>
format and a text description of what the requirements are and the feature(s) needed or what changes is required currently at the feature level. - Scrum calls - this heading contains daily updates during our scrum calls. This is useful to collate according to each project and note down what was done the previous day and what is supposed to be done today. This helps to avoid missing out on tasks or work to be completed on priority.
- Daily Work - this is currently a separate org file which follows a
file+datetree
org capture template. I capture whatever I have done during that day, whatever challenges I have faced, what progress I have made. This is helpful in 2 ways, one - to help me understand how my day-to-day work is evolving and whether I’m progressing as desired in my career/role, two - this (in combination with the Projects) helps to showcase on your one-on-ones what I have achieved at work over a period of time and make a case for myself to help with my appraisals and promos. I have recommended my interns and juniors to capture their work on plain text and put it on a personal repo at work and have found great success with this approach. They have been able to showcase their work & progress and work on their goals.(with-eval-after-load 'org-capture (add-to-list 'org-capture-templates '("w" "work journal" item (file+datetree "/path/to/file.org") "%?" :time-prompt t)))
- Extra - this heading is just work I take up in extra apart from the projects that I do. Mostly it’d be adhoc requests or code reviews or pair programming sessions, etc.
- Meeting MOMs - this includes meetings that are not scrum calls. Usually these would be recurring meetings or one of meetings. I note down whatever is required under the relevant Projects section and also note down the MOMs for everyones benefit. I write down MOMs in orgmode and share it on Teams chat. In my previous org I used to do this via email. Ideally I should keep a record of all MOMs but I just use emacs’s scratch buffer to deal with this since it’s not a priority for me to keep track of things right now.
This is a typical orgmode file that I use based on the above.
* Projects
** Proj One
- DONE <2022-01-03 Mon> Feature X was fixed.
- TODO <2022-01-03 Mon> Feature Y requested. ETA 2 days.
** Proj Two
- DONE <2022-01-03 Mon> Feature A was fixed.
- TODO <2022-01-03 Mon> Feature B requested. ETA 5 days.
* Scrums
** Proj One
*** <2021-12-31 Fri>
- point one
- point two
- point three
*** <2022-01-03 Mon>
- point one
- point two
- point three
** Proj Two
*** <2021-12-31 Fri>
- point one
- point two
- point three
*** <2022-01-03 Mon>
- point one
- point two
- point three
* Daily Work # Currently this is a separate file for me, but the principle is the same
** 2022
*** 2021-01 January
**** 2021-01-03 Monday
- what did I do today
- something else I did today
* Extras
- TODO code reviews
- DONE pair programming / mentoring
* Meeting MOMs
There are many more improvements that I can think of which should be possible to implement in the above workflow namely, keeping track of JIRA tickets, gitlab MRs and comments, more information gathering for MOMs, tagging headings according to projects to filter projects across multiple headings and so on.
If you feel my workflow can be improved in any way, please do reach out via email. I’m looking forward to learn and improve my emacs and orgmode usage.