Natural Project Planning with org-mode

Introducing David Allen's "Natural Planning Model" and how it can be implemented using Emacs org-mode.

Table of Contents

Natural Project Planning and org-mode

This article is about project planning, the David Allen way, using a five step process he calls "The Natural Planning Model". Project planning requires a variety of thinking skills to identify what it is you are trying to achieve, and to ensure that all the right steps have been determined.

David Allen writes in Chapter 3 of "Getting Things Done", the key ingredients of relaxed control are (1) clearly defined outcomes (projects) and the next actions required to move them toward closure, and (2) reminders placed in a trusted system that is reviewed regularly.

The Getting Things Done (GTD) methodology uses the terms Next Action and Project. A next action is something you can do that would complete a task to achieve a desired outcome, for example "Make photocopy of letter". A project is an outcome that requires more than one next action to complete, for example "Organize a conference".

You may think projects are those activities requiring sophisticated project plans, GANTT charts and lengthy project plans. Projects are everywhere in your life: renewing your passport, learning org-mode or redecorating your lounge room.

Projects can be planned "on the back of an envelope" or scrap of paper but having a more structured plan and methodology is useful for clarifying your thinking, identifying what needs to be done and what resources you will need.

The methodology described in this article will help you use org-mode to support your thinking, planning and doing your project.

The Natural Planning Model

Thinking in more effective ways about projects and situations can make things happen sooner, better and more successfully.

When you think about doing something that requires several steps, your mind goes through five steps:

  1. Defining purpose and principles. Purpose is your intention to do something, for example, "Let's go out to dinner". Your principles create the boundaries of your plan, for example, "I want to eat at a quality restaurant with good service and located in a convenient part of town".
  2. Outcome visioning. In the previous step, you identified why you want to do something. In this step you create an image of what you want to achieve or get out of completing the activity. For example, "I want to host an unforgettable dining experience for my overseas visitors".
  3. Brainstorming. This is when you start to think about many aspects of the project. Who, what, when, where, why and how? How much time and money are available? Who needs to be involved? What needs to be done? This thinking process can be quite chaotic and it may not be possible to complete this thinking in one session. What you are trying to do in this step is identifying what needs to happen to take you from your present situation to achieving the desired purpose and outcome.
  4. Organizing. Once you have generated a sufficient number of ideas and details, you need to organise them into some sort of structure or sequence. One way is to organise the project into a hierarchical structure called a "Work Breakdown structure" (WBS). You identify the resources, costs, people and skills needed, as well as determining a rough sequence of events and dependencies.
  5. Identifying Next Actions. Now that you have completed the previous four steps, decide if you are committed to go ahead with the project. What is the next action that you need to take to move closer to completion?

Step 1. Purpose

Create an org-mode file for your project. I tag my projects with the PROJECT tag so I can create a list of my active projects. The heading should be a brief description of the project, in this case, "Organise dinner party for 6 people".

 #+STARTUP: overview
 #+STARTUP: hidestars

 * Organise dinner party for 6 people       :PROJECT:

Step 2. Envisioning A Successful outcome

Ask why the project is being done in the first place. Think about what completing the project would be like. What would the finished project look like?

It never hurts to ask why you are doing a project. To know and to be clear about the purpose of a project gives clarity of vision and a strong focus for your thinking.

Explore the reasons for wanting to embark on the project by asking "Why?". Give yourself a quota of 6 responses to the question. Add the following six lines to your org-file:

 ** Why?

Under each heading, answer the question for your project purpose.

 * Organise a dinner party for 6 people       :PROJECT:
 ** Why?
 - Catch up with some friends we haven't seen for a while
 - I enjoy cooking for others
 - I could get one couple to get to know another couple
 - I get an opportunity to share some of my good wines
 - I would like to organise such a dinner every two months
 - Entertaining at home is cheaper than going out

Keep adding lines to clarify your thinking.

David Allen lists many benefits of asking "Why?":

Another way of framing the "why" question is to ask yourself "What will this project look like when it is done?". How would this completed project feel, sound, smell, taste and look like. Use all your senses. Draw a picture of the completed project or some visual representation of completion.

I like to add a subheading ("Outcome") to my project to help me think about the successful completion of this project. For example:

 ** Outcome
 Host an elegant dinner party of home cooking and fine wine to be
 shared with two other couples. The evening will have great 
 conversation, music and laughter. Above all, the evening will be
 fun and enjoyable.

An image, photo, drawing or Mind Map of your successfully completed project can be included in the file using the file directive to link to an image.

Here is an example of one of my projects that is nearly completed.

 * Arrange Mozart String Quartet in Reason        :PROJECT:
 ** Outcome
 Produce an exciting and interesting interpretation of Mozart's first
 string quartet using software synthesisers.  Share this music with
 friends interested in music.

The Power of Focus

Focus is an important element of success. Many strategies for achieving goals use the technique of visualising success and regularly focusing on this image.

What we focus on affects what we perceive in the world and how we perform. For example, if I regularly focus on an image of myself weighing 10 kilograms less than my present weight, I will create ideas and thought patterns that help me realise this outcome.

