System outages and maintenance are a reality of the computer driven world that we live in. The key to a good user experience is how you handle the failures that will always eventually happen. If you fail early in the process as possible, provide a meaningful error and provide the expected time until resolution it can go a ling way to keeping your users happy.
In todays example I had to call Express Scripts (my employer’s health plan’s mail order pharmacy) for a simple refill. I knew that I was in for trouble when the computer voice repeated “please wait” for several minutes while it was looking up my account. This was only confirmed after entering the prescription number and being greeted with “please wait” again. Eventually it transfered me to a human who said “The system is down, you will need to call back tomorrow after 6am. After I used the agent as a bit of a human verbal punching bag for wasting my time, I went on my way to try again successfully the next day.
What should have happened? The moment I went into the refill voice prompt, it should have greeted me with a message that the system was down due to maintenance rather than the 10 minutes that were needed to get to that information. In the end it also would have cut down on the support time and costs as the automated self service system would have been able to handle the problem with out any human intervention.
Failure happens, the trick is to plan for it and use it for the better.