I think it’s safe to assume that if you ask anyone about a bad experience with a restaurant, hotel, airline, or anything else, it will not take long for them to have a specific story to tell. But what about the last time you had an excellent experience? Can you tell me the specifics of what led up to it? If you can, great! I want to hear it! However, I guess you either don’t have such a story, or it’ll take you a hot minute to develop one. Either way, it’s not your fault.
We live in a world that is simultaneously connected and fragmented. Back in October 2024, I moved about 10 minutes up the road. I had to change my contact information for the electric, cable, and other companies I pay monthly. You know what I’m still receiving: promotional material from Spectrum about signing up for their service after my move. I’m already a Spectrum customer, but they are promoting the exact service I’m already paying for. Why!? If I received these promotions for a day or two, I wouldn’t give it a second thought. But it has now been several months, and I can only think that they are not connected and integrated with themselves. This does not create an excellent experience. It doesn’t even make a good experience. It’s just downright bad.
On the other hand, my electric company was fully updated within a day or two of my move. After about 48 hours, there were no out-of-context promotions or communications. This was a much better experience than my experience with Spectrum, but there was still room for improvement.
Why do I bring up these experiences? Because of how I’ve come to think about the entire experience for any company, in any industry, anywhere. Even for an individual on a personal level, the following is true: If you strive for perfection, you will settle for excellence. If you strive for excellence, you will settle for just okay, and just okay is not okay.
Creating exceptional experiences is more than just providing positive experiences to your customers; it’s about making every step along the way for every person involved the best it can be. If you’re a SaaS company, consider what your developers do daily. What trade-offs are they making, what are their blockers, do they have the tools to overcome them, and what would make writing the code for your product delightful? Then, take that information to the next step: how do these elements from development affect your marketing and sales teams? If you say they don’t, you are either inexperienced or lying. What the developers can build and how they can build it directly impact your marketing and sales teams’ ability to effectively sell the solution your company is offering.
Let’s look at Chick-fil-A®. I worked at Chick-fil-A throughout college, where I learned that the Guest Experience is everything. You’ve probably seen Chick-fil-A commercials that always mention “The Little Things.” You'd be wrong if you thought this was just a marketing and PR campaign. Chick-fil-A has been focused on the Guest Experience to an almost obsessive level. For one thing, my operator, that’s what Chick-fil-A calls their franchise owners, taught me about why we refer to our guests as guests and not customers. It’s because when someone comes to your home, they are your guest. When you have friends over, do you refer to them as your customers? No. So why would you treat someone visiting your business any differently?
The Chick-fil-A Guest Experience starts from the moment they enter your parking lot until the moment they pull out. If they are going through the Drive-Thru, you want them to be greeted with a smiling face and someone happy to serve them. Why does Chick-fil-A have people out in the Drive-Thru? It’s simple. You’re already waiting in line to place your order and then waiting in that same line to pick up that exact order. What if that time waiting was working for the guest? Once the guest enters the Drive-Thru line, their perception is “I’m waiting to place my order in this super long line,” but as soon as someone takes their order, their perception changes to “My food is being prepared for me right now.” Not only do they perceive that they’ve been taken care of because they have been, but we’re showing the guest that we respect their time and want to help them get on their way to the next thing they need to do.
In the Chick-fil-A App®, whenever you place a mobile order, you need to press the “I’m Here” button to check in and release the order to the kitchen to make your food. Some technical things can be done to improve this experience and remove the need for the “I’m Here” button altogether. Many of those technical improvements are possible today but either have not been implemented in the app or have not been enabled for guests. I don’t know which is the case, but from my experience, I know that if Chick-fil-A is not confident that they can execute something perfectly, they will not risk the Guest Experience until they know they can.
One such example of an incremental improvement is when guests place a mobile order using the app while in the restaurant. The same “I’m Here” requirement is still true but with one slight change. If the app recognizes that you are in the store, once you submit your order, it will say something like “It looks like you are already here. Would you like to check in now?” and then present them with a simple yes or no option. If the guest says yes, their order is checked in, and the food preparation begins. I cannot tell you how amazing this is, not only from the guest’s perspective but from the team member’s perspective as well. If team members are spending less time troubleshooting why an order is not appearing on-screen, they can spend that time providing fast and accurate service to the guest.
Chick-fil-A’s approach to excellence is admirable. They understand that the experience of every individual involved in serving the guest is crucial to providing an excellent Guest Experience. They have optimized the experience of developers and team members to serve their one singular mission: to provide an exceptional experience to all who encounter Chick-fil-A.
Over the past 18 months, I’ve been building MyPortal.Church (MPC), a Content Management System for churches. This application is meant to help churches create and deliver an exceptional, unified digital experience for church staff and members without leaving the software tools they already know and love. Part of developing this system involves monitoring how the system performs and when issues arise. Building this on my own means I don’t have a team to lean on when things go wrong, so I need to pick tools that can fit into my workflow in a way that makes sense to the mission of MPC. I’ve built a lot of my own tooling, such as a CRM and Support Ticketing System, the CMS from MPC powers the soon-to-launch MPC marketing site, and an analytics engine so I can own and control the various metrics I wish to track.
The one tool that I know I shouldn’t build is the observability tool. Since this is pivotal to knowing when things are going wrong, and the experience degrades, I trialed several systems until I landed on New Relic. I chose New Relic because I already used it in my day job, and they supply all the features that a team of one could need at a price that I can afford. One of my favorite features is how alerts work. Since New Relic knows historical patterns of how the system performs at various hours and days, I don’t receive alerts unless something truly unexpected happens. A perfect example of this is Sunday morning versus a Tuesday afternoon. Since MPC is church-specific software, it only makes sense that traffic would be higher on Sunday mornings than on Tuesday afternoons. Because of this, I don’t receive alerts on Sunday morning unless something truly unexpected happens. Similarly, I would only get alerted to high traffic on a Tuesday afternoon if the traffic levels were abnormal for Tuesday, not some static threshold that would also trigger an alert. The other providers I trialed either didn’t have this functionality at a pricing tier I was willing to pay for, or I couldn’t figure out how to configure it. Because of this functionality, I can focus on building excellent features and functionality for MPC users without being interrupted by alerts that ultimately don’t require my attention.
I assume that most people who read the post are more on the technical side of their organization; they are either developers or product managers. Depending on your organization's culture, you may or may not be able to implement this mindset of excellence over time slowly. And if you’re anything like me, you hate that I just said that. So, let me give you a few action items you can use to begin adopting the pursuit of excellence.
Recognize that this will take time. Excellence is not created overnight. It’s built slowly over time through the individual decisions you and your team make. This means you need to be confident that the decisions that are being made are in the best interest of everyone involved, both internal users, and external customers alike.
Run it like you own it. This means taking pride in your work. My Chick-fil-A Operator always said that we should run the restaurant as if it was our name above the door. If you’re a developer, don’t just write the code so that your future self is happy; write the code so that anyone who must interact with your code at any time, either directly in the IDE or via some other API integration, can do so easily. Ask yourself, “If I was coming in from the outside and had to work with this codebase or API, what are the things that I wish were here?” Then build that.
Be mindful of the timeline. While it’s true that it will take time to deliver excellence, every project has outside constraints. Your company may have limited resources to provide the perfect solution, you may need to deliver by some industry event, and there might even be contractual restrictions on how long you have.
When faced with these challenges, focus on providing the objective in the most complete manner possible. Don’t let a half-finished feature out the door. If it feels incomplete, then it is. Either reduce the scope or find a way to bring the feature to a natural conclusion. Just because more can be done doesn’t mean everything needs to be done. Spend the time you have either removing or disabling the things that make the feature feel half-finished or bring that feature to the next reasonable level of completeness. Never settle for anything that is just okay.
Most importantly, you need to communicate. Nothing happens in the void. Communicate with product managers and stakeholders to fully understand why something needs to be built in a specific way. I cannot tell you the number of times better ideas have been born because I took the time to speak with my product manager. For some reason, this stereotypical adversarial relationship exists between developers and product managers. Part of me gets it; some product managers are difficult to work with, but some are an absolute joy! Regardless of which type of product manager you have or are, it is your job to understand how to work with them to find the best possible outcome for everyone involved. And don’t forget the marketing, sales, and support teams are all involved in delivering excellent experiences.
By understanding how each part of the experience works and relates to each other, you will be able to perfect each part individually, making the whole that much better. Always remember to strive for perfection, knowing that it’s not possible, so that way you will only settle for excellence. Striving for excellence will lead you to settle for just okay, and just okay is not okay.
Top comments (0)