Bugs: Eat 'Em For Breakfast
We've all encountered more than our fair share – but until recently it's always been someone else's problem to solve. I'm talking, of course, about the much-despised but often-encountered enemy of all software projects: the bug. These days, however, with just about everyone building a web site of one form or another, bugs aren't just someone else's problem to solve, they're ours. Fortunately, there's a quick, easy and efficient solution.
Like the praying mantis, which tracks and eats other bugs, Mantis bug tracking software lets you eat software bugs for breakfast. There's nothing quite as frustrating as running into a show-stopper bug and not being able to fix it immediately, but putting a bug into a bug tracking database means it's not just out there flying around – it's documented and ready to be fixed. It may not be solved, but it's not going to get lost in the shuffle.
Bug Tracking And You
Bug tracking and resolution is an integral part of every software project, large or small. Bugs arise for a variety of reasons. Bugs can be the result of different expectations on the part of the developers and designers. Often they are simply a natural part of the product development process: nothing comes out perfect the first time. Bugs also appear as the result of edge case testing, when an end user tries some kind of input that the system wasn't designed to handle such as an extra long user name, a strangely formatted phone number, or an unexpected web browser.
By far the easiest way to avoid major bugs is to specify what's in and what's not from the very beginning. A wiki is one of the easiest collaborative ways to describe the requirements for a project at a high level. Planning to support Internet Explorer but not Firefox (can't imagine that, but hey, it could happen)? It's best to document that in the project definition before getting started.
Avoiding Feature Creep
Once you've defined your project at a high level, and asked and answered questions back and forth between developer and designer, a bug tracking system is a great way to store future features as well as bugs in the current version. Feature creep can kill a project (more on that later), but one great way to put an end to feature creep is to document every new feature in the bug tracking database so that the person who came up with the feature knows that that feature will be considered in a future version. There's often as much satisfaction in knowing you've been heard as in having what you say acted upon immediately.
The Bug Reporting Process
Most importantly, a bug tracking database provides a shared repository where both bug reporter and developer can see the bug and communicate about it. The bug tracking process works as follows:
Development => Release => Test => Bug Report => Fix => Retest => Close
A good bug report should clearly articulate how to reproduce the bug (First, log in as user A, then go to page B, and enter information C in field D, and you will see error E.) That way the developer can quickly reproduce the bug and figure out where the problem is. A great bug report can result in a fast fix, so it's worth investing the time it takes to document the problem.
If the problem is reported as fixed but it really isn't, a bug tracking system provides a place where continued communication about the bug can happen. Moreover, existing bugs can be found by other bug reporters, so that not only do the bugs not have to be re-reported, but they also don't have to be re-investigated by developers. That saves time for everyone.
Choosing a Bug Tracking System
There are a number of bug tracking systems available – both free and paid. Some people even build their own systems, and some of the most popular bug tracking systems such as Mantis and Bugzilla were the result of just that – systems that were built as a necessity for other projects that were under development.
We've used both Bugzilla and Mantis on multiple projects, and a lot of it comes down to a matter of preference. If you're familiar with one system, it may just be easier to stick with it rather than trying to learn something new. If, however, you're starting from scratch, we highly recommend mantis. It's quick and easy and has a great user interface. Built-in email notification lets you notify developers, bug reports, and others about changes in bug status. It's also incredibly easy to install on just about any operating system.
That said, the time a bug reporting system usually becomes a high priority issue is when there are suddenly a bunch of bugs to report! The last thing you want to have to deal with is installing and maintaining your own bug reporting system. That's why at sypad.com you'll soon be able to use our integrated, mantis-based bug reporting system. Create your own private project and start reporting bugs – all via our easy to use, install-free hosted bug tracking service.
Next Time: Is It Time For Dinner Yet? (Or, what's a bug count and what does it mean?)
developers community
Delicious
Digg
Google