个人管理管理时间管理自己

GTD实践流程-实现

2020-02-07  本文已影响0人  QuietHeart

起点——GTD框架

实现-GTD流程

说明

Orgmode Agenda配置

使用Agenda做为过滤条件,标题TODO标记做为状态,使用属性 CATEGORY 标记六个高度视野中的类型(原子/非原子)。

其中,原子属性行动用四象限方式标记成4种: Q1, Q2, Q3, Q4 ,非原子属性即对应六个高度视野项目以上层次。

自定义的Agenda视图如下:

;;custom view
(defun my-custom-view
    (searchstr)
  ;;(org-tags-view nil "PRIORITY=\"B\"")
  (org-tags-view nil searchstr))

(setq org-agenda-custom-commands nil)

;;Setup Gtd views
(setq gtd-views '("G" . ">GTD process(p-process, o-organize, r-review, a-active, x-others)"))
(setq gtd-views-process '("Gp" "GTD process view." (my-custom-view "")))
(setq gtd-views-organize '("Go" "GTD organize view." (my-custom-view "")))
(setq gtd-views-review '("Gr" "GTD review view." (my-custom-view "")))
(setq gtd-views-action '("Ga" "GTD active view." (my-custom-view "")))
(setq gtd-views-others '("Gx" "GTD others." (my-custom-view "")))

(add-to-list 'org-agenda-custom-commands gtd-views t)
(add-to-list 'org-agenda-custom-commands gtd-views-process t)
(add-to-list 'org-agenda-custom-commands gtd-views-organize t)
(add-to-list 'org-agenda-custom-commands gtd-views-review t)
(add-to-list 'org-agenda-custom-commands gtd-views-active t)
(add-to-list 'org-agenda-custom-commands gtd-views-others t)

MLO配置思路

使用Flag做为状态,使用视图做为过滤条件,使用 TextTag 属性标记六个高度视野中的类型(清单/上层视野)。

其中,确定的原子属性不标记 TextTag, 可能将被分解或者包含子条目的做为清单(任务),上层视野对应六个高度项目以上层次。

自定义与流程相关的视图,在概览视图部分,包括:

处理阶段

主要分辨条目。

符合如下流程:

注意:

Orgmode配置

(setq gtd-views-process '("Gp" "GTD处理阶段:两分钟任务(执行),分配 *状态*、*类别*、*优先级*,其它。 "
                                 (;;条件:INBOX内容
                                  (todo "INBOX"
                                        ;;((org-agenda-sorting-strategy '(priority-down scheduled-up)))
                                        )
                                  ;;条件:不符合规则内容(随GTD规则更新,有待添加)

                                  ;;Global options
                                  (;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                   ;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                   ))))

MLO配置

目前待处理的收集条目均集中在默认的 工作蓝 中。

日后视情况可能会为不符规则的内容添加相关过滤视图。

组织整理

主要让体系合理。

应符合如下流程:

注意:

Orgmode配置

(setq gtd-views-organize '("Go" "GTD组织整理:确认行动的 *回顾周期*、*情景/提醒*、*项目/范围*、合理的 *优先级*,其它."
                                  (;;条件:所有没有时间信息、具有状态的条目-将加入时间信息
                                   (tags-todo "SCHEDULED=\"\"/!-INBOX"
                                              ((org-agenda-sorting-strategy
                                                '(todo-state-up priority-down))))

                                   ;;条件:所有孤立文件中、具有状态的条目-将移至非孤立文件中
                                   (tags-todo "FILE={[1-4]_.*Important_.*_Urgent.org}|FILE={0_inbox.org}/!-INBOX"
                                              ((org-agenda-files
                                                (list
                                                 (concat org-directory "gtd/0_inbox.org")
                                                 (concat org-directory "gtd/1_Important_and_Urgent.org")
                                                 (concat org-directory "gtd/2_Important_but_not_Urgent.org")
                                                 (concat org-directory "gtd/3_Not_Important_but_Urgent.org")
                                                 (concat org-directory "gtd/4_Not_Important_and_not_Urgent.org")))
                                               (org-agenda-sorting-strategy
                                                '(todo-state-up priority-down))))

                                   ;;条件:所有具有非孤立、具有状态的、类型不合适的行动-将被调整成原子类型
                                   (tags-todo "CATEGORY<>{Q[1-4]}/!+AGENDA|+NEXT|+LATER|+{WAIT.*}|+{MAYBE.*}|+REFERENCE|+CANCEL|+DONE"
                                              ((org-agenda-files
                                                (list
                                                 (concat org-directory "gtd/_life.org")
                                                 (concat org-directory "gtd/_study.org")
                                                 (concat org-directory "gtd/_work.org")
                                                 (concat org-directory "gtd/_others.org")))
                                               (org-agenda-sorting-strategy
                                                '(todo-state-up priority-down))))

                                   ;;条件:所有具有非孤立、具有状态的、类型不合适的非原子条目-将被调整成非原子类型
                                   (tags-todo "CATEGORY={Q[1-4]}/!+PROJECT|+TODO|+STOP|+FINISHED"
                                              ((org-agenda-sorting-strategy
                                                '(todo-state-up priority-down))))

                                   ;;条件:所有不在2级以上的行动、项目等待办标题-将被移至合适的标题
                                   (tags-todo "LEVEL<=2"
                                              (;;(org-use-property-inheritance nil)
                                               (org-agenda-files
                                                (list
                                                 (concat org-directory "gtd/_life.org")
                                                 (concat org-directory "gtd/_study.org")
                                                 (concat org-directory "gtd/_work.org")
                                                 (concat org-directory "gtd/_others.org")))
                                               (org-agenda-sorting-strategy
                                                '(todo-state-up priority-down))))

                                   ;;Global options
                                   (;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                    ;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                    ))))

这里,

几点注意:

缺陷:有待思考是否有所疏忽,暂未详细考虑非原子项(高层视野的组织策略)。

MLO配置

集中在 组织整理 视图中,基本过滤出无回顾、孤立、待调整条目。

过滤条件为:

IsProject="假“
和 IsFolder="假"
和 ParentName 不是 "<Inbox>"
和 {
   NextReview=”不存在“
   和 StartDataTime="不存在”
   和 截止=“不存在”
 }
和 {
   Flag 不等于 ”(无)“
   或 TextTag 是 "清单“
 }
和 {
     或 {
       Flag="非日程”
       和 {
            StartDateTime=“存在”
            或 截止=“存在”
         }
     }

     或 {
       Flag="日程”
       和 NextReview="存在"
     }
   }
和 Complete=“假”

以标旗(即状态)分组,按照紧急程度、重要程度排序。

这里,

注意,这里额外说一下清单,其实这里的清单,更象是 Orgmode 中状态为 TODO 的任务。

缺陷:清单概念模糊。

即两种情况:清单项如果无状态,则清单应有状态;没有状态的清单则其清单项会有状态。只要回顾 “清单”、或者具有 "Flag" 则所有清单、清单项皆能兼顾到了所有,并且保证处理阶段对清单项的处理简化(可能仅转移至清单)。

一般不会产生没有状态的清单,因为在处理阶段,一般都会分配状态,无状态的清单,一般是不允许的。

回顾阶段

主要防止遗忘。

回顾这个过程比较特殊,因为它包含了两个部分的内容:活动列表、和非活动列表的回顾。至于活动列表部分的内容,参考 执行阶段 (参见第2.5节) ,里不再重复。

符合如下流程:

注意:

Orgmode配置(待回顾条目)

(setq gtd-views-review '("Gr" "GTD回顾:确认日计划、更新活动列表、以及非活动列表(低优先级)"
                                (;;条件:所有非日程,今天及之前的待回顾行动
                                 (agenda ""
                                         ((org-agenda-span 1)
                                          (org-agenda-skip-function
                                           '(org-agenda-skip-entry-if 'nottodo
                                                                      '("NEXT" "WAIT/FORWARD" "LATER" "MAYBE/FUTURE" "CANCEL")))
                                          (org-agenda-sorting-strategy
                                           '(habit-down time-up todo-state-up priority-down))))

                                 ;;条件:所有今天及之前的待回顾非原子条目
                                 (agenda ""
                                         ((org-agenda-span 1)
                                          (org-agenda-skip-function
                                           '(org-agenda-skip-entry-if 'nottodo
                                                                      '("PROJECT" "TODO" "STOP")))
                                          (org-agenda-sorting-strategy
                                           '(habit-down time-up todo-state-up priority-down))))

                                 ;;条件:待回顾的归档条目(一般是完成的,归档以便提升orgmode的运行效率)
                                 (agenda ""
                                         ((org-agenda-files
                                           (list
                                            (concat org-directory "gtd/_life.org")
                                            (concat org-directory "gtd/_study.org")
                                            (concat org-directory "gtd/_work.org")
                                            (concat org-directory "gtd/_others.org")))

                                          (org-agenda-skip-function
                                           '(org-agenda-skip-entry-if 'nottodo
                                                                      '("REFERENCE" "DONE" "FINISHED")))))

                                 ;;Global options
                                 (;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                  ;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                  ))))

注:回顾阶段跨越了:回顾(回顾非活动列表)、执行(活动列表)两个阶段的过滤视图。活动列表其实是总回顾输入的子集(当日高优先级行动+日程)。

MLO配置

集中在 回顾 视图中,基本过滤出待回顾的非日程条目。

NextReview="不晚于Today"
和 StartDateTime="不存在“
和 截止=”不存在“
和 Starred="假“
和 {
     {
       Urgency<="150"
     }
    
     或{
       Urgency>"150"
       和 Flag="稍后"
       和 Flag="将来也许"
       和 Flag="取消"
     }
 }
和 Complete="假”

根据文件夹分组,按照下次回顾日期排序,会显示分级信息,包含所有匹配项目的子级

这里,

缺点:没有仔细考虑原子层次以上的回顾。

执行阶段

主要实现任务。

对于执行阶段,其中的2分钟任务在处理阶段进行了,具体参考 处理阶段 (参见第2.2节) 。

符合如下流程:

注意:

Orgmode配置

(setq gtd-views-action '("Ga" "GTD活动列表:待安排任务(回顾前期)、待执行任务(执行)、待更新任务(回顾后期)"
                                (;;条件:所有两日内日程
                                 (agenda ""
                                         ((org-agenda-span 2)
                                          (org-agenda-skip-function
                                           '(org-agenda-skip-entry-if 'nottodo
                                                                      '("AGENDA")))
                                          ;;(org-agenda-sorting-strategy '(priority-down))
                                          (org-agenda-log-mode-items '(closed clock state))
                                          ))

                                 ;;条件:所有今日及以前的高优先级非日程行动、无回顾周期的高优先级非日程行动
                                 (tags-todo "CATEGORY={Q[1-4]}&PRIORITY<\"C\"-SCHEDULED>\"<today>\"/!+NEXT|+{WAIT.*}|+REFERENCE"
                                            ((org-agenda-sorting-strategy
                                              '(todo-state-up priority-down))))
                                 ;;Global options
                                 (;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                  ;;(org-agenda-regexp-filter-preset '("-PROJECT" "-TODO"))
                                  ))))

注意:执行阶段跨越了处理(2分钟原则)、执行(活动列表) 两个阶段的视图。

MLO配置

集中在 活动列表 视图中,基本过滤出待办原子条目。

过滤条件为:

IsProject="假“
和{
    Starred="真”
    或 NextAlertTime="早于Now+0.05"
    或 {
         Flag="日程“
         和 {
             StartDateTime="早于Today+1"
             或 截止=”早于Today+1“
            }
      }
    或 {
         Flag="下一步"
         和 Ugency>="150"
         和 {
              NextReview<"Today+1"
              或 NextReview="不存在"
            }
      }
    或 {
         Flag="等待委派"
         和 Ugency>="150"
         和 {
              NextReview<"Today+1"
              或 NextReview="不存在"
            }
      }
    或 {
         Flag="参考"
         和 Importance>="150"
         和 {
              NextReview<"Today+1"
              或 NextReview="不存在"
            }
      }
  }
和 Complete=”假“

排序依次根据标星、开始日期、紧急程度、重要程度,不分级

这里,过滤的内容分为三组:

注:
高优先级行动如果没有回顾属性则一定都显示(保证可以一直关注的高优先级),如果有回顾属性则只显示今天以前的(谨慎设置高优先级的回顾属性因为可能导致没有及时回顾到)。

其它

进一步的完善,参见:GTD实践相关

Orgmode操作技巧

如何不用更改状态和优先级标记今日处理过的高优先级

如果优先级今日处理之后,日后还要处理,这样优先级和状态就不需要更改,可是在活动列表视图上,如何将其标记从活动列表中去掉呢?

这里的技巧是:

这样,到了指定日因为其Schedule不再是今日以后,所以自动会显示;而处理之后因为变成了将来,会消失,也减少了对今日任务的干扰。

这种非法的高优先级条目有Schedule内容,也会在活动后回顾处理的时候,将其处理成合法的:因为明天还要处理,所以优先级保留,Schedule会被处理掉。

日计划的时候,也会有这样的一种情况:今天回顾的条目,安排为高优先级,但是却忘记了去掉其SCHEDULED,导致活动列表不显示了,但是这样的事情,是自己的失误,无关软件,自己的失误应当承担一定的风险,反正倒了明天也会再次出现的。

周期回顾不用设置成重复的任务,只需要每次都修改SCHEDULE为下次即可

周期性的回顾,不用设置成重复的任务,只需每次回顾后,设置好下次回顾的时间就行,这样也免得设置状态了
(实在不行可以在标题上标记期望的回顾间隔,防止思考过于片面?其实在 LOGBOOK 中已经有了相关的回顾日志,可以了解细节)

在更改SCHEDULE的时候,可加入LOG信息,修改SCHEDULE的时候,增加日志信息的配置:

(setq org-log-reschedule 'time)
上一篇下一篇

猜你喜欢

热点阅读