Wednesday, March 14, 2007

Bug / Feature Tracking System

A couple of posts back I said that I wanted to setup various tools that could help me work like a professional dev shop. Incidentally I have since learned of the term "MicroISV" which is an Independent Software Vendor comprising less than 5 people, usually only one. Isn't that cool that there's a name for it now? There's even a book! (On my wishlist, oh yeah!)

Where was I? Tools! Yes, next on the list was a bug tracking system which I wanted to use not so much to track bugs but to track features. I want to keep my development agile which means that as I'm working I often find something I'd like to do, such as write a nice smart pointer to wrap an SDL_Surface pointer which will free it automatically. But nice as this sort of thing is, it is not essential to my goals right now and will only slow me down. But I don't want to lose the idea. So instead, I'd raise an issue in a tracking system and store it for later. When I'm doing new work I'll do a mixture of new features, infrastructure type work, refactoring and so on.

I thought finding such a system would be easy. It had to be free and I wanted it simple because I am the only person using it. I did a quick search and came up with a shortlist:
I didn't even try Bugzilla, it's server side software usually installed on Linux and its heavy-weight. I know its good and stable and fully featured blah blah but its just too complicated for little old me!

The first one I tried was Issue Tracker. I got this working reasonably easily but I had to use it within something called Zope which was a bit bizarre and it just didn't seem very configurable. When I entered some issues I couldnt see a number, only a list of the titles and I'd like to be able to easily see a reference number for hooking up to subversion for instance.

Next... Mantis. This thing is written in Php. They're not kidding. When I "installed" it I simply had a bunch of php files on my hard drive. The documentation left me clueless. I figured I could have persisted but the screenshots didn't inspire me with awe so I moved on.

BugTracker.NET. Ugh more dodgy pre-requisistes - I needed IIS installed and configured to ASP.NET 2.0. I just didn't want to go there so I searched again and found a nice list on Dmoz. After looking at about a dozen of obviusly highly commercial systems I noticed that my dmoz list I was looking at had a filter for free systems so I tried that :-)

I eventually found Roundup and installation was reasonably straight forward. The documentation was comprehensive and above all, correct. I managed to configure the database with my own preferences for Priority, Status etc and it works nicely and I also know that if I need to do more with it, it's highly configurable and I just have to invest more time with the documentation.

Here's a pic:

2 comments:

peterbe said...

"[Zope] just didn't seem very configurable."
I'm almost offended. Zope has been around and matured since 1995 or something. It's highly configurable but if you found it not so, then that's Zope's fault for not making itself more obvious.

The IssueTrackerProduct has an option to show the ID numbers. You see it if you go through the Properties Wizard when you set it up. Again, the fact that this wasn't obvious to you is entirely my fault since I'm the author of IssueTrackerProduct.

Good luck with Roundup. I'm sure it's got good plumbing and good documentation but I'm not sure how user friendly it is. Personally, I think one of the best features of the IssueTrackerProduct is that it's entirely possible to navigate about using only the keyboard, eg. 'n' moves focus to next issue, 'p' to previous, 'g'+'a' means "Go to Add Issue" etc.

Bob Walsh said...

Glad my book, Micro-ISV: From Vision to Reality made your wishlist!

Another title I'd recommend is Windows Developer Power Tools - excellent resource.