Bug Tracking: If You Aren't Using Doing It, Then Your Software Will Be Poor

I blogged around a month ago stating "Version Control: You're a Fool If You Don't Use It".

Whilst the comments to that posting were pretty much all in agreement, I got some emails/IMs that weren't as enthusiastic, and thought I was being quite bold and abrasive in my claim, well....

...I'm about to make another...

If you aren't using bug tracking software you will continuously, and consistently release poor software.

The simple fact is that you need a proper way to organise all the things currently wrong with your code. It also gives you a way to record enhancements you or your customers would like to see. NO, a list of emails doesn't cut it.

Companies I have worked for in the past didn't maintain any formalised record of bugs - again, NO a list of emails doesn't cut it. Looking back, we simply were nowhere near as productive as we could have been, and yes, as far as I'm concerned, we released crap software. Fact.

The last company I worked for, before founding Fuzzy Orange, I put in place both Subversion and Trac. I put them in place before I did anything else, much to the annoyance of management. Given time though, management discovered that by doing so we ended up with a much more stable, maintainable and performant product. Don't get me wrong, they still complained about new features not being developed fast enough - what's new - but the product had regained credibility whereas before there was countless server restarts per day because the software was. Crap.

By using Trac, I had given the development team a centralised and searchable system whereby, we could all see:

  • All the (reported) outstanding bugs
  • Progress of each bug
  • What milestones we were working to, and how many bugs/enhancements we still had to squash

For management, who had read-only access, they could see reports that told them:

  • What our milestones were
  • An estimation of when these milestones would be reached
  • A count of just how many bugs were in the system
  • How many bugs we had closed, and how many were closed in a given timescale

Again, a list of emails doesn't count. It doesn't give you the information you, or your fellow staffers need. You need a way to record bugs, prioritise them, assign them to developers, assign them to milestones, and you need a way to search them. So once again I will state, If you aren't using bug tracking software you will continuously, and consistently release poor software.

So, there is a question that needs to be asked. Why do software development teams operate without a bug tracker? And believe me, there are a lot who don't.

1) I'm a single developer, so I don't need one

This argument is given often, not just for bug tracking, but also when discussing version control. However, you're 100% wrong. Nope, no argument. You're plain wrong.

Even if you are the sole developer at a company, think of yourself as a development team that currently has a single person. This team may grow, and if you don't act now you'll just make life harder for yourself down the line. Additionally, using a bug tracker can allow you to track and prioritise your time and this will lead to you becoming more productive.

2) Don't have time to put one in place

Complete cop-out. You can have bug tracking software up and running in an hour.

3) All the bug trackers out there are way too complex

Then write your own. Create a single database table with the following fields.

  • Short Description
  • Date Created
  • Steps to Reproduce
  • What Should Happen
  • What Does Happen
  • Bug Owner
  • Who is it Assigned to
  • Is it fixed

Now just throw together a simple interface for this.

4) They cost too much

Absolute rubbish.

5) We don't have the expertise, environment, resources to put this in place

Then use a hosted solution such as CVS Dude to do it all for you.

There is no excuse for not having bug tracking software in place.

Related Blog Entries

Comments

Gary F's Gravatar That told them, daddy. ;-)
# Posted By Gary F | 29/08/07 10:27

Jim Priest's Gravatar Great post. I haven't had time to mess with it yet but if you use Eclipse/CFEclipse - there is a plugin called Mylyn (http://www.eclipse.org/mylyn/) that integrates your task list within Eclipse. The neat thing is it can connect to Trac as well - looks very neat. I've been using Trac more and more and really rely on it now. Between the wiki for project documentation - and the ticket system for requests and bugs...
# Posted By Jim Priest | 29/08/07 13:44

JohnEric's Gravatar We have six developers and use SVN, JIRA, and Confluence. Since we have put those programs to use we have seen a marked increase in the quality of our applications and our development process. We can't even fathom how we were able to cope without version control and issue tracking.
# Posted By JohnEric | 29/08/07 15:59

Andy Allan's Gravatar I've been using Mylyn/Mylar for a while and I intend to do a post in the future about just how nicely the CFEclipse/SVN/Trac integration works, and just how much better a developer it can make you (Productivity wise).
# Posted By Andy Allan | 29/08/07 17:42

ziggy's Gravatar Project Tracker on riaforge is in coldfusion and like Basecamp - would be nice if people could help polish a few things in it, though it is quite nice already. Check it out. http://projecttracker.riaforge.org/
# Posted By ziggy | 30/08/07 05:29

Dan LaSota's Gravatar Quick question about your proposed simple table.

What is "Bug Owner"?

Is that the person who reported the bug? Or the person who is supposed to be fixing it? (Or something else?)

Thanks.
# Posted By Dan LaSota | 26/02/08 23:13

Scotch on the Rocks 2008