Group test: project planners

Apps

Computer-based project management and planning (PM for short) is a strange beast. Real geeks love to hate it: "What planning and deadlines? We'll release when it's ready!" PM, however, is vital in all large organisations and remains one of the reasons that keeps many desktop users locked into their old proprietary operating system - Microsoft Project does after all, run only on Microsoft Windows.

Don't despair, however. If you were suffering in silence because you thought you couldn't draw a Gantt chart or an RBS diagram on Linux, you were wrong. In this article we'll present five project managers that are aimed at non-geek desktop users. They're all programs that can work without an internet connection or relying on external servers, so their installation is really easy, even if they aren't already included in your preferred Linux distro.

One word of advice before we start: while there's no need to have an MBA degree to use these programs, it surely helps to grok some basic terminology, so we've put the most important project management buzzwords in the glossary box below. Have a quick look at it before we continue.

PM glossary

  • Gantt chart A horizontal bar chart that shows on a timeline all the basic tasks which compose the project and the dependencies among them.
  • Pert or Network diagram Used to estimate project duration and spot those tasks that may delay it.
  • RBS (Resource Breakdown Structure) Diagram or table showing who or what does each kind of work.
  • WBS (Work Breakdown Structure) A hierarchical view of all the tasks in the project.

Ready? Then let's plan!

How we tested

The project managers were tested under Fedora running on a dual-core AMD64 3800+ system with 2GB of RAM. With the exception of GanttProject, which we installed unpacking a tarball we used RPM packages available via Yum or downloaded from the program's website. If you don't find mention of installation issues it's because there were none at all: we either told yum to install something or followed the instructions on the websites to unpack files and put them in the right folders.

Therefore, we've mostly focused on ease of use, intuitiveness, responsiveness, basic features and data interchange. Where possible, we tested Microsoft Project import compatibility by loading the sample file at www.projectreader.com.

GanttProject

Website: http://www.ganttproject.biz

GanttProject is a multiplatform Java program with a nice, clean interface centred around generation and display of Gantt charts. This is also the most cosmopolitan program reviewed in this article: the user interface is already available in about 20 languages.

In the main window you can enter tasks and arrange their hierarchy by 'indenting' or 'outdenting' them – that is, clicking the corresponding entries in the drop-down menu. To edit a task instead, select it and press F2. In the Task Properties panel you can associate notes, custom colours or a URL to the task and view or edit the associated resources and dependencies. If the standard properties aren't enough, you can add custom ones. Two tasks can be linked in several ways: you can specify that they should finish or start at the same time, or that one of them can't start until the other is finished.

A nice feature of GanttProject is that it automatically creates the resources you assign to a task, without requiring a separate procedure.

Let's now see how you can analyse the project plan and fix whatever needs fixing. Network and resource load charts are just a mouse click away. In the Resource view you can read all the tasks assigned to each project member. You have a dedicated icon to zoom in on the critical path of the current project. The general Settings panel or context menus enable you to define how much information the Gantt diagram should display: you can enable or disable task names, dates, lengths, status and assigned resources. Moving back and forth through the same diagram involves dragging it with the mouse, but it's quite slow, while printing works without particular problems.

Two essential elements of PM theory: the Pert diagram and the Gantt chart, as available in GanttProject.

Two essential elements of PM theory: the Pert diagram and the Gantt chart, as available in GanttProject.

Sharing data

Exchanging project data with other users is one of the strengths of GanttProject. Its default file format is XML (.gan extension) and is, of course, directly usable on every operating system where the right version of Java is available. Besides that, you can use GanttProject to open Microsoft Project files. While the process isn't transparent, it's fast and easy: click on Import in the File menu and tick the proper choices in the two-step import wizard. That wizard is also capable of a handy trick – importing a list of tasks from an Ascii file without you having to enter them manually: each row is inserted into the project as a new task name.

Once you're done, there are plenty of ways to share your project. Yes, you can save your master plan in Microsoft Project format, in the MPX and MPSDi flavours. It's also possible to export all or only selectable columns of your raw data in CSV format.

If you need to release read-only versions of your charts, you can save them as Png or Jpeg images, or in Pdf format with active links for local files or web pages. In the latter case, you'll also be able to tweak how the reports look by editing an XSL schema. The same feature is available for HTML export: however, you can do this without GanttProject – a standalone Perl script at http://gantt project.biz/extras.php does the same job. Last but not least, GanttProject can save files directly to an FTP server or WebDav repository.

The main limit of GanttProject is the same one shared by almost all the programs reviewed here: if the scenario is very fluid, you have to readjust things by hand. Otherwise, you may need to explain to your co-workers why the project plan says everybody should sit idle for 10 days and then work at least 180 hours during one single weekend.

