Choosing a bug tracking system for your company can be one of the most important and difficult decisions that you are going to make. Most importantly the product (or design) chosen must translate well to the total needs of the entire IT Team.
A successful bug tracking system is going to be used by all groups in IT, not just QA staff members. In fact, a semi-mature organization will find its business owners and product managers also actively using the bug tracking system. In the old days managers were fine with receiving weekly status reports from the QA Manager, but no more. Today's managers want to be kept up-to-date, which means they want to know real-time the status of projects. Even a daily update for business owners is not enough.
Towards this design, today's bug tracking systems must address many needs. It may need to support RSS feeds, allow for easy ability to add e-mail addresses for update notification, allow for CSS style sheets, may need to integrate with an external database, and may need to integrate with test scripts and test plans. The choice of what technology is used is not quite as paramount as the ability translate well within the enterprise. When I say translate well, I mean integrate seamlessly into the framework that your company uses.
I've seen great problem tracking systems built in things from FileMaker, PHP, Java, Ruby on Rails, etc. Another very important consideration is that home grown may not always be a good choice. Yes you can theoretically have flexibility because you own the whole thing and don't have to deal with proprietary code, but if you need support and have issues you may be out of luck unless you have a development staff with ability to support the system. Also, what platform and network environment your company uses will play a critical role in which software you can ultimately use.
My personal favorite systems have been commercial or open-source supported products. By open-source supported I mean a "free" open source system for which you can receive 24/7 support for. There are several good choices.
Free can sound wonderful at first glance, but total cost of ownership, what you're going to have to pay in the long run to support resolution of bugs within the bug tracking software, development staff to update pages and scripts, etc. can be much more costly in the mid to long term.
Also, a simple product is usually a better choice than a highly complex system. Again, remember your userbase - business and technologists will both be using the system, and in all probability many other non-tech people may have ability to enter bugs so it must be simple and straightforward to use. Most bug tracking systems will require a back-end database such as MySQL, Oracle, or similar in order to store the data. Make sure that your choice will support the technologies that you are currently using (as long as you are going to be sticking with those technologies).
Questions to ask yourself when choosing a bug tracking system
1) What technologies are we currently using?
2) What is our server architecture - what web server are we using for our Intranet, Extranet, etc.
3) Do I want to consider using a web-based solution? Am I concerned about proprietary information potentially getting compromised on someone else's server?
4) How would my customers (internal and external) react to having their data (e.g. bugs and features) posted external to your organization?
5) What existing software technologies do I need to support?
6) What technologies must integrate with our problem tracking system?
7) Is 24/7 support available for the product? If so, what are the maintenance and support fees? (be sure to add these into your cost estimates)
8) If going with open-source, do I have development staff who are knowledgeable in that programming language who could potentially write new features and resolve issues?
9) How long has the company been in business? Are they a public company? If not then how big is their company? How large is their support department and are they 24/7?
10) How are updates to their products delivered? Through the web or do I have to wait for a CD or other update?
11) Are their development staff available to discuss issues?
12) What other companies are using their software? Speak with some of their existing customers and see how they like the product.
13) Does the vendor offer a 30, 60, 90 day or longer trial so that you can first make sure the product will meet your needs? Many companies will offer at least a 30 day trial.
These are just a few ideas and some basic things to consider when choosing a problem tracking system. There are many more considerations when making your choice. Unfortunately in many cases you won't know how good a system will be until you've had time to let it bake and have time to look under the hood. Following these basics can at least help you avoid common errors.
There seem to be so many choices available - from shareware/freeware to very expensive solutions. We'd like to know what the best solution is and why.
Post new comment