How (not) to speed up the system

Electronic components manufacturer's shipping system is having problems, but the original programmer is long gone, so this pilot fish is asked to take a look.

"It's a pretty simple application to use," says fish. "The operator is supposed to scan the serial number of each item as it's placed in a box, and then a label is printed with the box quantity, along with a unique ID and barcode.

"The barcode is then scanned in another system which is used by the shipping company to track the box and its contents."

The system only allows a certain number of parts to go in each box, depending on the part, and each part can only be scanned once. But something is going wrong: The quantity printed on the label is far greater than the software should allow, and that's causing problems in the shipping department.

Fish looks over the code, and it seems pretty straightforward. He runs tests on his own, and each time the system performs as it should.

There's only one thing to do: travel to the area where the problem is being reported.

"The morning I arrived, I was given a quick tour of the building and then I went to the shipping area, where I was introduced to a recent hire who started shortly before the system began giving problems," fish says.

"I asked him to show me how he uses the system. He took a box of parts and began stacking them along a conveyor belt until he had filled the belt. I figured he was going to pick up each item and scan it as he put them in the box, and the conveyor belt would slowly move each piece to him."

But that's not what fish sees as he keeps watching. The employee has arranged each part with its serial number was showing. He grabs his scan gun and walks briskly alongside the conveyor belt, scanning each unit as he goes by.

In less than five seconds he has scanned 30 units, and the system is printing out labels as quickly as it can -- and each one is incorrect.

"See?" he says proudly. "The system is broken!"

Reports fish: "I informed the manager that, while the problem was due to his employee, I really considered it to be a flaw in the system that allowed this behavior, and promised to come up with a solution.

"When I got back I added some code to prevent a scan until the previous scan had finished processing, and for the system to not allow any units to be scanned until the printed label had been scanned to verify the operator had removed the label from the printer."

Got creative users? Tell Sharky about 'em. Send me your true tale of IT life at sharky@computerworld.com. You can also comment on today's tale at Sharky's Google+ community, and read thousands of great old tales in the Sharkives.

Get Sharky's outtakes from the IT Theater of the Absurd delivered directly to your Inbox. Subscribe now to the Daily Shark Newsletter.

Related:
First look: Office 2019’s likeliest new features
  
Shop Tech Products at Amazon