Using Gantt Charts to Plan Your Blogs
In a previous entry, I said that planning your blog is worthwile, especially if you plan to blog seriously and want to show your expertise in a certain field. If you do not plan, you will eventually find yourself plodding on, babbling about unrelated topics. As I've said, having a road plan, makes it easier to be motivated to write your blog entries. Instead of struggling trying to come up with random topics to write about just before your self-imposed posting deadlines, you have already planned out some topics in a moment of lucidity. Because of this organization, you now "simply" :) have to write about each topic, edit, and post them.
One planning technique I discussed in my last post is that of "mindmapping (tm)". (This word is a registered trademark, so henceforth, I'll refer to "roadmaps" or "maps".) Maps allow you to loosely organize the hierarchies of topics and sub-topics that you want to touch upon. With the map, you are not concerned with what you are going to write when. Once you've organized your future topics, the next step is to devise a timeline. For the sake of argument, let's say that you have four main topics and a whole host of sub-topics. A simple example of a map is shown below:
If you didn't catch it in my last post, my maps are drawn using FreeMind, a free OpenSource tool.
I have intentionally used numbered topics in the above map to suggest a sequence for the blog postings, as well for easy reference. After organizing our topics, we can build a timeline for them. For simplicity, let's assume that you do not have to do any research to write each posting. For further simplicity, let's assume that if any topic or sub-topic has "child" topics in the map, we will only post blog entries for the child topics. That means that from the above map, we will have blog entries in the following order: Topic 1.1, 1.2, 2.1, 2.2, 2.3.1, 2.3.2, 2.4, 3.0, 4.1, 4.2, and 4.3. That's a total of 11 blog entries. We will not have entries for Topic 1.0, 2.0, 2.3, or 4.0. (This is simply an example; you may want an entry for every node in the map.)
We now know what topics we will cover and in what order. The next step is to plot out a timeline of our blogging "project". There is a planning technique in Project Management that uses something called a "Gantt Chart". It is surprisingly easy to create a Gantt Chart with the right software. Microsoft Project has been the de rigeur Project Management software for a long time. I used it daily when I was an assistant project manager a few years back. A good OpenSource alternative is GanttProject, which is based on the very cool OpenSource Java IDE Eclipse. GanttProject is only in 2.0 prelease 1, so it has a ways to go before it is as powerful as MS-Project. It does, however, get the job done. One drawback is that the tasks being charted must be multiples of a full day in duration. There are ways to get around this, but they are beyond the scope of this post. [NOTE: You do not need Eclipse to run GanttProject; however, you do need a recent JRE (Java Runtime Engine). See http://java.sun.com to download a copy of the Java SDK for your operating system. The SDK contains the JRE.)
So let's assume that all of our tasks take one or more full days each. We also specify Saturday and Sunday as "weekend" days. (GanttProject also lets you choose a Holiday Calendar; however, there are only 3 right now, all for European countries.)
Plot the main topics of your map in GanttProject. (The software's web site has a great video tutorial on how to use it.) You should end up with something like this:
Right now, there are no subtopics charted, the tasks are one day in duration, and they all start on Aug 18th. In the interest of keeping this blog relatively short, without explanation, I'm jumping ahead to a more detailed Gantt chart that has all of my map's nodes:
Proper "start" dates and task durations have not yet been assigned. The reason for this is that we only want to manually assign start dates and durations to those tasks that are actual tasks. Recall from above that my map's nodes Topic 1.0, , 2.0, 2.3, and 4.0 will not have blog entries. Instead, we want to use these as labels for "sub-projects" in the Gantt chart. While these sub-projects will have durations, timing will be assigned by GanttProject by adding up the tasks and sub-tasks that belong to each sub-project. (This will become clearer shortly.)
To turn certain tasks into sub-tasks of a sub-project, select the tasks to be "demoted" in the left pane in GanttProject. Now click the "indent" arrow button from the tool bar. The selected tasks will become sub-tasks. The first unselected task above the selected tasks will become the parent sub-project's label. (Please see the GanttProject video tutorial for more info.) Repeat this demotion step with other sub-tasks until you have a chart that looks like this:
Notice that the blue task bars for tasks Topic 1.0, 2.0, 2.3, and 4.0 have each been replaced a thick black "bracket" line. This line represents a sub-project type of task.
Now that we have the task hierarchy in place, we can assign durations to each task, as well as start dates. I am not going to assign task dependencies here. (I.e., GanttProject lets you indicate that one task must precede another by connecting them with a line and arrow in the appropriate direction.) In this example, the start and end dates for each task will infer the actual sequence.
Voila! Our finished project plan for our blog. Notice that some task bars are longer than others. I am of course making up the durations, but the assumption here is that some blogs will take more time to write because of research that needs to be done, or collaboration, or what have you.
See the vertical gray bars in the above chart? They represent "weekend" days. I have specified Saturdays and Sundays to be "weekend" days under the "View/Chart Options" menu item in GanttProject. GanttProject automatically skips any configured weekend days. If a task straddles a weekend, it will be grayed out on weekend days. For example, the Topic 2.4 task is 2 days long and straddles the weekend of Aug 27 and 28. A task cannot start on a weekend day. For example, Topic 2.1 starts on Mon Aug 22. [I work 7 days a week; so in my real Gantt charts, I do not specify weekend days.]
From the above image, we can see that the "sub-project" Topic 2.0 takes 8 calendar days and 6 days elapsed time, since it straddles a weekend. You may prefer to break a task down into another level of sub-tasks. For example, the Topic 3.0 task might be broken down into the sub-tasks "research", "write entry", "edit entry", and "post entry". However, if all of these sub-tasks collectively take 1 day or less, it may be best to keep them as a single main task simply because GanttProject cannot currently handle task durations of less than one day. (MS-Project can.)
Gantt Charts are merely one way of plotting a timeline for a large project whose tasks have been catalogued, say in a roadmap. GanttProject is a nice, free software tool to get you started.
(c) Copyright 2005, Raj Kumar Dash, http://blogspinner.blogspot.com
One planning technique I discussed in my last post is that of "mindmapping (tm)". (This word is a registered trademark, so henceforth, I'll refer to "roadmaps" or "maps".) Maps allow you to loosely organize the hierarchies of topics and sub-topics that you want to touch upon. With the map, you are not concerned with what you are going to write when. Once you've organized your future topics, the next step is to devise a timeline. For the sake of argument, let's say that you have four main topics and a whole host of sub-topics. A simple example of a map is shown below:
If you didn't catch it in my last post, my maps are drawn using FreeMind, a free OpenSource tool.
I have intentionally used numbered topics in the above map to suggest a sequence for the blog postings, as well for easy reference. After organizing our topics, we can build a timeline for them. For simplicity, let's assume that you do not have to do any research to write each posting. For further simplicity, let's assume that if any topic or sub-topic has "child" topics in the map, we will only post blog entries for the child topics. That means that from the above map, we will have blog entries in the following order: Topic 1.1, 1.2, 2.1, 2.2, 2.3.1, 2.3.2, 2.4, 3.0, 4.1, 4.2, and 4.3. That's a total of 11 blog entries. We will not have entries for Topic 1.0, 2.0, 2.3, or 4.0. (This is simply an example; you may want an entry for every node in the map.)
We now know what topics we will cover and in what order. The next step is to plot out a timeline of our blogging "project". There is a planning technique in Project Management that uses something called a "Gantt Chart". It is surprisingly easy to create a Gantt Chart with the right software. Microsoft Project has been the de rigeur Project Management software for a long time. I used it daily when I was an assistant project manager a few years back. A good OpenSource alternative is GanttProject, which is based on the very cool OpenSource Java IDE Eclipse. GanttProject is only in 2.0 prelease 1, so it has a ways to go before it is as powerful as MS-Project. It does, however, get the job done. One drawback is that the tasks being charted must be multiples of a full day in duration. There are ways to get around this, but they are beyond the scope of this post. [NOTE: You do not need Eclipse to run GanttProject; however, you do need a recent JRE (Java Runtime Engine). See http://java.sun.com to download a copy of the Java SDK for your operating system. The SDK contains the JRE.)
So let's assume that all of our tasks take one or more full days each. We also specify Saturday and Sunday as "weekend" days. (GanttProject also lets you choose a Holiday Calendar; however, there are only 3 right now, all for European countries.)
Plot the main topics of your map in GanttProject. (The software's web site has a great video tutorial on how to use it.) You should end up with something like this:
Right now, there are no subtopics charted, the tasks are one day in duration, and they all start on Aug 18th. In the interest of keeping this blog relatively short, without explanation, I'm jumping ahead to a more detailed Gantt chart that has all of my map's nodes:
Proper "start" dates and task durations have not yet been assigned. The reason for this is that we only want to manually assign start dates and durations to those tasks that are actual tasks. Recall from above that my map's nodes Topic 1.0, , 2.0, 2.3, and 4.0 will not have blog entries. Instead, we want to use these as labels for "sub-projects" in the Gantt chart. While these sub-projects will have durations, timing will be assigned by GanttProject by adding up the tasks and sub-tasks that belong to each sub-project. (This will become clearer shortly.)
To turn certain tasks into sub-tasks of a sub-project, select the tasks to be "demoted" in the left pane in GanttProject. Now click the "indent" arrow button from the tool bar. The selected tasks will become sub-tasks. The first unselected task above the selected tasks will become the parent sub-project's label. (Please see the GanttProject video tutorial for more info.) Repeat this demotion step with other sub-tasks until you have a chart that looks like this:
Notice that the blue task bars for tasks Topic 1.0, 2.0, 2.3, and 4.0 have each been replaced a thick black "bracket" line. This line represents a sub-project type of task.
Now that we have the task hierarchy in place, we can assign durations to each task, as well as start dates. I am not going to assign task dependencies here. (I.e., GanttProject lets you indicate that one task must precede another by connecting them with a line and arrow in the appropriate direction.) In this example, the start and end dates for each task will infer the actual sequence.
Voila! Our finished project plan for our blog. Notice that some task bars are longer than others. I am of course making up the durations, but the assumption here is that some blogs will take more time to write because of research that needs to be done, or collaboration, or what have you.
See the vertical gray bars in the above chart? They represent "weekend" days. I have specified Saturdays and Sundays to be "weekend" days under the "View/Chart Options" menu item in GanttProject. GanttProject automatically skips any configured weekend days. If a task straddles a weekend, it will be grayed out on weekend days. For example, the Topic 2.4 task is 2 days long and straddles the weekend of Aug 27 and 28. A task cannot start on a weekend day. For example, Topic 2.1 starts on Mon Aug 22. [I work 7 days a week; so in my real Gantt charts, I do not specify weekend days.]
From the above image, we can see that the "sub-project" Topic 2.0 takes 8 calendar days and 6 days elapsed time, since it straddles a weekend. You may prefer to break a task down into another level of sub-tasks. For example, the Topic 3.0 task might be broken down into the sub-tasks "research", "write entry", "edit entry", and "post entry". However, if all of these sub-tasks collectively take 1 day or less, it may be best to keep them as a single main task simply because GanttProject cannot currently handle task durations of less than one day. (MS-Project can.)
Gantt Charts are merely one way of plotting a timeline for a large project whose tasks have been catalogued, say in a roadmap. GanttProject is a nice, free software tool to get you started.
(c) Copyright 2005, Raj Kumar Dash, http://blogspinner.blogspot.com