Hack 11. Manage Projects
You can use a Palm device to help you manage complicated projects with resources and dependencies, such as a software development project.
Projects come in different complexities. Before choosing a tool to help manage your project, you need to consider the complexity of the project you want to manage. Different tools are better for different levels of complexity.
Project management software represents the world as tasks, resources, and dependencies between tasks. Although all project management software has a common view of the world, each package differs in how it lets you arrange things. So, when you pick a software package, you need to consider factors such as:
2.2.1. Simple Projects
A simple project has few dependencies and doesn't require a strict ordering of tasks. A simple project also doesn't require tight scheduling of the people working on the project.
On the other hand, simple projects can deal with hierarchical tasks and are good for managing changerearranging, adding, and deleting tasks.
You may be able to use the built-in To Do List [Hack #2] to manage simple projects, as seen in Figure 2-1. You can set priorities on items and assign due dates to individual items. These will be reflected in the Today view of the Date Book (on recent Palm devices) or the Today view in FacerLauncher [Hack #45]. You can even use the categories to group individual tasks into larger tasks.
However, the To Do List doesn't have any way of tracking effort, time spent (such as hours or days), or estimates against the actual time spent. Also, there isn't an easy way to get an overall look at the project and how far along it is.
A better way of managing simple projects is to use a spreadsheet such as MiniCalc [Hack #14]. The spreadsheet only needs a few columns: the name of the task, estimated effort, remaining effort, and optionally, the name of the person assigned to the task. Larger tasks can be created as the sum of lower-level tasks as you can see in the screenshot of MiniCalc in Figure 2-2. The advantage of using a spreadsheet over the To Do List is that you can see how the project is doing at any moment. You can write simple formulas to track progress. With the "remaining" column, you can make estimates of how long the remaining tasks will take to complete.
Figure 2-1. Managing a simple project with the To Do List
Figure 2-2. MiniCalc spreadsheet
2.2.2. Binary Tracking
Binary tracking is a technique for preventing the "90% done" syndrome. Projects can be 90% complete for a long time. I saw a project that was 90% complete for over a year, despite being actively worked on the entire time.
Binary tracking simply holds that each low-level task can be either 100% complete or 0%no in-between numbers are allowed. Then, higher-level tasks can be computed as the sum of the completed lower-level tasks weighted by their duration.
Here is a simple example: if you have ten one-day low-level tasks that form one high-level task, then each completed (100%) low-level task adds 10% to the high-level task's completion.
Not only does this make estimation easier and more accurate, but it provides another benefit for software development. In developing software, if you have nine features that are 100% complete, you may be able to ship the product. On the other hand, if you have ten features that are all 90% done, then you can't ship.
2.2.3. Moderately Complex Projects
Moderately complex projects require you to view the status of the project broken down by tasks and sub-tasks. It may also be important to filter tasks by various criteria such as due date.
Moderately complex projects can be managed with a list or task manager. ShadowPlan (http://www.codejedi.com) is a good example of a task manager. You can use it to create hierarchical tasks as in Figure 2-3. The parent tasks' completion percentages are calculated automatically from their children. Unfortunately, all children are weighted equally. Thus, if you have a one-day task grouped with a five-day task, finishing either of them marks the parent as being 50% complete.
Figure 2-3. ShadowPlan as a project management tool
ShadowPlan allows you to assign start, target, and finish dates for tasks, and it has sophisticated filters for viewing items. Other list and task managers have similar capabilities.
2.2.4. Complex Projects
Complex projects require the most support. They may require dependencies, or they may require careful allocation of people or resources. They may need to have a strict ordering of tasks. It may be necessary to view dependencies, estimated and actual completion dates, resource usage, and milestones.
Complex projects need real project management software. One open-source application is called Progect (http://sourceforge.net/projects/progect/), seen in Figure 2-4. There is an application called Project@Hand (http://www.natara.com/) that allows you to synchronize with Microsoft Project. You can view and modify projects on your handheld. The same company makes a product called Project@Hand2 which is a standalone project management application for the Palm. Another full-featured project management application for Palm is FastTrack Schedule (http://www.aecsoftware.com), seen in Figure 2-5. You can also use a list manager or outliner, such as Thought-Manager (http://www.handshigh.com/).
Figure 2-4. Progect screenshot
Figure 2-5. FastTrack Schedule
One thing that project management software lacks is the ability to handle change easily. If some tasks get completed out of order, it can be very difficult to go back and update the project data to reflect the new task order.
This discussion uses a simple task example to walk through how to use the various types of programs. An example task is shown in Table 2-1. Note that the columns are task name, time in minutes, and person.
To start, you need to download an appropriate spreadsheet or project management application or just use the To Do application. Then use the following instructions.
A spreadsheet is a good choice for a simple to moderately complex project (see Figure 2-6). Once the project gets complex enough to require more than two screenfuls of information, you should look to a more sophisticated tool. Here's how you can set up the sample project in Mini-Calc (http://www.solutionsinhand.com):
For higher-level tasks, you may want to set the background color to something different like light blue. You can also create total and completed lines for each person if you want.
188.8.131.52. To Do List.
The To Do List is fine for the simplest of projects (refer back to Figure 2-1). Here's how you can set up the sample project:
184.108.40.206. Project management software.
If you're using a comprehensive project management suite, there's more you can do:
Each of these project styles has its own requirements and solutions. You should pick a tool that matches the kind of project you are managing.