Labels

I've looked at dozens of bug trackers both commercial and open source. They all have some common features; CRUD bugs, see them in lists with filtering and sorting, create your own set of bug attributes, 'my views' to see bugs that are assigned to you, management reports, and metrics. Some will interface with your version control software, and some, mostly the commercial ones will give you customization tools. The best tools are either components of a project tracking tool or allow you to interface to them so that bugs that are merged and prioritized with other tasks assigned to the Development and QA team.

Two Key Featured for Agile Development Teams

For me, there are two key features of bug trackers. First is the ability to create custom attributes and forms. Attributes are important to help categorize and track different types of defects. Customizing forms makes it easier to edit/update bugs efficiently. So for example, the form for entering new bugs often contains fields that describe the bug using text and metadata while 'edit forms' provide fields to update the bug's status.

Many bug trackers do not contain my second key feature. I need the ability to batch create and edit bugs in a grid/spreadsheet like form. I want to pick the fields that I want to work on and store them in a view, use filters to pick a set of bugs out and then scroll around the grid to make changes. This feature is absolutely critical if you use a bug tracker to create and monitor test cases for a release. It's also important if you practice agile development cycles and need hyper-efficient tools.

I know Mercury's Test Director can do this and I've built a sophisticated bug tracking app using Intuit's Quickbase that had similar features. I haven't seen any open source bug trackers with this feature, but then again, I haven't done an exhaustive search.

Using Spreadsheets for Bug and Test TrackingI can picture some of you cringing out there... I know many managers have used spreadsheets for tracking processes and projects and will list out many deficiencies. Using spreadsheets to track test cases or bugs makes it difficult protect data, promote sharing, and archive data for long term analysis. But we all do it from time to time because it's so easy to create spreadsheets. It comes down to the two features I described above; the ability to create custom fields and the ability to do batch entries and updates.

The first issue you hit with spreadsheets is the ability to share them. We've all tried shipping them via email, putting them on a file server, or even putting them in document or content management systems to help share the file with other team members. But all these methods pretty much restrict you to one file editor at a time. Developers get frustrated and tired of this quickly and then the process can easily break down.

Enter Google Spreadsheets

Google spreadsheets is a web based application. You can create the spreadsheet, list out your bugs or test cases and then give team members access to update them. It's not a perfect system for tracking defects, for example, you can't create a threaded conversation between multiple developers, testers, and business managers over a bug or test case. You also can't prevent people from deleting bugs or create role based access to the data fields. But for small teams that need to track bugs and manage test cases for short development cycles this tool does the job.

What this means...

If you're a workflow tool provider whether it be bug tracking, project management, CRM, sales force management... recognize the notch is raised. All these tools need user interfaces that let people perform batch entries and edits but many tool providers are behind the curve. Now that dynamic web interfaces using AJAX are available in a significant number of web tools and because Google and others have shown that batch editing is feasible, it's time to catch up.

We still have an open position for a Java Developer so if you think you're up to snuff, look up the job description on CraigsList New York (search jobs for TripConnect) and send in your resume.

Good Read: How Google Works

One thing I recommend checking out is Baseline Magazine's article How Google Works. Assuming the facts are all accurate, it gives some insight on the guts of Google's system architecture and lower level software components. I can see why the brightest software engineers flock to Google on a whole new level. Where else do you get to reinvent hardcore algorithms like GFS and BigTable, then see it applied to solve large scale performance and scalability problems? Obviously, there's a lot of details that will never reach us outsiders, but it looks like Google has a software architecture that's synonymous with DNA; small generalized computation elements and algorithms that are building blocks to solving large scale computations with both fault tolerance and scale factored in. Very cool.