Software blast from the past…
Ever smell something that brings back a memory from way long ago?
I had the same sort of experience today but it was because I saw a software display screen.
I was in a popular discount store in the Southeast US today and the cashier was having some problems ringing up my order. I checked out the screen and saw a software program that I worked on 10 years ago. I used to work for a Point of Sale software company and we developed a custom POS software package for this client.
Our client had invested hundreds of thousands of dollars in a particular brand and model of standalone dedicated cash registers over the years. Unfortunately they based their store accounting systems on this model and it was no longer being produced. They tried to find a replacement but they weren't happy with the more recent models from the same vendor.
Faced with the extinction of the hardware that they favored, they decided to roll out PC based replacement systems and contacted us to write the Point of Sale software. The software had to emulate the dedicated cash register functionality so cashiers would not have to be retrained. It also had to interface to their backroom systems the same way.
We had a lot of experience interfacing with the company that produced their cash registers so we wrote the package for them to emulate the functionality of the old register with a few basic enhancements to make the cashiers life easier (product lookup, etc).
The part that I remembered while the cashier was trying to get my items to scan was that they rejected our first release of the software. We were stymied. We had spent an inordinate amount of time QAing this software, checking and rechecking the calculations and daily totals to make sure everything was correct down to the penny.
After they QA'ed and rejected the software they sent us a list of bugs in the original register that they wanted reproduced in our package. Yes, that's right, the customer was asking us to introduce bugs. Turns out they wanted an EXACT replacement for the hardware they were used to dealing with, bugs and all. Doing the math CORRECTLY was not as important as making sure all output from all stores was the same during the rollout.