February 26, 2008

OpenProj: good software, but needs documentation

Author: Joe Barr

OpenProj 1.0 was recently released by Projity, which offers a related commercial product called Project-On-Demand. OpenProj is written in Java and licensed under CPAL 1.0, and versions for Windows, Mac OS/X, and Linux can be downloaded from SourceForge.net.

CPAL -- the Common Public Attribution License -- is a relatively new open source license, submitted to the Open Source Initiative for approval last July. It is recognized by the Open Source Initiative as an open source license, but the FSF has not yet classified it. In spite of its approval by the OSI, I found the license difficult to parse, and recommend you have a lawyer review it so that he can advise you on what you can and cannot do with the application and the code before making a major investment of time and effort working with CPAL licensed code.

If you've ever been involved as part of a team doing traditional software development, you know how important it is to track and report progress towards the final goal. Milestones, deliverables, deadlines: management wants to know all about them. The problem is that often management doesn't speak geek, so they need to be fed the information in easy-to-swallow charts, graphs, and high-level reports. They say geeks like shiny things. It's equally true that management likes pictograms. A good project management tool handles the translation with ease.

OpenProj -- designed as a replacement for MS Project -- can produce all the graphic reports you're likely to need: Gantt, RBS, WBS, and Network Diagram (PERT) charts, Histograms, Resource Usage, Task Usage graphs, and even a project report.

Unless you are already familiar with similar applications, it may be a struggle for you -- as it has been for me -- to become adept at using OpenProj based on visiting the skimpy project documentation available thus far. You can learn a lot of things by simply clicking Next when the Tip of the Day appears at startup-time, but that's really not a satisfactory way to answer a question that comes up when you're actually using the program. Here's one of those tips: There are tons of great sources of Project Management information on the Web. OpenProj is very similar to existing commercial solutions.

Another, and more useful, tip that I found by clicking Next (Tip of the Day) again and again is If you press F1, you'll get online help for the item underneath the cursor. If you're viewing a Gantt chart of the current project, for example, and press F1, the online Gantt chart documentation will appear in your browser. Another tip based on my own experience is to join the OpenProj wiki where the help documentation lives, and then use the search feature to zero in on needed instruction.

I created a software development project using seven people and lasting one month using OpenProj, often by hit-and-miss due to the lack of a guide. OpenProj asks you at startup if you want to create a new project or work with an existing one. If you select create, you're asked to complete a brief form about the project. Then you're on your own, looking at the blank Gantt chart shown in Figure 1.

The first thing I did after creating the project was enter resource data about the seven individuals who would be working on the project: a manager, analyst, three developers, and two testers. An easy chore, given that the data is typed directly into the resource form, as shown in Figure 2.

The next chore was to enter the basic tasks required for completion from a fairly high-level view: planning, requirements analysis, design, design review/signoff, development, testing, and repair/acceptance. Once those tasks were entered, I assigned the needed resources to each of them by first clicking on the task bar in the Gantt chart, then on Tools->Assign Resources on the menu bar. That presented a list of all the resources I had entered earlier, and I could click on an individual or range of individuals and then click Assign.

Removing individual resources from a task is done the same way, but I ran into either a bug or a documentation barrier while doing so. Deleted resources would not disappear from the Gantt chart until I saved the project file and then reloaded it, leaving me uncertain if the delete action had worked or not.

OpenProj lets you link tasks together with the mouse. Simply click-and-hold one task and then move the cursor to the second. Links can be defined as FS (Finish/Start, which is the default value), FF (Finish/Finish), SF (Start/Finish), or SS (Start/Start). Simply click on the link itself and a pop-up window appears which lets you change the link type from a drop-down menu, specify a lag time, or remove the link entirely.

The last thing I did was to create a baseline for the project for future progress to be measured against. With the Gantt chart in view, I clicked on Tools -> Tracking -> Save Baseline. The default is to save the baseline for the entire project, and that is what I did, but you have the option of saving a baseline for a specific task as well.

Correctly or incorrectly -- it's hard to tell without a comprehensive guide -- that at least got me to a starting point for tracking project progress and generating a bevy of reports along the way. The downside is that in spite of the many features which provide ease of use in OpenProj, you have to figure out how to use it step-by-step. Perhaps this would be a smaller barrier to those currently using MS Project. I can't speak to that. I can tell you that OpenProj can import MS Project files and is also supposed to be able to save projects in a format MS Project can read. I've tested the import ability by Googling for .mpp files, downloading them, and opening them in OpenProj, but without a copy of Microsoft Project I was not able to test the export function.




OpenProj appears to be a full-featured project management application, but its usefulness is impaired by the lack of documentation. Users are fed tidbits of help but there is no guide, no reference manual, and no tutorial. I was able to enter a simple project involving only seven people, but I don't know that I've done it correctly, or what else I can do with this program.

It appears to me that OpenProj is capable of a lot more than I've been able to exercise in the few days I've been looking at it, so don't discount the applications abilities based on my lack of skill with it. Blame it on the missing manual.

According to Projity CEO Marc O'Brien, more documentation is on the way. He told us "We are actually coming out with a big update to the documentation next month. The community is helping which is nice!" I hope that works out, because as it stands today, while OpenProj is not "crippleware," it is "walking-wounded-ware," and without good documentation, it is likely to stay that way.

Projity has opened the source code for OpenProj. Now we have to see if a community will form around it to make it a useful, viable open source project.


  • Reviews
  • Programming
  • Open Source