Much is made of source and revision control in software development, and rightfully so. When bad code is implemented and breaks the application, the app needs to be rolled back to a working state. But what about bugs and issue tracking? The process for submitting and tracking the flow of issues discovered during development is just as important. To handle this, a bugbase of any kind is preferable to an excel spreadsheet or a series of emails. Emails can be lost, deleted, or simply never received. Spreadsheets or bug sheets often suffer from immediate obsolescence. The accuracy of a bug sheet relies heavily on a single person sending it off to the right people at the right time, and tracking who has which version of that bug sheet; which is tiresome at best.
Like any good data base, bugbases serve to consolidate all of that data and reduce the extraneous noise — provided they are maintained. Without a doubt, the maintenance of a bugbase is just as important as maintaining a code repository. An updated bugbase will drop the incidence of bug duplication and it becomes easier to manage and follow up on issues. In addition, bugbases are not just for the testers who are working to break the application or the devs who are working to fix it. They are an invaluable tool for project leads and managers. A good, updated issue-tracker can give a snapshot into the relative health of the application and the progress it is making towards becoming ready for launch. Correct use of it makes people take ownership of issues and reduces the ambiguity of who is responsible for what. Bugs can be assigned to an individual to be fixed and issues can be assigned back to a tester to verify that fix. Fixes can be deferred to a later build and FAQ’s can be fleshed out using the issues discovered over the course of testing. Data repositories, be they for tracking code or for tracking issues, are tools which are only as good and useful as the work put in to maintaining them.