complete-computing-environment/project_management_in_org_m...

4.9 KiB

Project Management in Org Mode

(provide 'cce/org-projects)

My projcet and task management in Org-mode relies on an implementation of parts of the PARA Method. In short, Projects, Habits mark my Areas, and my Resources and Archive exist within the rest of the wiki, fore- and back-linked to their project tasks. The goal here was to keep tasks in as few files as possible for My Org-mode Agendas to remain scalable as the project grows. By keeping tasks in as few files as possible, I limit the space in which Org Agenda has to search.

As such, I keep a Projects page where I keep a list of projects ordered roughly by their combination of importance and urgency. Each heading there links to a page inside of the Zettelkasten where I collect the thinking work. Each of these first-level headings has metadata applied to them to aide project management. Only tagging and priority are applied to projects. When a Project is completed, it should be moved out of the Projects.org list and moved to the project page it links to.

The tagging is discussed in my Org Tagging Principles.

I use heading priorities as a way to classify how much I am thinking about a given project. This is included below, but the most reliable version of it will be found closest to where it's used.

P Meaning
A Working on this actively or need to address it this week.
B Projects in my forebrain, things I should thought in to this week.
C A thing I want to get to "soon"
D A thing I want to get to "someday"
E Something I'm not sure is worth pursuing or was completed.

I can use this to sort my projects, which I will do once or twice a month. I will go down my project list, re-prioritizing them as I feel is currently appropriate. C-c ^ will let me then sort the headings on the page by priority. It is key to the health of my system that I have at most 5 or 7 projects at most in my A bank, and maybe twice that in B so that I do not spread myself too thin. Projects sort of bubble up and bubble down the stack based on how much I care about it.

This type of project management allows me to intermingle personal, and technical projects, even chores; things I need to get done around the house this week are in the same page as the project progress I am persuing. I am in a privileged position of being able to define my own work schedules right now, and focus my energy acutely and towards my own ends. This will not last forever and it'll be pretty interesting to see how, or if, this system can bump against how I interact with the work of others. It says nothing about how this will work when I have a family, when Computing for Decades this is a matter worth considering. It's probably actually quite portable if I am able to "run the meetings"… I'm afraid to find out, and quite risk averse.

Projects inside of Projects don't carry task state themselves, only the subtasks within; when I am finished with a project, I mark it as Archived and move it out of my Agenda tree, in to the project's page. This allows me to keep an archive of the work that's gone in to a project, and to reference it and develop patterns in my work in the future.

Projects are kept very flat, there are not sub-projects. At some point, I want to set up org-depend to be able to define dependencies between projects, necessarily adding task states to them. It's complexity I want to evaluate when I need to. Right now, I can manage dependency graphs in my head, but I don't know how you'd do this for a family.

I discuss my methodology for working through tasks in projects in Project Work with Org Mode. I discuss my daily productivity work in Daily Productivity in Org Mode.

(with-eval-after-load 'org-agenda
  (setq org-agenda-start-on-weekday 1)
  (add-to-list 'org-agenda-custom-commands
               '("p" "Project Review"
                 ((alltodo "")))))