My wife and I moved into our first apartment together in early December. I’m not telling you which December. We didn’t really have any furniture to speak of (just a bedroom set I inherited from my grandparents when they passed), so unpacking was a breeze and was completed very quickly. Once we were settled, I came home from work one day to find that she had started hanging Christmas cards on the columns between our kitchen and living room (There was no separation between spaces, but there was a structural support for the floor above us that generally marked where the rooms were divided.) This was new to me, as the house I grew up in not only didn’t send greeting cards around the holidays, but the ones we did get got left on the kitchen counter for a few days and then discarded.
I learned pretty quickly that she places some substantial emphasis on sending and receiving these cards, and so for the entirety of our marriage we have sent them to a perpetually increasingly large list of recipients. Usually, this is something we put in motion right before Thanksgiving, working through a few designs and then having them printed so we can stuff, address, stamp, and mail the lot of them so they’re on their way in early December.
Last year during the height of the pandemic, with the added stressors of quarantining during the holidays and the looming depressing reality that we wouldn’t be able to see any of our family which is usually the focal point of the season, we missed sending Christmas cards to the folks on our list. Because we (and basically everyone else) had chalked 2020 up to a total loss, we just vowed that we’d do better in 2021. And we did do better – at least we tried to.
This year we thought we’d try a new vendor when we saw that Walmart was offering some pretty significant deals on their photo holiday cards. We selected pictures of our kids, one of the whole family, obsessed over the wording, and purchased 125 prints on Black Friday. We were a few days behind schedule, but we figured we saved some cash so no worries. Go Team Athanas!
Oh, dear reader, by now you should know that I wouldn’t be writing about this if we got our cards without incident and sent them merrily on their way. I have a proclivity to find lessons about IT and tech careers in mundane everyday stories and life situations, but even I can’t find a lesson in that. Alas, no, we didn’t receive our cards – and it was all IT’s fault. And it’s in that detail you better believe I can find a lesson in.
The cards were supposed to be delivered this past Friday. I believe the site even said “guaranteed.” Though that may just be the fog of the holidays – we felt very confident they’d be here. So on Friday, I trundled out to the mailbox to pick up what I imagined would be a satisfyingly heavy bundle of cards – only to instead find this quarter’s water bill nestled among the unyielding direct mail advertisements for solar panels and replacement windows.
Dejected by the lack of spreadable holiday wishes in our mailbox, my wife went on Walmart’s website to check the status of the cards. Upon checking the Walmart order app, we found that our order was “preparing,” which doesn’t sound very much like “arriving at your door imminently!” This was our first clue that something was wrong. The following day we checked again, and the same website simply said “delayed” without any further information. No reason or new arrival date was listed – nothing at all to indicate where our stack of transformed paper pulp imbued with images of our family and tidings of good cheer were. Nothing to report other than “delayed.” Of course, this caused us to need to do the thing we least wanted to do – call Walmart.
Upon speaking with an agent who was actually more responsive than I expected from the retail giant, we found out that a “system glitch” was responsible for our delayed cards and that the order would have been stuck effectively forever until we called to ask them to unstick it. At that point we gave up and asked for our money back, realizing that we were now in serious danger of not getting our cards out on time. To Walmart’s credit, they did refund our money (or at least they said they did – I haven’t seen it show up yet) but clearly, we wanted the cards more than the money which is why we spent the money on the cards in the first place. All in all, we’re a deeply unsatisfied customer who likely will never consider Walmart’s photo services again.
I find several problems with our experience, and I think there are at least a few things that we should learn from it that might help us be better admins, developers, or leaders. I’d like to break them down item by item, because I see a few discrete issues that combined to send me away as a customer.
They never communicated a delay
First, the fact that at no point did I get an email saying that there was some sort of delay is totally crazy. Remember - until the day after it was supposed to arrive the status displayed just said “preparing.” I don’t know what that means, but we didn’t even see a status of “delayed” until the day after it was due to arrive.
If Walmart wants to compete with true digital companies, they should take a page out of their book and make sure that order status is clearly, rapidly, and consistently communicated to customers. I shouldn’t have to log in and navigate the somewhat arduous path to order history to find out that my order is laying on the digital manufacturing floor just hoping that someone comes along and picks it up.
This isn’t even challenging stuff. Anyone who’s ever built or delivered an app before knows that you should always be making sure that your application is providing the essential information to your users. Otherwise, what is its purpose? I can’t imagine a more important piece of information in an online ordering application than the status of your order. And yet in this case, that wasn’t deemed important enough to send me an alert about.
Further, when we logged in there was no additional information about what “delayed” meant or what we should do about it. No suggested next steps at all – not even to call them. We had to just jump to that as a solution because we didn’t have other options after digging and searching in the app. You’d think that a bare minimum requirement when they were in the design phase would be to keep the customer’s options front and center to make sure that Walmart would keep that customer happy – and keep the revenue. Or maybe, like they did, you’d just skip that step and hope that people figure it out. It’s a like a choose your own adventure story; one of the choices definitely causes your character to fall off a cliff.
There were no new expectations set
Second, once the status updated in the application to “delayed” it provided no updated expectations. Would the package come tomorrow? Next February? It was anyone’s guess. As maddening as it would be to see the date get pushed out, we would have at least known what to expect. If it was only a few days of a delay, we’d have likely waited and just been grumpy about it. Instead, we didn’t know if this meant delayed like when the delivery folks show up to your house a little after dark, or delayed like when they say that your patio umbrella was delivered to Las Vegas but you live in Massachusetts (a story for another time.)
I don’t think we need to get too deep into this one, but at the very minimum your application should be providing an accurate status to set expectations. Think about it – how maddening is it when a status bar takes 15 minutes to go from 1% to 99%, and then another hour and fifteen minutes to get from 99% to 100%? It’s enough to make you stare at thread monitors screaming profanity. It’s even less excusable when the general public – who are paying you money – is your user.
We had to call them.. on a telephone!
Walmart was relying on us to call in to them to get the order “unstuck.” To me, that means there is no process at all doing garbage collection on orders. At the very minimum, there should be some sort of SLA for each order that some sort of process is looking out for – and if some predefined amount of time goes by without an order showing a “processed” or “shipped” status, it should be escalated automatically. You could almost write the trigger yourself right now, right? And so could the developers at Walmart, they just… didn’t. And that’s what upsets me more than anything else; they didn’t do basic error handling.
If your application isn’t built to handle errors or exceptions, then you’re not building an application – you’re building a proof of concept. Every process I’ve ever been around has exceptions and errors incredibly frequently. Your application must be ready and able to handle these disruptions as they come up. Even if you can’t bake in all the recovery logic (and you should try for most errors), it should get escalated to a human who can correct course. Just sitting around waiting for someone to complain isn’t a winning business strategy – so don’t bake it into your processes and software.
For pretty much any of these, the problem would likely have been avoided if the team responsible for this application had taken the time to view the application through the eyes of a customer. Had they considered what a customer would want out of it, they likely would have quickly realized that they were getting ready to make someone cranky. And here’s the thing: I think it’s exceedingly unlikely that I’m alone in this frustration. I doubt I’m in the 0.01% of Walmart customers who have had an issue with their order status on the app. And so, my opinion of Walmart photo has been damaged – likely beyond repair. I’ve given up on a company because of their app, and that can’t be what their CIO wants to hear.
Above all else, please remember that the technology you are building, maintaining, and updating is an extension of the company. If you haven’t figured out that all companies are effectively digital entities now, then you’re missing what is likely the key economic driver of the past twenty years. In many, many cases your company is only as good as your software – which in turn may only be as good as the infrastructure or platform you are running it on. I’ve talked before about switching banks because of a poor-quality app, and this story about our greeting cards is no different. I’ve fired a company (Walmart) because their app failed me.
So if our technology footprint is an extension of the company, we have an obligation to ensure that it performs as well as we’d expect the rest of the company to perform. Walt Disney World enjoys an incredible reputation for quality and customer service, but they’ve taken a few black eyes recently because they’ve pushed so much functionality to the app, and it doesn’t always work properly. In this way, Disney could be losing brand reputation not because of the people working inside the parks, but because of the people working on their technology. While that may be a stressful thought for you, it can also be somewhat freeing. We are technologists working in a time when we have the ability to improve our companies’ customer experience and therefore be incredibly impactful for our companies as a whole. I’ll likely write more about this specific topic later, but if you take away one thing from this post – please let it be that your work matters and has impact on your company. If you ever feel like you’re toiling in obscurity, I can promise you as someone who has worked in IT long enough that I know what obscurity looks like – you are not. You - now more than ever before - are the pros that make things happen.
At this point you may be wondering what we decided to do about our Christmas cards this year. You also may not be, but I’m going to tell you anyways. Because our usual vendor has been rock-solid dependable for us (shout out to the Costco folks!), we ordered from them but won’t get the cards until imminently before Christmas. So we’re sending “Happy New Year” cards this year. I’ve conceptualized it like a transition year, which might not be that much different from the rest of the world I suppose. We bombed 2020, limped back in with 2021, and so maybe – just maybe – we’re getting ready to get back to normal in 2022. I hope that’s a trend globally in the coming year.
So, from my family to yours, here’s our best wishes for a safe and healthy holiday season – however you celebrate. May your 2022 be filled with health, prosperity, and the good wisdom to never build a photo greeting card app that leaves your customers in the dark.
Questions for reflection:
When’s the last time a company’s digital presence or properties changed your opinion of the company? Was it for better or worse?
In your role, do you feel that you have an impact on the customer experience? If not, how can you talk to your management about how to get some exposure to it?
Have you ever looked into your processes, apps, or infrastructure like you’re a customer? Do they get a passing grade?
Addendum: December 24th, 2021.
Wait, there’s more?!? Well, as it turns out dear reader, yes - there is more. Just after this blog entry was posted, we got a delivery to our front door. I know what you’re expecting me to say - that our Costco cards were delivered early.
Nope. Our Walmart cards showed up, and so did our refund. Then a few days later, our Costco cards showed up. So uh… now we have a lot of cards.
I’m sure there’s a lesson in here about making sure your order entry and order fulfillment systems aren’t air-gapped, or use a real-time data interface instead of some sort of batch process, but honestly… can’t we just agree to call this whole thing a loss and move on?
Anyways, Happy New Year, everyone.