Project Planning

I love planning but I hate planning software. It's an interesting problem. When I am working on something alone I tend to outline the project, estimate each piece and be done with it. My estimates tend to be accurate and the project gets done.

But, that's me writing code or fixing the car. The Geek Ranch is not just me doing a project. Today, it is four but in the next few months it will likely be 20 people working with lots of outside dependencies. Not something I can just scribble down.

Let me offer an example. We need to run electricity into the construction site. We have been told that Union Finosa, the electric utility, will not connect anything until there are "signs of construction" going on. That seems fair. The good news is that the first building we will build is a auxiliary building. It will house a backup generator, some batteries, inverter and offer some storage both during the major construction and during operation.

Thus, the obvious answer is to start building the utility building. To do that, we need to get the materials there, a plan and a crew. As we want to do as much in parallel, we want the utilities ordered (they already are but it seems we have to do a dance again) so that the poles can be put in while we are waiting for everything else.

But, the road has been damaged. So, before we can bring in the construction materials we first need to put in some vados (that's a cement "dip" so water can cross the road without destroying it). Gixia, my business partner, arranged for the road repairs in November. Or, more accurately, thought she had. But, the guy who was going to do it vanished.

I could go on but you get the idea. There are a lot of people, a lot of resources, lead times and inter-dependencies. Unfortunately, this calls for project management software. So, off I go looking for "the right answer" again. (At this point, thanks to those that responded to my previous article looking for some suggestions.)

This is not the first time I have gone looking. In fact, I looked at some Windoze-based software including Microsoft Project about 10 years ago. At that time I was totally amazed that Microsoft Project didn't let you share resources between projects. I eventually picked some other package which did what we needed—except it was running on a Windoze machine connected to nothing. It quickly became obvious that this stand-alone solution was not the answer. We moved up to a big whiteboard which people would see when they went to the bathroom. That worked a lot better.

The whiteboard example is more significant than you might think. I have found the hardest part of any project management system is getting it to actually be used. If we consider a GUI-based system that everyone can access to be the norm, the Windoze-based system I described was on one end of the accessibility spectrum and the whiteboard was on the other. Thus, the trick is to get useful functionality with sacrificing too much accessibility. As I will not be the only user, this decision is not just "what appeals to a geek".

What I Considered

The first was PHProjekt. I have used it before and found it very capable. What I particularly liked was that you could have notes and forums (and a lot more) associated with the project. That said, while it seems great for a bunch of geeks working on a software project, it became pretty obvious that it wasn't going to have the accessibility required for the team which will include some people with "user" computer skills only and whose first language is not English. Note that PHProject is capable of dealing with a lot of languages so the English comment reflects on the team, not on the software.

Next comes TaskJuggler. It started out its life as mostly a reporting system where you built the task information using a text editor. While that appealed to me, it clearly isn't what this project needs. Today, TaskJuggler offers a more GUI-based interface. You still enter text into a file but the GUI handles getting you to the right file. For a geek, it is quite nice. For a non-geek it will probably be irritating but usable.

Thus, it is a serious choice. The down-side is that it doesn't give you a way to integrate "other information" into the projects like PHProject does. In addition, in testing I managed to create something that TaskJuggler tells me is "Impossible Dependency" but I just don't see what it is.

OpenProj from Projity bills itself as the replacement for Microsoft Project. I hadn't looked at Microsoft Project for a very long time but, when I did, it was pretty useless. Well, OpenProj reminds me of why I developed that opinion. Oh well.

I took a quick look at jxProject. Quick because while it is almost free, it is not Open Source. The price didn't worry me but I just don't need a piece of software that I can't fix if that is needed. One more scratched from the list.

I want to give honorable mention to Trac. It's my idea of nice software that doesn't get in your way. It uses a Wiki for "other information" and adds an interface to Subversion. It's great for software project management but it is clearly not the took for building Geek Ranches.

While we are on diversions, check out Timeline. From their site

Timeline is a DHTML-based AJAXy widget for visualizing time-based events. It is like Google Maps for time-based information.
Timeline isn't going to schedule projects but it may be useful in looking at a schedule. And, well, it is pretty cool.

Getting back on track, I next looked at Planner from the Gnome project. It's far from done and lacks user documentation but it seems to be a good start at what is needed in generic project management. On the down side, no way to attach "other stuff" to what is going on.

As I gave Gnome a chance I figure I have to look at what the KDE world offers. Well, the answer is KPlato from the KOffice project. Unfortunately, I think the first sentence on the web page pretty much sums up the situation.

KPlato is a project management application. In this first public release we focus on planning and scheduling of projects.
Let's just say there is another possible option for the next time I am looking for the right answer.

Finally, I looked (once again) at dotproject It's actually a pretty nice system with a lot of capabilities. On the plus side is that it supports associating files with projects. My feeling is that dotProject could do what we need.

So, why the hesitation? Well, it's a big system. I see myself setting everything up and then becoming the person that has to update everything as well. Thus, project management becomes automated for everyone else at the expense of my time.

Let me confess that I made the above statement before I started working with dotProject again. I tried putting some information into it. I like it. It includes forums and a lot of nice stuff. Unfortunately, I made a bad assumption—that projects could have sub-projects. I entered a few sub-projects (fixing the road, getting the utilities in, building the main building, ...) first to try stuff out. I then wanted to create a project they would all belong to called "Phase I". No go.

This doesn't mean I will scrap dotProject but it does mean I need to think a bit about the structure. Tasks can have sub-tasks so clearly Phase I needs to become the project and all the things I think of as sub-projects become tasks. As tasks can have sub-tasks, this should work. Let's see.

Now What?

The scary thing is that this is generally about as far as I get no matter what type of project I want to manage and what software choices I look at. Maybe it is just my attitude problem—I want to get to work instead of turning the plan into a career.

Up to this point we have been using a Wiki to store all the information about the project. Virtually everything in the Wiki has been put there by me/updated by me. This is a good indication that the same will be true with the project management information—no matter how or where I store it.

This makes me come to a strange, and hopefully temporary, conclusion. I am going to go write a lot more stuff in the Wiki. Specifically, I am going to create a section that is just for various sub-projects. In those pages I will add what the task depends on, who will work on it, what sort of time is needed and such. In other words, a project plan with resource requirements for the sub-projects.

My hope is that, for the majority of the tasks at least, this Wiki description plus a start date will be sufficient. That doesn't mean there is no need for a master project schedule but, as depressing as this may sound, we do have space for a big whiteboard near the bathroom.

If the whiteboard idea becomes impractical, I will look once again at TaskJuggler, DotProject and Planner. It seems that they could replace the whiteboard without a lot of startup overhead.

______________________

Phil Hughes

Comments

Comment viewing options

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

Many thanks for the insight.

Jon Thomson's picture

Many thanks for the insight. I have tried bascamp and its a great pltform for inf sharing, however for a greater project management software application i'd go for countersofts gemini platform everytime.

Many thanks for the insight.

Software's picture

Many thanks for the insight. I have tried bascamp and its a great pltform for inf sharing, however for a greater project management software application i'd go for countersofts gemini platform everytime.

Thnaks for the simple

technologiez's picture

Thnaks for the simple explaination…always wanted to have indepth knowledge of what MVC was or it’s principle not knowing i have been adopting it since.

Unfortunately it seems all

Roger W's picture

Unfortunately it seems all such projects are either unfullfilling (planner), web-based (which I simply don't like) or written in java (which I also don't like plus it makes problems in tiling window managers).

:(

Try GTD-PHP

Anonymous's picture

How about gtd-php? It is made for personal organization-- the core, however, is projects with actions. And yes, projects can have subprojcts; items can be categorized, tagged, and rearranged; goals and deadlines can be set; or not. It can be as complex or simple as your project requires.

Project.net

Jon maddog Hall's picture

Hi Phil,

Project.net (www.project.net) is an Open Source product/project by ICS, the same people that used to support Motif and put on Xhibition back in the days when both of us had darker hair in our beards. Peter Winston is the CEO of ICS....you probably have met him.

You can run the software hosted, or pull it down to your own system. Source code is available from Sourceforge.

Please check it out, and please say hello to your wife for me.

maddog

Try Net office

Anonymous's picture

I've tried several for construction management. I've found one that I've been able to hack to suit the job for the most part. It's meant for software development but has all the pieces needed for construction jobs.
Php-Collab - Kinda dead
http://www.php-collab.com

netoffice - a fork of the Above - also dead
http://sourceforge.net/projects/netoffice/

dwins netoffice - yet another fork - actively developed
http://sourceforge.net/projects/netofficedwins/

FogBuzz

Maeghith's picture

What about Joel Spolsky's FoggBuzz? not free, but lots of hype :)

pmtool

Anonymous's picture

I've used PMtool for some time; it's not perfect, but it's simple and elegant and has everything that's needed for small projects, with few people.

http://sourceforge.net/projects/pmtool/

Basecamp?

War-N's picture

While not free (for multiple projects), if you just want something that works, check out Basecamp from 37signals.

http://basecamphq.com/

Basecamp

Mary Riley's picture

I've tried both Basecamp and HighRise from 37signals and I have to say, I like them quite a bit. They're as easy to use as Ruby on Rails...

Project app suggestion

bg's picture

I have been searching for something that fits my need and I like using TaskFreak now http://www.taskfreak.com
While it's not heavy on details, and may not work for your particular situation, it does everything I need, and it's free.

GanttProject

Anonymous's picture

What about GanttProject?
http://ganttproject.biz/

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState