When this application programmer pilot fish takes a job in a factory environment, his co-workers warn him to watch out for a user named Barney -- and with good reason.
"They told me to never use Barney for testing because Barney would 'always find a way to screw up your program,'" fish reports.
"Sure enough, when I released my first application, Barney broke it by deleting some sound files my application used. I fixed this by embedding the .WAV files in the executable file."
And as time goes by, it's clear that's just the kind of thing Barney does -- and it's infuriating. But fish takes that as a challenge, and sets himself a goal: Create an application that even Barney can't screw up.
So he tries to think like Barney -- and soon begins to make sure drop-down selections can't be edited, date formats have to be in the proper order, and printers must be selected before printing a report.
Fish also starts adding "Test Printer" buttons to ensure that the printer actually works. He begins putting in checks to verify that numeric fields are actually numeric, and that if a field is only 50 characters long, the user can only type 50 characters and not key in something book-length, and to make sure that if users change screen colors, the application's input fields aren't darkened out.
And eventually fish figures out the value of putting in a switch for logging, and keeping two weeks' worth of daily log files on a separate server so they're available for debugging -- and he comes up with a practical way of pushing new-feature and bug-release updates to his applications remotely.
"After several years, my applications became Barney-proof and my manager began encouraging the other developers throughout the company to adopt my standards for testing and logging to make our support easier," says fish.
"I recently won a support award for my work, and the first thing I did was walk out to my user, shake his hand and say, 'Thanks, Barney, for challenging me!'"
Sharky's big challenge is finding true tales of IT life to deliver fresh daily. Help me out by sending me your stories at sharky@computerworld.com. You'll get a stylish Shark shirt every time I use one. Comment on today's tale at Sharky's Google+ community, and read thousands of great old tales in the Sharkives.
Get your daily dose of out-takes from the IT Theater of the Absurd delivered directly to your Inbox. Subscribe now to the Daily Shark Newsletter.