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.



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.