Verdict: An easy-to-use planner with many import and export data capabilities. 7/10

OpenProj

Website: www.openproj.org

OpenProj was originally developed by Projity, which was recently bought by Serena Software. The program is available under the Common Public Attribution Licence Version 1.0 (CPAL).

The interface of OpenProj is rich but not overwhelming. You get eight buttons on the left to display Gantt, Network, Resources, WBS and RBS charts, plus a Report panel and two spreadsheet-like views of Task and Resource Usage. The latter two buttons are repeated in the bottom-left corner of the OpenProj window, together with those for Histograms and Charts. The reason for this duplication is that the OpenProj window has so-called top and bottom views: when you click any of the four buttons in the bottom corner you'll open the corresponding table or chart in the bottom half of the main window. Clicking on F1 while the cursor is over any of these buttons will open the corresponding page of the OpenProj documentation wiki in your browser.

To create a project, select Project > Project Information from the main menu, assign a name to the project and define its start date, base calendar and type. Among other fields, in the General project tab you'll also find Expense type, Net Present Value and a Risk coefficient. Throughout the life of the project, you can check several statistics in another tab of this same panel. If your team works at any time of the day, part or full time, with or without structured shifts, you can modify the calendar to take this into account.

The panel to create and edit a task has five tabs. In the General one you can define its name, priority and percentage of completion, and there are separate fields for its duration and the amount of work. You can also easily create task dependencies by clicking on the first task and dragging it to the second. The relation between two linked tasks can be FS (Finish/Start, the default value), FF (Finish/Finish), SF (Start/Finish), or SS (Start/Start). The Info column in the task list shows which tasks have special constraints, such as the impossibility of starting before a given date.

Besides the Gantt chart, OpenProj displays network diagrams and enables you to edit them directly. Whatever chart you're in, you can filter or sort all data in several ways thanks to the drop-down menus in the top-right corner. OpenProj, for example, can show you the tasks that are completed or critical because they're late or over budget. OpenProj is strong in its evaluation of different scenarios and performance analysis: you can compare up to 10 variations of a plan or save up to 11 baselines and use them for Earned Value analysis. There are several facilities to find out who's overbooked.

The Network diagram is only one of the planning analysis possibilities that are available to use in OpenProj.

The Network diagram is only one of the planning analysis possibilities that are available to use in OpenProj.

There are no problems with printing, but if you choose PDF from the File menu all you get is a warning that "this feature is only available in Projects On Demand (an online version of OpenProj). Sign up for a free trial today." Besides its own standard, called .pod, OpenProj can read MS Project files and save to MS Project 2003 XML format.

All in all, OpenProj is a good program with lots of essential or advanced features, but a few things prevent us from loving it without reservation just now, which is a pity. First, as with GanttProject, there's no real automatic resource levelling. Then there's the CPAL licence, which may discourage independent developers from picking up or extending the software: whatever the reason, the developers' mailing list shows only nine messages in all of 2008.

OpenProj's main window splits into several parts to give you a simultaneous view of different sides of a project.

OpenProj's main window splits into several parts to give you a simultaneous view of different sides of a project.

