I’ve been on a search for a good tool to do my project planning with. There seem to be many tools designed to track the progress of projects that are already in progress, but not much that helps you plan the project.

There is often a lot of work done on the frontside of a project to determine the relationship between features and schedule. I feel like there should be a tool that helps project planners easily add or subtract things and determine the effect on the overall project planning.

Here’s what my dream work flow is:

Graphically create a tree of all tasks that need to be completed in the project. The tree defines the dependancies between the tasks.

Add time estimates to each task. Ex: 3 days, or 2 weeks etc. Assign a person to each task. Pick a start date for the project. Have the tool automatically calculate what the start and end dates for each task will be Add or subtract tasks to adjust the end date to my liking and see the results.

Step six is the actual work in project planning, but I find that I spend most of my time manually doing steps 1–5 using a combination of sticky notes and several tools.

Existing Tools

I’ve tried out seemingly every major project management suite out there, but I can’t seem to find what I want.

Here’s the list of tools that I’ve tried that technically support dependencies, but require the project planner to manually adjust start / end dates.

Aha.io

Smartsheet

Mavenlink

Omniplanner — This one doesn’t really have the ability to create the dependencies graphically. It also only runs on Apple products :(.

There are a few tools that come very close to what I want:

Casual.pm

Casual definitely nails the graphical layout element. It’s easy to drag things around and assign people to different tasks. Unfortunately, the mainline tool doesn’t have any concept of time estimates for tasks. This feature is in Beta right now, but falls short in one major area: it doesn’t understand that people have finite bandwidth.

For example, if a person has two parallel, one day tasks assigned to them, the tool will report that both tasks should be completed the next day. In reality, that person can only complete a finite amount of work in a day, so only one of the tasks will be completed that day.

Digispoke

Digispoke is very similar to Casual. It has an equally easy to use graphical dependency tree. It includes time estimates and the ability to assign engineers to tasks.

Like Casual unfortunately, it also doesn’t understand that each engineer can only complete one day of work in a calendar day. This is easy to see in Digispoke’s Gantt chart view:

Wishlist

Cross Platform— Engineers need to work on a wide variety of operating systems like Windows and obscure Linux distros.

Versioning System — Reviewing projects and their revision history is often useful in creating the estimates for the next one.

Confidence Intervals — When embarking on a new project, the actual estimates are likely to be wrong. Having the ability to add confidence intervals would be awesome.

Summary

I feel like I have a fairly reasonable mental model for how to plan complex projects, however, no seemingly adequate tools exist.

I’d love to hear if anyone knows of a tool I’ve missed.

In the meantime, I’ll be starting to create my own open source version. Follow me here for updates on the project as I work through it.