The resistance stage of stress is the second stage of stress where your body develops increased capacity to counter the stress. It is OK for a short period. But it leads to body exhaustion if one remains in this stage for a longer time.
I once reached to this stage for a week last year while executing one "point of sale" order. Fortunately, everything went well after a week and I needed one full week of rest to recuperate.
And the story goes like this...
We own the brand KISS POS point of sale system and we have hundreds of installations in Wellington and other parts of New Zealand. I came across this "Four Square" owner who wanted to break away from Four Square franchise and run an independent store (Those readers who are not from New Zealand, Four Square is a chain of grocery stores in New Zealand).
The owner asked me to help him achieve this transfer as seamlessly as possible. I checked the database of his present system. It was not too difficult to import the database to my database. But knowing these people I explained to him that every software has its own good points and weak points. You have been using this software for the last 10-15 years and you are too used to it. Although basic functionalities in all POS software are quite similar, still you will have to become used to the new software. He agreed.
Then came the real problem. His software had bi-directional communication between the EFTPOS machine and the POS system where ours has unidirectional communication. What it means is KISS POS will send the "dollar amount" information to EFTPOS machine but you will need to check on the EFTPOS machine display whether the transaction is denied or accepted. And he definitely wanted that feature.
Although, it was achievable but still a bit difficult. I decided to take a risk and asked him that if he is ready to use my KISS POS without this feature for 3 months, we will develop and provide him with this additional feature after 3 months. He agreed.
And that was the beginning of my reaching the resistance stage of stress.
I met Verifone's technical guys and understood the process. Designed my road map for this integration. Posted job on Victoria university's "Student job search website" giving the details of what is required to be done. Interviewed 10 students. Finally, a girl asked me whether she can get more time to give an estimate of the number of hours required to complete the job as it is her first part-time contract. She comes back after 2 days with one-third of software module already done. I was surprised. I said you have not yet got this job. She said she wanted to know the number of hours required perfectly well, so she decided to complete a part of it. I checked the work and it was really well done.
At this stage, I started wondering whether she is simply naive or super smart. if she is naive, I liked her ethics. If she was too smart, she definitely outsmarted me in my own game. Either way, it was a win-win situation for both parties. Anyway, I gave her the job contract. She completed the job in time.
Now it was time to take the software to Verifone and Paymark for certification. We went to their office very confidently assuming everything is in place and there is no reason the software will not pass the test. I showed all the functionalities to the engineer in-charge by physically interfacing the KISS POS machine with Verifone's EFTPOS machine. I thought he will be impressed with our achievement in such a short time.
But I saw a wicked kind of smile on his face. He said, everything looks fine but let us make an actual transaction. He made a dummy sale on KISS POS, data reached the EFTPOS machine and suddenly he pulled the power chord of KISS POS machine. I restarted the machine (At that very moment I realized what he wanted to show and I knew software has failed the test). What an oversight on my part. Anyway, we started the machine and as I expected, this guy said, the transaction has gone through but the customer is insisting on receipt. Where is the receipt? When we switched off the machine KISS POS sent the data to the EFTPOS machine without retaining the data in the database. Under normal circumstances, it retains the data after receiving an acknowledgement from the EFTPOS machine.
I accepted that we need to sort it out and we fixed the problem literally on the same day. Next day, we got certification from Verifone and Paymark both.
Now, my friends, the story doesn't end here. Worse was yet to come and the real drama was about to begin.
We did the final testing of the software one last time in my office. Then I phoned the client that we are ready to install the new software. We reached the site early in the morning when there are fewer customers in the shop. Installed the software and gave training to the customer and he understood it fast. We left the premises at 10 AM.
And we started the celebration a bit too early because...
We were already celebrating our success when I get a call from the site that the software has crashed and is not responding. I thought, oh, one of those things and asked him to restart the machine. It started working. My project engineer gets another call at 12:30 that it has crashed again. We decided to visit the site. I found that software was crashing after every 10-15 transactions when EFTPOS was used. I checked the memory usage and found that the software was using a certain amount of memory for every transaction but instead of releasing the memory after the process is completed, it holds the memory. After 10-15 transactions it was holding enough memory to crash the machine. It is solvable, I thought. May be, an oversight by the developer.
I called her and asked her to sort it out. To my shock, she started googling the problem. I was completely taken aback. Then I realized, although she was a good student, she has never worked in a professional environment where software goes live in actual working form. She tried for a night but failed.
Now I had two problems seeking my urgent attention.
1) Damage control at the site where the software has already gone live. I didn't want to lose this customer.
2) I had to find an immediate solution to the software problem.
That was the time my head went spinning. Everything was possible but I don't have time. Ooff!!
I sat with a cup of long black, thinking about what should be my next move. I made a plan.
It was time to call the developer to tell her that I give full credit to you for the work that you have done but I can't afford to take a risk with you anymore. So I am giving this portion of the job to somebody more professional and experienced. She accepted it gracefully.
I downloaded "Teamviewer" on my phone and then called the client. He picked up the phone, I took a long breath and explained to him the full story. I asked him to continue using it and call me whenever it crashed. Every time it crashed, he will call me, I will open up my team viewer, send "Alt-Ctrl-Del", end the process and run the software again.
In the meantime, I called a company in Australia, explained my emergency and described the problem. I didn't even bother to negotiate. They came out to be great people. I uploaded the source code in their dropbox and they started working on it. In the meantime, I kept on using my phone to use team viewer and keep killing the process that was causing the crash.
I felt so relieved when it struck 10 PM because that is the time when the shop closes. In the morning, I had a solution from the Aussies.
I will never forget that one week that I passed. Now I feel good that I was able to overcome that stressful situation.
I have come across many such situations where I have reached this resistance stage of stress. One before this was when we had launched KISS POS for the first time in the market. But I will keep that story for my next post.