Focus also helps us get started with an activity. If you don't know how to do something, but focus on an image of doing it you will be more comfortable and motivated to get started. For example, I have never done kayaking, but if I imagine myself paddling a kayak down a river, I will be more engaged with a project of "Learn to kayak".

Clarifying outcomes

The three basic steps for developing a vision are:

  1. View the project from beyond the completion date. A useful exercise is to write a future newspaper article reporting on the success of your project. Describe what happened, and what you achieved.
  2. Envision Wild Success.
  3. Write down the features, aspects and qualities you want to have in your successful project.

Step 3. Brainstorming.

Brainstorming is a term for a group technique for idea generation. It has a few rules:

Brainstorming is now more commonly used to describe any method for generating ideas. In this stage of project planning, you generate ideas to help you achieve your desired outcome based on where you are right now.

Once you have a clear image of what you want to achieve, your brain starts filling in the gaps with ideas, usually in a random and spasmodic manner. The challenge is capturing these ideas so they don't get lost.

Mind Maps are a popular way of recording and generating ideas. There are many programs for Mind Mapping and of course you can draw them by hand. Text based outliners can also be used.

org-mode for brainstorming - idea generation

Org-mode can be used as a brainstorming tool. Start a new headline called Brainstorming then enter a new sub heading to capture your first idea.

Use the following short cut for adding a sub-heading. After you have typed the heading line of ** Brainstorming Ideas, enter M-Return. You now have a new heading at the same level. Type M right arrow to indent the heading.

 ** Brainstorming Ideas

You are now ready to start capturing ideas. Type in an idea, hit M Return, enter another idea, hit M Return and so on. How many ideas should you record?

Setting quotas to generate ideas

Use a quota system to get as many ideas as possible. You can set a time quota for generating ideas. Set a timer for five minutes and enter as many ideas as possible.

Alternatively, use a quota for a certain number of ideas. Start with a goal to capture 20 (or a larger number) ideas. Create twenty sub-headings and fill them in. This method works because our minds desire completion and we are inclined to answer unanswered questions.

 ** Brainstorming Ideas
 *** Quota of 10 ideas
 **** Indian food
 **** Boutique beer
 **** Ask Susan and Bill
 ****              <--- six more ideas to go!

Give yourself permission to capture and express any idea, and then later on decide where and how it fits in and what to do with it.

Idea prompting

Checklists are useful tools for generating ideas. A useful checklist is the six question list: Who, What, When, Where, Why and How? Add these headings to use for idea-prompting.

 ** Who?
 ** What?
 ** When?
 ** Where?
 ** Why?
 ** How?

Thinking about the Dinner Party project could generate these ideas:

 ** Who
 *** Bill and Susie
 *** Catherine and Sam
 *** Jacqui and Daniel
 ** What
 *** Barbecue
 *** Indian 
 **** Chinese
 ** When
 *** Saturday nights
 ** Where
 *** Home
 *** Restaurants
 ** Why
 *** Make new friends
 *** Show off my cooking skills
 **** New recipes? 
 ** How
 *** Charles does the cooking
 *** Pay William to be the drinks waiter!

Step 4. Organising the ideas

Once you have generated a set of ideas, take a break then review the ideas again. You may think of new ideas so add them now. Perhaps you want to expand an idea, so add a sub-heading for these further ideas.

Now you will want to organise your ideas into a structure. You will probably see some sort of natural organization emerging. Create this organisation as a new set of headings away from the brainstorming ideas. Our dinner party project may look like this:

 * Organise a dinner party for 6 people       :PROJECT:
 ** Outcome
 Host an elegant dinner party of home cooking and fine wine to be
 shared with two other couples. The evening will have great 
 conversation, music and laughter. Above all, the evening will be
 fun and enjoyable.
 ** Plan
 *** Date
 *** Guests
 *** Menu
 **** Food
 **** Drinks
 *** Entertainment

Review the ideas in turn and add to the plan, if appropriate. You should now have a reasonable plan to achieve your desired outcome. Remember that this plan doesn't have to be final. You will review it regularly, at least every week during your weekly review.

Step 5. Next Actions

The final stage of planning is making decisions about what you can do next to make the project happen. Once you have decided that this project is a reality and you want to do it, decide what specifically you can do next.

Decide on the next actions to get the project happening, as well as deciding what needs to be planned further. This may sound like an overkill for my example of a dinner party, but successful project management requires regular review of tasks, actions and project objectives.

Activating TODO tasks

The best way to decide on Next Actions is to make TODO headings. I do my planning on a weekly basis, so I will make TODO items for the things I want to do in the next week. I use tags for my GTD contexts so I add the PHONE tag. This will add these two phone call tasks to my agenda.

 ** Plan
 *** Date
 **** Saturday 16th February
 No commitments that weekend
 **** Friday 14th March
 We could celebrate wife's birthday as well!
 *** Guests
 **** Bill and Hillary
 ***** TODO Ring Bill to check availability        :PHONE:
 **** Charles and Camilla
 ***** TODO Ring Camilla to check availability     :PHONE:
 *** Menu
 **** Food
 **** Drinks
 *** Entertainment

