Saturday, August 7, 2010

Fix Never

Back in the day, the Macromedia Director team used a clunky FileMaker Pro database to store its bug reports. It ran on a PowerMac in the test lab with a handwritten sign threatening hellfire and damnation against anyone who so much as touched the machine. This was because the whole team -- the whole project, really -- relied on that system's continued health.

FileMaker Pro was kind of an unusual choice for a mission critical database in the mid-to-late 1990s. Those of you familiar with that general vintage of FileMaker are probably wondering why we bothered to put it with its limitations (slow search & retrieval, record locking issues, long recovery delay after db crashes, etc).

One reason was historical. Every Director bugbase since version 3.1.3 was built in FileMaker, so switching to another DBMS would have required migrating scripts or maintaining parallel systems for researching old bugs.

But the real reason was simpler: FileMaker's client UI was readily customizable, and the Director team took full advantage of that capability.

I wish I had a screenshot of that UI. The main screen was jam-packed full of little buttons and textfields, reflecting years of accreted process improvements. It was ugly. But more importantly it was functional, and highly optimized to our team's workflow.

Something that still tickles me about the Director bugbase was one shimmering feature of brutal honesty. It was the scrub team's job to prioritize bugs. They had their choice from a drop-down list of defined dispositions: Fix By Alpha, Fix By Beta, Fix By Ship, Fix Future Release... and a very special option called Fix Never.

That was reserved for bugs which were trivial, moot, utterly lacking in necessity. Also for bugs that couldn't possibly be fixed without destabilizing the entire product. Either way, nobody on the scrub team was capable of imagining a day that the effort to fix it could ever be judged worthwhile. Hence: Fix Never.

I haven't seen a bug database with such honesty since.

No comments:

Post a Comment