Next, as of early December 2008 the Serena website said in red, "Please, no OpenProj questions by email, go to the SourceForge OpenProj forum for those", but in that forum a question such as, "Is development stopped? Several questions got no answers for months" (http://tinyurl.com/7zbqc6) got, er, no answers in 10 days. Therefore, we'd rather wait a little and see what happens. Hopefully, by the time you read this things will be clearer.

Verdict: OpenProj has many useful features for expert project managers. 7/10.

Task Juggler

Website: www.taskjuggler.org

TaskJuggler is something quite different from the usual Gantt chart editors: a project planning and tracking command line compiler (also called taskjuggler) with its own, nice Qt/KDE graphical wrapper, called TaskJugglerUI. Don't worry, it's much less complicated than it seems. When working with TaskJuggler, you don't create or analyse projects by clicking here and there or typing parameters, one at a time. You just go to the keyboard and write in plain ASCII everything that should happen in the project, who should do it and what tasks depend on what others.

A typical TaskJuggler project file looks something like this:

task prestudy "Test software" {
	length 12d
	start 2009-01-16
	allocate Marco
}
...
resource all "All employees" {
	vacation 2009-02-04
	rate 300
	resource marco "Marco F."
}

Once you've written everything, press F9 or click on the clock button to the left of the toolbar: the taskjuggler command line utility will 'compile' your description, signalling every error or inconsistency and calculating all deadlines, critical paths and so on. That's why some users call TaskJuggler a "project processor". If there's an error in the project file, TaskJuggler behaves just like a software graphical IDE: it tells you what the error is and what line it's on, and clicking on the error message brings you to the corresponding point in the 'source code'.

Eventually, you'll get a standard Gantt chart and all the other reports you requested in the text file. The available choices include a resource graph or summary sheet, resource and task usage, a tracking Gantt chart, data export in CSV or XML format, iCalendar schedules and several HTML reports. As yet there aren't WBS, RBS or Pert diagrams, not in the standard form at least, but you get plenty of information anyway to keep things under control.

Task Juggler generates standard Gantt charts as well as all the tables and reports specified in the project file.

Task Juggler generates standard Gantt charts as well as all the tables and reports specified in the project file.

Here's the first great advantage of TaskJuggler: it can be much faster to write a description of the project than it is to draw or fill forms. The program does all the drawing for you. When you analyse the chart and find something you'd like to change, click on it and TaskJuggler will open the project file, placing the cursor on the line that corresponds to that task or resource. Writing the project in TaskJuggler feels good for several reasons. One is that this is a KDE app, and as such uses standard KDE tools rather than attempt to reinvent the wheel. TaskJugglerUI embeds the powerful Kate editor, giving you line numbering, code folding, syntax highlighting and other goodies.

The 'compiler' is also capable of automated resource levelling. It'll rearrange the end and start dates of the tasks for you in such a way that nobody has to work overtime to meet a badly chosen deadline. The internal consistency checker will also resolve conflicts in resource assignments.

When something is wrong in your project description, the Task Juggler graphical interface shows you exactly where the problem is.

When something is wrong in your project description, the Task Juggler graphical interface shows you exactly where the problem is.

When you start a new project you get to choose from different templates. Those installed with the RPM for Fedora are Blank, Large and Simple: we tried Large. The main window is divided in two panels. The left one has tabs for opened files, tasks, resources, accounts and reports, which you can move between with the Goto menu in the top bar. The right-hand panel has two tabs, one containing the editor and one for the Gantt chart and other reports. Pressing F7 opens a command line.

The only real issue with TaskJuggler is that it has no real import/export capabilities to exchange files with other programs.

Verdict: An unusual but very powerful approach to project management. 8/10.

KPlato

Website: www.koffice.org/kplato

KPlato is the PM component of KOffice. It's still quite a young program and it shows, but it's stable and already usable for simple work. Its base layout is similar to that of OpenProj: menu and toolbar on the top, plus a left pane with three buttons that open a Gantt chart and two panels, one for Resources and one for Accounts.

You have lots of control over what's displayed in the Gantt chart through the View menu: task dependencies, allocated resources, variability in the duration of a task (called "float"), percentage of completion and critical paths. However, you can't zoom this chart in any way. The chart isn't automatically updated when you edit tasks or resources: when you're done, click on the clock and ruler button in the centre of the toolbar and KPlato will refresh the chart, displaying the updated time plan.

Both the chart and the Resource panel are split in two parts when you select View > Show Allocations. The top half of the Resource panel lists all the project members and their associated calendar, nickname, normal and overtime rates, and so on. When you select a resource, all its tasks appear in the bottom panel, so you can see if that person is overbooked or what they're supposed to do on any given day.

KPlato has the same look and feel as Task Juggler, but a more traditional approach to project management.

KPlato has the same look and feel as Task Juggler, but a more traditional approach to project management.

Theoretically, KPlato holds a lot of potential, thanks to its integration in KOffice, with all the possibilities of exchanging data with the calendar, spreadsheet and email parts of that suite, but it isn't there yet. In the meantime, the main problem we found in KPlato is that there's no apparent or easy way to link tasks to each other. Another problem may be the fact that, right now, KPlato can only read or write files in its own XML format.

Verdict: KPlato shows great potential, but for now it's behind its competitors. 6/10.

Planner

Website: http://live.gnome.org/Planner

Planner is the direct descendant of what was once called Mr Project, and is the program with a default look that's most similar to (older versions of) Microsoft Project. A left pane hosts buttons that open the main views of the program: a Gantt chart (which you can zoom to fit), Tasks, Resources and Resource Usage. In the Project > Edit Project Properties panel you can set the name of the project, its manager, its current organisation phase and the default calendar.

As with KPlato, resources can be work or material and you can define a different calendar, cost and group for each of them. Some users may find a feature of both the Resource and Task editing panels quite useful: a button that, when clicked, inserts a time stamp in a Notes field, to mark when a change was made or any notes were added.

Planner's user interface will be familiar to Microsoft Project users.

Planner's user interface will be familiar to Microsoft Project users.

There are also fields to assign priorities, and it's possible to add custom properties to your tasks. Linking two tasks is easy: select both of them and click on the Link icon in the toolbar. The nature of the temporal link between two tasks can be changed by selecting the dependent task, opening its Properties panel and going to the Predecessors tab. There's no real automatic resource levelling, but the Resource Usage chart enables you to immediately spot who will hate you because you destroyed their holidays.

You can only export to the older Planner format or save as HTML or PDF. There's an option to import Microsoft Project XML files, but when we tried to do that with the XML file created with GanttProject, Planner couldn't recognise the tasks. But this could be a bug in GanttProject, not in Planner.

Verdict: It may be the solution for users who prefer the look of Microsoft Project. 7/10.

Our choice: TaskJuggler

Allow us a one-second rant: why does each program we've tested have its own file format? Sure, having the source you can write filters, and XML dialects are relatively easy to convert into each other, but why did this happen in the first place? It would be great if FOSS PM could converge on one common format that doesn't need separate filters.

This said, what Linux PM software will work better for you depends on whether and how much you're already doomed by Microsoft Project files, especially if you have to keep and exchange them in the same formats. If that's the case, your only choice is to figure out for yourself which program among GanttProject, OpenProj or Planner enables you to work with the least pain.

If you have no such problem, you may be interested to know that we hereby declare TaskJuggler the winner of this Roundup. No, it can't read or write Microsoft Project, but this isn't TaskJuggler's fault and would only matter if you needed to exchange files with Microsoft users, right? In any case, the reason we prefer TaskJuggler is how it makes its users work: you tell it, in the fastest possible way, what you want to achieve and TaskJuggler will do everything else.

This way of working may sound like heresy if you're used to mouse-based planning, but it's the same approach that's still so successful among the users of Latex and other ASCII markup systems, for one simple reason: once you get past the initial, psychological obstacle of editing a diagram by editing text, you go faster. Much faster. There are two other big advantages in working with plain text files. One is that they're self-documenting, since you can insert as many comments as you want in a TaskJuggler file.

Task Juggler generates enough charts to make you forget you entered it all as text.

Task Juggler generates enough charts to make you forget you entered it all as text.

The other is that text files are much easier to put under version control, search and generate or process automatically, with the taskjuggler utility or any Perl script: it's really easy to add to a TaskJuggler-based project any feature you may miss in the program itself, such as automated email notification to the manager when somebody's holiday conflicts with the latest schedule. This could be enough for many, but since you're not even forced to give up a GUI to get all these goodies, and TaskJuggler has automatic resource levelling, why haven't you tried it?

First published in Linux Format

First published in Linux Format magazine

You should follow us on Identi.ca or Twitter


Your comments

Hey Rational Plan Marketing Guy

I gotta give you a +1 for your plug.

Yep, it's a plug, but it's obvious it's a plug by someone who works for the plugee. I'll give you a look because you were honest about it!

GanttProject is just a toy

I used GanttProject to manage my current project inside my own department and I have to say the current version of the software is far from the standard of serious use. Too many annoying bugs ie. when you adjust task time, adjust subtasks in a group, etc. And some must-have features are missing, ie. customized holiday. The export-to-pdf feature needs much refinement as well. I'm curious if any serious users can put up with the software in a demanding project. Any success stories in a real business environment with GanttProject?

I will try out OpenProj next time. I don't like its crippleware taste however: when you want to use a certain feature, you get nothing but a dialogue requesting upgrade. I'd rather it greys out the feature completely from the very first moment.

These 2 seems the only cross-platform softwares available at the moment. I have to use Windows machine at my workplace.

Gantt Project is more usable now

Hi,

With reference to the 'toy' comment made about Grantt Project, I would say atleast the must-have feature that was specifically mentioned (customized holidays for resouces) is very much available.

On the resources tab, right click on any resource, select 'Human properties', then select the tab "Days Off". You can give start and end dates.

I think it gives you the must-have features atleast. Its interface is cleaner than that of OpenProj, which has shabby interface but best feature list. In fact OpenProj comes closest to M$ Project on feature list.

I had a look at TaskJuggler too, but it has a steep learning curve and is not for managers who are not techies themselves.

Gnome Planner has best interface, but doesn't have PERT/Network view which could be a deal breaker for many.

So you can see, none is "complete". However, in my opinion, GanttProejct is the most balanced alternative from stability, features and user interface perspectives.

My 2 cents

resource assignment

Hello,

Can you tell me the name of a histogram which we can see on the picture with Planner scrinshot? I mean the one on the foreground, where the schedules of specific participants are.

Thank you!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

CAPTCHA
We can't accept links (unless you obfuscate them). You also need to negotiate the following CAPTCHA...

Username:   Password:
Create Account | About TuxRadar