Adding your project file to the agenda file list

Large projects are best organised in a separate org-mode file, so you will need to add this file to the Agenda file list. This can be done with the C-c [ command while you are editing the file.

Many of my projects are quite small, so I keep them in my main file. This allows fast review during my weekly review session.

Setting a deadline and milestones

Traditional project planning assigns a target date for completion as well as defining target dates for various project milestones. This can be done in org-mode by using the DEADLINE date feature. Deadline dates are useful for personal project planning as you will be reminded of these target dates in your agenda view. When you have several projects running concurrently, all the deadlines can be seen together. This is useful for estimating workload and if the deadlines are reasonable.

For example, I could create a project to learn about the features of org-mode that I don't understand yet. I decide that each topic should be studied in one week and add deadlines.

 * Study org-mode features                           :PROJECT:
 ** Outcome
 Become highly proficient in all aspects of org-mode in order to
 maximise my personal productivity with emacs.
 *** Properties and Columns 
     DEADLINE: <2008-01-13 Sun>
 *** Understand tag searches
     DEADLINE: <2008-01-20 Sun>
 *** Clocking work time
     DEADLINE: <2008-01-27 Sun>
 *** Spreadsheet
     DEADLINE: <2008-02-03 Sun>
 *** LaTeX exort (p83 - 85)
     DEADLINE: <2008-02-10 Sun>
 *** Publishing (Chapter 13)
     DEADLINE: <2008-02-17 Sun>

It appears that this work can be achieved by the end of February, so I add a project deadline under the main heading. I add -3m to the date so the deadline will always show in the agenda view.

 * Study org-mode features                           :PROJECT:
   DEADLINE: <2008-02-29 Fri -3m>

Displaying the agenda will show the milestones to remind you of the project.

 Friday    11 January 2008
 Saturday  12 January 2008
 Sunday    13 January 2008
   Planner:    Deadline:   Properties and Columns 
 Monday    14 January 2008
 Tuesday   15 January 2008
 Wednesday 16 January 2008
 Thursday  17 January 2008
 Friday    18 January 2008
 Saturday  19 January 2008
 Sunday    20 January 2008
   Planner:    Deadline:   Understand tag searches

The PROJECT tag and your list of projects.

You will usually have many projects running concurrently. These prohects could be large and small. I recommend using the PROJECT tag to identify your active projects as well as creating a custom Agenda command to display your project list.

 (setq org-agenda-custom-commands
      '(("P" "Project List"
          ( (tags "PROJECT")
        ("O" "Office"
          ( (agenda)
            (tags-todo "OFFICE")
        ("W" "Weekly Plan"
          ( (agenda)
            (todo "TODO")
            (tags "PROJECT")
        ("H" "Home NA Lists"
          ( (agenda)
            (tags-todo "HOME")
            (tags-todo "COMPUTER")

During your weekly review, display the list of projects with the command C-c a P to review each project in turn.

 Headlines with TAGS match: PROJECT
   Office:     Produce E-learning module on databases      :PROJECT:
   Misc:       Plan New Zealand Holiday                    :PROJECT:
   Misc:       Arrange Mozart String Quartet in Reason     :PROJECT:
   Misc:       Learn Axon 2008                             :PROJECT:
   byy:        Learn Adobe Captivate                       :PROJECT:
   byy:        Complete GTD implementation                 :PROJECT:
   byy:        Learn cartooning from Rolf Harris book      :PROJECT:
   byy:        Learn to use GIMP Image Editor              :PROJECT:
   japan:      Develop my Japanese language skills         :PROJECT

How much planning do you need?

How much planning do you really need for your projects, especially the personal projects? David Allen's answer is to create as much detail as you need to get the project off your mind.

If something is on your mind, it is usually as a result of you not being clear about the outcome or what you need to do next. For example, I needed to renew my daughter's passport. This was a mini-project as I had to get a form from the passport, get new passport photos taken, ask a neighbour to complete part of the form, get the form completed and arrange an interview to lodge the form!

Obtaining the form from the post office was the first step, so that became a TODO. I later created a TODO Read Passport Application form task to ensure I had all the supporting documents for the application. There's nothing wrong with creating a lot of detail for a project such as "Renew passport" as there are many things that need to be done such as finding the old passport and birth certificate.

Most projects don't need much more than a clear statement of the outcome and the next action you need to take. This is all you may need to do to get the project off your mind so you stop thinking and worrying about it.

Other projects may require some brainstorming to explore ideas. Typical projects in this category are planning a holiday or a big celebration such as a wedding or party.

The goal of Getting Things Done is to clarify your thinking on what you need to get done, clarify the desired outcome, identify the next actions to achieve these outcomes, then manage these reminders in a trusted system. You review your system daily to make intuitive choices on what to do next, as well as reviewing weekly to keep everything up to date.

Your org-mode file is your trusted system. And don't spend all your time planning the project – eventually the items have to be done, so you can celebrate the successful completion of your project.


Author: Charles Cave Send Email

Date: 6th Jan 2008 11:10 AM - Revised 27/July 2008