I am a big fan of Kanban. I wrote Kanban-Dashboards with a decent metric analysis in Filemaker Pro and in Excel. However, some features I missed there and since my workflow is moving towards Emacs I would like to track my progress there. The Keyword here is org-mode, obviously. I already can generate a decent cumulative flow diagram (Kudos to Sacha Chua!). One thing that keeps puzzling me though is how/whether I can limit the number of tasks for a given TODO-status.
Lets say, for example, that you have the Tasks TODO - DOING - DONE and would like to impose a WIP-limit on the middle-status. Is there a way so that I cannot change a task's status to "DOING" when already two tasks are on "DOING"?
Another possibility would be to show the exceeding tasks in another color - is this possible in an Agenda?
(goto-char (point-max))
, then do the re-search-backward thing(re-search-backward "\\* doing" nil t)
, and find out whether there is another task that meets the search criteria (plus any additional criteria, e.g., more than two, etc.) -- if it matches, then either do or don't do something. We do the goto to the bottom thing, instead of the goto to the top thing, because searching backwards leaves point at the beginning of the todo -- i.e., it's more efficient and we don't need to doorg-back-to-heading
.org-blocker-hook
that is used to check if a task should be blocked from changing state, so perhaps you could add a custom hook that counts the number of tasks in the next state. (See e.g.org-block-todo-from-children-or-siblings-or-parent
.)org-scan-tags
with thetodo-only
argument and a custom action that counts TODOs in a given state. Then use that in anorg-blocker-hook
to compare the current count with the limit.