New spreadsheet accompanying SmartAssembly 6.0 provides statistics for prioritizing bug fixes

One problem developers face is how to prioritize the many voices providing input into software bugs. If there is something wrong with a function that is the darling of a particular user, he or she tends to want action – now!

The developer’s dilemma is how to ascertain that the problem is major or minor, and when it should be addressed.

Now there is a new spreadsheet accompanying SmartAssembly that provides exactly that information in an objective manner. This might upset those used to getting their way by being the loudest or pushiest, but ultimately it will ensure that the biggest problems get the priority they deserve.

Here’s how it works: Feature Usage Reporting (FUR) in SmartAssembly 6.0 provides a wealth of data about how your software is used by its end-users, but in the SmartAssembly UI the data isn’t mined to its full extent. The new Excel spreadsheet for FUR extracts statistics from that data and presents them in easy-to-understand forms.

I developed the spreadsheet feature in Microsoft Excel, using a fair amount of VBA. The spreadsheet connects directly to the database which stores the feature-usage data, and shows a wide variety of statistics and tables extracted from that data.  You want to know what percentage of users have used the ‘Export as XML’ button?  No problem.  How popular is v5.3 is compared to v5.1?  There’s graphs for that. You need to know whether you have more users in Russia or Brazil? There’s a big pie chart for that.

I recently witnessed the spreadsheet in use here at Red Gate Software.

My bug is exposed as minor

While testing new features in .NET Reflector, I found a usability bug in the Refresh button and filed it in the Red Gate bug-tracking system. The bug was labelled “V.NEXT MINOR,” which means it would be fixed in the next point release.

Although I’m a professional tester, I’m not much different than most software users when they discover a bug that affects them personally: I wanted it fixed immediately. There was an ulterior motive at play here, of course. I would get to see my colleagues put the spreadsheet to work.

The Reflector team loaded up the spreadsheet to view the feature-usage statistics that SmartAssembly collected for the refresh button.

The resulting statistics showed that only 8% of users have ever pressed the Refresh button, and only 2.6% of sessions involve pressing the button. When Refresh is used, it’s only pressed on average 1.6 times a session, with a maximum of 8 times during a session. This was in stark contrast to what I was doing as a conscientious tester: pressing it dozens of times per session.


On to more serious things

Based on the solid evidence uncovered by the spreadsheet, the Reflector team concluded that my experience does not represent that of the vast majority of Reflector’s recorded users. The Reflector team had ample data to send me back to my desk and keep the bug classified as “V.NEXT MINOR.” The team then went back to fixing more serious bugs.

If I’m in the shoes of the user, I might not be thoroughly happy, but I cannot deny that the evidence clearly placed me in a very small minority. Next time I’m hoping the spreadsheet will prove that my bug is more important.

Find out more about Feature-Usage Reporting here.

The spreadsheet is available for free download here.