taken from W. Durfee and T. Chase, 1999
A project is a set of activities which ends with specific accomplishment. A project plan describes (1) non-routine tasks, (2) distinct start/finish dates, and (3) resource constraints in terms of materials and resources (time, money, people, equipment, etc).
Tasks are activities that must be completed to achieve project goal. Tasks are developed by breaking the project into tasks and subtasks. Tasks have start and end points, are short relative to the project and are significant. Use verb-noun form for naming tasks, e.g. "Develop data structures" or "build prototype". Use action verbs such as "create", "define" and "gather" rather than "will be made". Each task has a duration. Estimating the time it takes to do a task is extraordinarily difficult but this is the key to project management. Doubling your best guess usually works well.
Milestones are important checkpoints or interim goals for a project. Milestones are used to catch scheduling problems early. Milestones are given names in noun-verb form, e.g. "report due", "parts ordered", "prototype complete". Your plan will evolve so be flexible and update on a regular basis.
It also helps to identify risk areas for project, for example, things you don't know how to do but will have to learn. These are risky because you may not have a good sense for how long the task will take. Or, you may not know how long it will take to receive components you purchased for a project. I have added a Risks column.
A work breakdown statement (WBS) is a categorized list of tasks with an estimate of resources required to complete the task. An example WBS appears below.
| WBS # | TASK Description | Duration | Who | Resources | Materials and Supplies | Risks |
|---|---|---|---|---|---|---|
Gantt charts are a project planning tool that can be used to represent the timing of tasks required to complete a project. Because Gantt charts are simple to understand and easy to construct, they are used by most project managers for all but the most complex projects. Gantt charts visually display the relationship of the tasks to the timeline.
Each task takes up one row. Dates run along the top in increments of days, weeks or months, depending on the total length of the project and the time resolution. The expected time for each task is represented by a horizontal bar whose left end marks the expected beginning of the task and whose right end marks the expected completion date. Tasks may run sequentially, in parallel or overlapping.
As the project proceeds, the chart is updated by filling in the bars to a length proportional to the fraction of work that has been accomplished on the task. This way, we can quickly read the project's progress by drawing a vertical line through the chart at the current date. Completed tasks lie to the left of the line and are completely filled in. Current tasks cross the line and are behind schedule if their filled-in section is to the left of the line and ahead of schedule if the filled-in section stops to the right of the line. Future tasks lie completely to the right of the line.
Keep the tasks to a manageable number (no more than 15 or 20) so that the chart fits on a single page. Use subordinate charts to keep track of tasks that must be broken down further. For team projects, it often helps to have an additional column containing numbers or initials which identify who on the team is responsible for the task.
Often the project has important events which you would like to appear on the project timeline, but which are not tasks. For example, you may wish to highlight when a prototype is complete or the date of a design review. You enter these on a Gantt chart as "milestone" events and mark them with a special symbol, often an upside-down triangle.
Here's a sample Gantt chart made using Microsoft Excel.
Gantt charts made with Excel are easy to update and maintain. Here's how to do it.
On a piece of scrap paper, write down a table that represents the work breakdown. Be sure to document what the task is supposed to accomplish and how you expect the task to be accomplished. Also list important milestones and their dates. Assign each task a tentative start and stop date (or duration) and the people responsible for the task. If you have more than 15 or 20 tasks, split your project into main tasks and subtasks, then make an overall Gantt chart for the main tasks and separate Gantt charts for the subtasks which make up each main task.
Decide what resolution to use in the timeline. For projects of three months or less, use days, for longer projects use weeks or months, and for very short project use hours. For these instructions, we will assume you have chosen a resolution of days.
Execute Excel. Under Page Setup, select landscape orientation. Select the options to center the chart horizontally and vertically on the page. Also under Page Setup, activate the "fit to one page" button. (Note that if the text comes out too small, you may have to print your chart on two pages and paste together. Even better, adjust the resolution of your date scale or drop less important tasks to make your chart fit comfortably on one page.) Still under Page Setup, set header and footer to be blank. (It's better to write the title right on the spreadsheet rather than use the header for the title. Finally, under Page Setup, turn off the option to print gridlines.
Set up the cells. You also may want to format the cells as {\em text} cells. For those cells that have long texts, choose the "wrap around" option. You can use the sample as a guide. Use the border command to draw boxes around the appropriate cells. Enter your scheduling data. Choose your color coding to make the bars which indicate length of task, select the appropriate cells, then the fill command (one of the buttons near the top). As the project progresses, fill in the original bars with black (or other suitable color) to denote the fraction of a task that is complete.
Other Uses of Gantt Charts. Gantt-type charts are quite commonly used to indicate activities that go on in parallel but which also share resources of some types. For example, Gantt style charts can be used to represent sequence diagrams in use cases and are heavily used in operating systems theory.