Sunday, October 17, 2010

Subtasks: Dumping FogBugz for Redmine

As you'll note in an earlier post, my wife and I had been using FogBugz for issue tracking – but I was dissatisfied with it. As I remarked in that post, the installation instructions and general support for any server platform other than Windows are mediocre. And in version 6 (which we were running), the wiki didn't support Safari.

But what was really annoying was that FogBugz 6 didn't support subtasks.

I personally find subtasks incredibly useful for organizing work! I like to take a big task – such as a major feature that may take a week or two – and break it down into sub-tasks, and sub-sub-tasks, and so on, to a level of granularity where each bottom-level task is clear and easy to complete in a few hours or less. Then I can just do them, and tick them off, and when all the lower-level tasks are done, the top-level task is done.

So when I upgraded our version-control and issue tracking server to Ubuntu Lucid, I thought, "I can get subtasks by upgrading FogBugz to version 7. Or I can look around and see if there are any alternatives."

But when I started looking around, I was amazed to see that, despite how many requests you'll see for subtask support, few issue tracking systems do it well! Trac doesn't do it at all. And as I found out when working at Kno, Jira only offers one level of subtasks – which isn't enough for me as a lone developer, let alone for what we were trying to do at Kno.

It was particularly astonishing to me because subtasks are a tree, and for a competent computer scientist, trees should be trivial. All I can figure is that the people who originally designed these systems didn't even consider the need for hierarchy, and then found that extending it was difficult. And even that I find odd, because most of them are based on relational databases, and adding a "parent task" column to the "task" table shouldn't be hard. So they must have put some unusual roadblocks in their own way.

And then, like the sun rising after a storm, I found... Redmine. It's open-source (e.g. free as in beer). It has unlimited levels of sub-tasks. It has custom fields. It has a wiki that works with every browser I've tried it with. It has forums. It's easier to install on Ubuntu than FogBugz – even from source (which I did). I just love it.

Well, except that (as of Oct. 1o, 2010) its documentation is very incomplete, and some operations can only be done in a clunky way. But at least you can do them! And I'll explain one thing I figured out how to do in the next post.

2 comments:

Eric Fung said...

Hi guys .. I am actually running into this exact issue and I am trying to migrate data from FogBugs to Redmine.

So far with the fogbugs python API I was able to extract the data in xml forms as well as all the attachments in a case.
I was wondering if you guys have any idea about how to Fogbugs xml is going to map to the redmine. And how that can be done ??

The documentation isn't helpful at all

Please let me know
thank you so much

krypton said...

We had the same issue for our needs and we ended up writing our own migration scripts (I hired a dedicated engineer for this work).