One of the most common tasks a software developer will perform is that of creating a bug or a task in an issue-tracking system. Before a task or a case is created, the developer should search for an existing case in the system so as to avoid duplicates. This should, then, according to Amdahl's Law1, be very fast and simple to do.

Team Foundation Server, however, does not make this simple and fast. Please excuse me for not having the energy to articulate the failings of TFS in this respect, and simply offer a solution instead.

Enter EasyTfs.

EasyTfs will search your TFS database as you type, allows per-field matching, regular expressions and all sorts of other goodies that real issue tracking systems have had for years.

Searching for "coffee" in our TFS database here results in this:

image

We could also search for "createdby:tullemans coffee", "cr:dan coffee" or simply "3165" (the work item number). Image attachments (.png and .jpg) are displayed as thumbnails by default and can be displayed full-screen just by clicking on them.

Searches are quick, too :)

image

It's read-only and ignores work-item security for the present (early beta and all that), but it's fast and has already saved our team a huge amount of time, both in simply finding cases that we know exist, and also in avoiding raising duplicate cases because it's so much easier to search for them.

It's open-source (GPLv2), and you can find both the source code and a Windows installer (.MSI) at easytfs.codeplex.com.

1 which can be summarised as, "Make the common case fast, damn you!"