Skip to content

Latest commit

 

History

History
419 lines (362 loc) · 8.79 KB

gtd.md

File metadata and controls

419 lines (362 loc) · 8.79 KB

GTD Flow

Simple Flow

@startuml
start
:Task / Thought / Memo]
-[#black]-> Collect;
#white:Inbox|
-[#black]-> Do;
while (Empty?) is (No)
    #white:Categorize;
    #white:Prioritize;
    if (**Have to do?**) then (No)
        #lightGray:Trash|
    else (Yes)
        if (**Finish in 2 min?**) then (Yes)
            #white:Done|
        else (No)
            if (Allow to defer?) then (Yes)
                #white:Inbox|
            else (No)
                if (Allow to delegate?) then (Yes)
                    #white:Follow-up|
                else (No)
                    if (  SMART enough?) then (Yes)
                        #white:Split into\nsubtasks;
                        #white:Inbox|
                    else (No)
                        #white:Set due time;
                        if (Fixed-term?) then (Yes)
                            #white:Calendar|
                        else (No)
                            #white:Todo|
                        endif
                        #white:Sort by due time;
                        #white:Sort by priority;
                    endif
                endif
            endif
        endif
    endif
endwhile (Yes)
end
@enduml

Daily Flow

每日流程

Collect

0. Collect tasks and anything else

( anytime )

  • Arriving Events? Due events.
@startuml
start
:Tasks / arriving events / others]
-[#black]-> Collect;
#white:Inbox|
end
@enduml

Filter

1.1. Plan - Filter tasks

( night or morning )

  • Why include Today and Next 7 Days List?

    Check arriving events ( which are not in Task & Todo List ).

  • Checked all? Or too many tasks.

    Too many tasks: Total duration over available time today.

  • Event: Events, future tasks ( without tomorrow ) .

  • Others: Thoughts, questions and something else.

@startuml
start
#white:Inbox / Today / Next 7 Days List|
while (Checked all?) is (No)
    if (Valueless?) then (Yes)
        if (Hesitate?) then (Yes)
            #white:Inbox|
        else (No)
            #lightGray:Trash|
        endif
    else (No)
        if (Task?) then (Yes)
            #white:Task|
        else (No)
            if (Event?) then (Yes)
                #white:Event|
            else (No)
                #white:Others|
            endif
        endif
    endif
endwhile (Yes)
end
@enduml

Prepare

1.2. Plan - Prepare tasks

( night or morning )

  • Categorize:

    Work / Learn / Think / Read / Zheteng / Fun / Rest / Sport / Have-to / Waste / …

  • Priority

    • High: Important & urgent - 1st Thing 1st
    • Medium: Important & not urgent - Important
    • Low: Not important & urgent - Concerned
    • No: Not important & not urgent - Trash
  • Deferrable? Not important.

  • Splittable? Not specific or duration > 2h.

    Ideal duration <= 2 hours

  • Split: Split into subtasks

@startuml
start
#white:Task|
while (Checked all?) is (No)
    #white:Categorize;
    #white:Prioritize;
    if (Valueless?) then (Yes)
        if (Hesitate?) then (Yes)
            #white:Inbox|
        else (No)
            #lightGray:Trash|
        endif
    else (No)
        #white:Set due date;
        if (Deferrable?) then (Yes)
            #white:Defer<
            if (Tomorrow?) then (Yes)
                #white:Task|
            else (No)
                #white:Event|
            endif
        else (No)
            if (Splittable?) then (Yes)
                #white:Split;
                #white:Task|
            else (No)
                #white:Todo|
                'note right: SMART 法则
            endif
        endif
    endif
endwhile (Yes)
end
@enduml

Select

2.1. Do - Select 1st task

( morning, noon, afternoon, evening )

  • Checked all? Or too many todos.

    Too many todos: Total duration over available time today.

  • Complete soon? Estimated duration <= 5min.

  • Delegable? Able to assign to another person.

@startuml
start
#white:Todo|
#white:Untag WIP<
while (Found 1st thing?) is (No)
    if (Complete soon?) then (Yes)
        #white:Soon<
        if (Completed soon?) then (Yes)
            #white:Completed|
        else (No)
            #white:Defer<
            if (Tomorrow?) then (Yes)
                #white:Task|
            else (No)
                #white:Event|
            endif
            '果断放弃, 不要再浪费时间进去
        endif
    else (No)
        if (Delegable?) then (Yes)
            #white:Delegate;
            #white:Follow-up<
            if (Tomorrow?) then (Yes)
                #white:Task|
            else (no)
                #white:Event|
            endif
        else (No)
            #white:Sort by due date;
            #white:Sort by priority;
        endif
    endif
endwhile (Yes)
#white:Work In Process<
end
@enduml

Doing

2.2. Do - Doing 1st task

( morning, noon, afternoon, evening )

  • Block? Encounter a problem.
  • Timeout? Over expected duration or till end of day.
  • Finish soon? Extra duration < 1h or till end of day.
@startuml
start
#white:Work In Process<
while (Completed?) is (No)
    if (Block?) then (Yes)
        #white:Block<
        #white:Task|
        #white:Select \n1st task;
        end
    else (No)
        if (Timeout?) then (Yes)
            if (Deadline?) then (Yes)
                #white:Continue;
            else (No)
                #white:Defer<
                if (Tomorrow?) then (Yes)
                    #white:Task|
                else (no)
                    #white:Event|
                endif
                #white:Select \n1st task;
                end
            endif
        else (No)
            if (Valueless?) then (Yes)
                if (Hesitate?) then (Yes)
                    #white:Defer<
                    if (Tomorrow?) then (Yes)
                        #white:Task|
                    else (no)
                        #white:Event|
                    endif
                else (No)
                    #lightGray:Trash|
                endif
            else (No)
                #orange:What's the\n problem?;
            endif
            #white:Select \n1st task;
            end
        endif
    endif
    '#lightGray:Untag WIP<
endwhile (Yes)
#white:Completed|
end
@enduml

Reflect

3. Check - Reflect done tasks

( night or morning )

  • Checked all? Or till end of day.
  • Redo? Need to redo. ( Poor quality? )
  • Reflect?
    • A. Add to Inbox, Thought & Question
    • B. Update its description or insert a new comment?
    • C. Write in reflect.md of IceHe's Library
@startuml
start
#white:Completed (and Trash?)|
-[#black]-> Clean up;
while (Checked all?) is (No)
    fork
        if (Redo?) then (Yes)
            #white:Inbox|
            '#white:Redo;
            '#lightGray:Task|
        else (No)
        endif
    fork again
        if (Valueless?) then (Yes)
        else (No)
        endif
        if (Time-wasted?) then (Yes)
        else (No)
        endif
        :New tasks \n/ events / others?]
    fork again
        if (Archive?) then (Yes)
            #white:Skip;
        else (No)
            if (Trash?) then (Yes)
                #yellow:Delete;
            else (No)
                #lightGray:Trash|
            endif
        endif
    end fork
endwhile (Yes)
end
@enduml

Improve

4. Act / Adjust - Improve daily flow

References

Original

GTD

Rewritten

@startuml
start
:任务 / 感想 / 备忘]
-[#black]-> 立即记录;
#paleGreen:收集箱|
-[#black]-> 逐项思考;
if (能否在 2 min 内解决 ?) then (能)
    #white:立即去做!;
    stop
else (否)
    if (不做会不会死 ?) then (不会)
        #white:果断舍弃;
        end
    else (会)
        if (能否拖延或推迟) then (能)
            #paleGreen:收集箱|
            stop
        else (否)
            if (能否委托别人做 ?) then (能)
                #lightGray:跟进清单|
                #white:委托别人;
                end
            else (否)
                :一定要做]
                if (固定时间的事件 ?) then (是)
                    #turquoise:日历|
                    stop
                else (否)
                    #plum:任务清单|
                    stop
                endif
            endif
        endif
    endif
endif
@enduml
@startuml
start
#plum:任务清单|
if (问题还是行动 ?) then (问题)
    #aqua:思考清单|
    :碎片时间 : \n通勤 / 散步 / 休憩;
    stop
else (行动)
    #gold:待办清单|
    :选择;
    #white:最重要的一件事\n全力以赴去做 !;
    note right : 每天早上
    fork
        :遭遇的问题]
        -[#black]-> 记入;
        #aqua:思考清单|
    fork again
        :重要信息]
        -[#black]-> 记入;
        #honeyDew:工作日志|
    end fork
    :反省 / 改进 / 计划;
    stop
endif
@enduml