How to maximize your customer experience

Good customer experience is key. Decisions taken by IT executives have a huge impact throughout the SDLC. So learn how to improve customer experience.

Good customer experience is key. Decisions taken by IT executives have a huge impact throughout the SDLC. So learn how to improve customer experience.

August 20, 2019
Matt Young

Elevate Your Testing Career to a New Level with a Free, Self-Paced Functionize Intelligent Certification

Learn more
Good customer experience is key. Decisions taken by IT executives have a huge impact throughout the SDLC. So learn how to improve customer experience.
Customer experience is vital. A good customer experience leaves a positive impression. But a bad CX can cause lasting damage to your company and your reputation. This blog looks at the risks of cutting corners during the development and testing process. It then goes on to show how a cloud-based testing framework helps minimize these risks.

Customer experience is a tricky beast. It is an overarching concept that encompasses user experience, customer interactions (aka touchpoints), and the customer’s journey while dealing with your company. Get one bit wrong, and you can damage the whole CX. For instance, you may have a perfect UX and a well-planned customer journey. But if you leave a customer on hold for an hour while calling support, you have ruined their CX. Clearly, some of these things might be out of your control. But what can you do to reduce the risks of a bad CX? And how can proper QA with a cloud-based testing framework help?

What is a good CX?

Over the years, countless people have sought to define good user experience for UI design. But much less attention has been given to the overarching concept of customer experience. Defining a good CX is very hard as it will vary to some extent from customer to customer. But some aspects are easy to pin down. Firstly, good user experience is essential. This isn’t just about making the UI intuitive and easy to navigate. You should also invest effort into things like good contextual help, tooltips, easy access to support pages, etc. Customer service is another key element that can easily be overlooked. Even a simple autoresponder helps. But don’t tell someone you will get in touch within 24h, then ignore them for a week!

Then there’s the whole issue of seamlessness. A good customer experience means one that happens without interruptions. This can be hard to achieve if your product is supported by advertising. It may be tempting to place the adverts aggressively to force users to interact with them. But you have to balance revenue per user from the adverts against potentially driving large numbers of users away. Bugs are also another major source of interruptions. Clearly, in a perfect world, you release bug-free software. But even the best QA process can’t guarantee this for most programs. However, that is no excuse not to strive for the best QA you can. And nowadays that means adopting a cloud-based testing framework

How to improve CX

As an IT executive, you might wonder what you can do to improve CX, apart from ensuring your product team design a great UX. Well, let’s look at each stage of the SDLC to see how you can improve things.


The requirements phase is where you can start to find out what the customer actually wants. This is where the overarching user stories and customer journeys will start to reveal themselves. The key thing here is to already start thinking in terms of customer experience.


This is where the UX/UI work is done to convert the user stories into a working design. At this stage, you should ensure your team consider how the UI design impacts on the overall CX. For instance, is it easy to get help? Would it be useful to include an embedded walkthrough? How would a customer reach out to you for support?


It is critical not to cut corners in your development. But equally, you want to get customer feedback on what you are doing. So, you need to choose your development methodology with care. Nowadays, there are myriad choices for this. You might adopt test-driven development, where you start by writing the tests, then create code that will pass them. Or you may choose the (now classic) scrum approach. Maybe extreme development is a better fit for your team.

I’d love to tell you “just choose this one”, but the truth is, there are too many factors to consider. These include the size of your team, the complexity of your product, and the nature of your customer(s). I can’t even say “don’t do waterfall”, because in all honesty, that can be the best choice for some extremely complex corporate software stacks. 

What I can tell you is that you need to ensure you stay aware of customer experience during the development phase. Don’t rush to release a bad product. Stay mindful of things like how to make recovery from bugs as painless as possible. For instance, making sure the user’s state is stored so if there’s a crash you can take them back to where they were. Or ensuring the software is as responsive as possible to user input so they don’t sit there watching a spinner for ages. Finally, don’t forget the power of the feature flag to allow you to turn new features on or off. This can be a lifesaver if something goes wrong during release!


Testing is where you can really impact customer experience most directly. Firstly, through a thorough QA process to find and eliminate as many bugs as possible. Secondly, through really targeted and thoughtful user acceptance testing. And thirdly, by using modern techniques such as canary testing and multi-armed bandit testing.

Thorough QA testing requires automating as much of the testing as possible. Traditional test scripting can only take you so far, then you have to start using a cloud-driven testing framework. We will look at this in more detail later. 

For acceptance testing, the old-fashioned way can be best. Get your product team to check that the software is behaving as they expected. Get them to work with panels of end-users to get real-world feedback. Even run a proper beta testing program. But you can also get assistance from your cloud-based testing framework. For instance, cloud-based systems are able to store and analyze per-page performance trends over the course of several rounds of testing. This can identify areas that can be improved in the backend and may indicate more serious issues.


It can be tempting to launch a new product with great fanfare and a huge press presence. However, this is risking raising customer expectations too high. Before you do an Apple-style multi-day launch event, consider doing a soft launch to iron out any niggles in the system. When you deploy at scale, make sure your customer service team are already aware of the new system and are able to give useful support. Maybe, consider employing some additional staff in case there is a surge of user issues. Finally, don’t be scared to roll-back a failed product. Better to suffer that embarrassment than to limp along with something that permanently damages customer experience.


The final stage of the classic SDLC is maintenance. This presupposes that you are releasing discrete versions of your software, rather than taking the more modern CI/CD approach. But either way, if you are doing maintenance on your product, you need to consider how this will impact customer experience. So, you need to keep customers informed if they will see any disruption. Try to do maintenance during quiet periods. Have a backup plan in case things go wrong.

Cloud-based testing frameworks

So, how can a cloud-based testing framework help you ensure a good customer experience? Well, firstly, a framework such as Functionize, makes test creation super-easy. You simply take your user journeys or test plans and pass them to our NLP engine. This will take the plain English test plan and convert it to a functioning test using natural language processing. This means you can easily create autonomous tests for every user journey, reducing the risk of a bug being found in production.

Secondly, unlike traditional Selenium tests, these tests are virtually maintenance-free. They won’t break every time your team makes a minor change to the UI. As a result, your QA team will regain a huge amount of time which can be used more productively. Thirdly, cloud-based testing frameworks bring with them the ability to test at enormous scale. You can potentially run thousands of tests in parallel. With Functionize tests, you won’t even have to do any modifications or updates to get the tests working cross-browser. This sort of testing-at-scale is particularly good for load testing, as it is able to replicate realistic user sessions arriving from multiple geographic locations. 

Finally, cloud-based testing frameworks also make it easy to track the ongoing performance of your UI as it evolves over time. For instance, the Functionize Visual Completion metric lets you see how long each page of your UI takes to become usable by customers. This is extremely valuable if you are seeking to optimize your customers’ experience.


As an IT executive, you should be paying close attention to overall customer experience, not just UX design. By thinking about it throughout the SDLC, you can improve it and help keep your customers happy. One of the quickest wins is to adopt a cloud-based testing framework. This allows you to scale up your automated testing and gives you new insights into real-world customer experience.