GanttProject is an open source task and project management tool that can display Gantt charts and PERT. It is available on Windows, Linux and Mac OS. New project leaders or managers will find GanttProject very user friendly, as it will not overwhelm them with numerous scheduling techniques and options, the way MS Project does.
This cross-platform application is written in Java, and in the sourceforge.net repository. It has the widely used capabilities of the commercially available MS Project. Going by the Pareto principle that 80 per cent of the time we use just 20 per cent of the features, GanttProject is just sufficient for both new and seasoned project managers.
Not only project managers, but just about anyone can use it for task management. Wherever there is a need to plan tasks performed by different people, and when tasks have dependencies between them, GanttProject is a great choice.
Why use Project Management (PM) tools?
At some workplaces, applications such as Microsoft Excel are used for task tracking and PM! Spreadsheets are not really meant for this. Users find Excel easy to use, as they can control every cell, and there is nothing behind the scenes for them to understand. However, computing duration, starting and ending dates manually for each task is a sheer waste of time. And even when done, there is no alert when your plan is flawed.
One of the fundamental problems of planning a project in a spreadsheet is that you never know when an engineer (or task owner) is overloaded or not available (vacation). Planning a project without considering the holidays and vacation of individual task owners only leads to trouble, right from the beginning.
PM tools have a lot of advantages when it comes to project planning and tracking. They allow you to get an overview of the project visually, by presenting the schedule as a Gantt chart. This clearly shows the duration of a task, the start and end dates, dependencies between tasks, and the critical path (the set of tasks that are dependent on each other, with delays in one of the tasks impacting the end date of the project). There are options for a project holiday calendar and per-resource holiday calendar, where the project manager can define holidays when no resource will work, and also the option of a separate calendar for a resource. For example, a software tester going on a two-week Himalayan trip during the last month of a project in test phase has a different impact than if his vacation was during the first half of the project.
Project planning and tracking basics
Proper planning is the first step towards successful project execution. Planning should be practical and detailed, and take into consideration all the constraints. The project manager plays a key role during planning, by asking the right questions on the effort it takes to complete a task, the dependencies with other members or teams, the potential delays involved and the risks that can be foreseen. Getting a buy-in from all project team members is the key to success. The project manager does not own the schedulethe team does.
Many projects use tools during the planning phase, but when it comes to tracking, these tools are abandoned. Tracking the project outside the tool poses problems, such as not knowing the impact of delayed tasks, or the tasks that are ahead of time. A tool that shows the critical path is handy here (see an example of the critical path in the next section). So, tracking using a tool like GanttProject is as essential as using it for planning.
One of the reasons many engineers dont have access to MS Project is due to the cost. The licence fee inhibits its use. A free and open source tool like GanttProject can be installed on every machine, and the Gantt file can be shared on a server using WebDAV.
Setting up GanttProject
GanttProject is available at http://www.ganttproject.biz/ and also sourceforge.net. The latest version is 2.5.3. As with any other software installation, the best part of Windows is the wizard-based easy installation. Accept the licence agreement, click Next a few times, and then Finish; you’re now ready to use it! The screen-shots in this article are of GanttProject 2.5.3 on Windows 7.
In this article, we will focus on creating a new project called the Sample GUI Project. This is a software development project that uses the waterfall model, and goes through the typical requirements, design, coding and testing phases. We also have team members (resources) who will play different rolesthe architects, developers, testers, etc.
A first look at GanttProject
The application has two panes: the left one lists tasks and their details; the right pane displays the schedule in Gantt format (or, when the user chooses the PERT option from the menu, it projects the PERT chart). For more details on PERT charts, please refer to Wikipedia.
Like any other Windows application, you have a menu bar on top, a context-sensitive toolbar below it and a status bar. To vertically navigate the chart, scroll the mouse in the Task pane (left). Horizontal navigation of the chart is done by using the buttons and menu item just above the chart (Figure 2). Scrolling the mouse in the Gantt view alters the zoom. If there are a large number of tasks in the project, or the project is of a long duration, the Gantt chart will exceed the window size. To see the complete chart, one has to Zoom Out. This can make the task bars in the chart too small to be legible, though. Zooming In increases the granularity of the duration from months, to weeks and days.
Users can view portions of the project using the drop-down menu, which has options like Project Start, Today, Project End and Selection. Project Start will pan the Gantt chart to the beginning of the project, and Today will bring it to the current week. Selection will move the focus of the chart to the task selected in the left pane.
The first step in creating a new project is to update Properties in the Project menu. Here, you enter project details such as name, organisation and URL. You can then select the Calendar option to select a suitable holiday calendar, and working days that are applicable to all resources in the project. Unfortunately, there is no calendar for Indian holidays packaged with the tool. Resources allows you to create new resource roles. Later, in Resources Chart, the role appears as a drop-down for each resource added.
You can add resources to the project via the Resources Chart tab in the left pane. You can add new resources, and their roles, by selecting New Resource from the Resources menu.
A project is a set of tasks performed by resources. Tasks have a duration, with dependencies between them. When using a PM tool such as GanttProject, always remember to use the tool’s capability to schedule the task, instead of entering the start and end dates. The ideal way to enter tasks is to enter the task name and its duration, and link to its predecessor or successor. The start and end dates are computed by the tool based on dependent tasks, their duration, resource availability during that time, and company working days.
Resources are added into the Resource Chart pane with additional details like the default role. After assigning resources to tasks, you get a list of tasks and work loads for each resource in the Resource Chart. This helps the manager assess the duration when a resource is overloaded, and to perform an operation called resource levelling. This operation is available in MS Project but not in GanttProject.
You can see in the example in Figure 6 that two developers have more than 100 per cent load in August and September. In the Resources Chart tab, on the left are the resource names and roles; the right pane shows their load each week.
Features in GanttProject
We can classify the features of GanttProject as input, process and output. Input is the various formats that GanttProject can accept. Process features are the real value-additions the tool provides, such as charts, dependencies and computation to create schedules. The output comprises the formats in which we can export the project schedule.
The tool accepts MS Project format and text files, other than its own .gan format. The .gan file is in XML format. The tool has provision to enter tasks, resources, a holiday calendar and dependencies, manually, to create a new project plan. As part of the process features, GanttProject generates the Gantt chart and PERT charts based on the provided input. It allows the exporting of project data into MS Project format, images, HTML reports, CSV files and PDF reports.
GanttProject allows you to view the critical path in the project. In Figure 7, you can see that during the design and implementation phase, the GUI stream is on the critical path, and not the back-end.
There is also a feature to save baseline versions of the project. This is useful during the initial stages of draft versions, and also when you freeze the schedule before starting execution. The tool allows you to create multiple baselines.
Other free PM tools
Two other products worth mentioning in the category of PM tools are OpenProj and Open Workbench. The former is also an open source tool developed in Java, available from sourceforge.net. It has much higher capabilities, such as filtering based on task status, sorting and grouping. It also has multiple views such as the work breakdown structure, resource breakdown structure, network view, etc. The user can also select the split view, which enables you to take a look at the work breakdown structure on the top pane, for instance, and task usage in the bottom pane. The UI and features are closer to MS Project.
Open Workbench is a freeware alternative to MS Project. The latest version, 2.0.0, has a ribbon bar similar to recent MS Office versions. The features are comparable, and advanced features such as resource levelling, variance analysis and auto scheduling are available. Open Workbench is suitable for seasoned project and program managers, who need to manage complex or multiple interrelated projects. The version available at sourceforge.net is old (1.1.4). To get the latest version, visit the link mentioned in References. CA Clarity PPM is the commercial enterprise version of the same PM tool.
GanttProject is an ideal choice for novices as well as experienced project managers. It is simple to use and has all the basic capabilities to schedule, create a baseline, and assess the critical path of a project. The map can also be exported as a PDF or an SVG file.
 GanttProject home: http://www.ganttproject.biz/
 GanttProject Tutorial video: http://www.youtube com/watch?v=5rHCSa5ad34
 Open Workbench latest version 2.0.0 and 2.0.1 download location: http://www.itdesign.de/en/ppm/open-workbench/overview.html
 A good introduction to project scheduling techniques: http://mba.tuck.dartmouth.edu/pages/faculty/robert.shumsky/Project_scheduling_note.pdf
 Sample software project used in article: SampleGUIProject.gan, download from http://www.opensourceforu.com/