How DevOps Keeps Your Customers Happy
Your development practices have a direct effect on your customers’ satisfaction. Today, your customers’ interaction with your products and services are completed more and more often via web and mobile applications. Because those applications only work well when they are the product of effective development workflows, the impact is large and directly correlated.
In this article, I explain how development practices affect customers, and why a successful DevOps environment is essential for keeping customers happy.
Customers Are Hyper-Aware
Modern consumers of technology are hyper-aware of their environment. Users expect that basic functionality of any application can be accomplished, and within minutes. They want to achieve their goal - booking a cab, transferring money, buying some clothes - simply, quickly and with a minimum of confusion and frustration.
The functionality, layout and interface of an application should enable as frictionless a journey as possible from the moment it is opened to the moment the customer gets what they wanted. Because high-quality software is now an expectation, there is a reasonable justification to switch vendors just because a competitor produces applications that are richer and higher in quality.
It does not matter what industry you're in or who your customers are, whether they are internal contractors, employees, or consumers in the wild. All hold the same expectations for applications.
- Employees: Low-quality applications will decrease employees’ satisfaction with their jobs, and promote attrition. If people are leaving companies because of a bad work environment, this impacts who you can hire. If you can’t get good talent, the quality of your products and services suffers, and so does your customers’ satisfaction.
- Contractors: For contractors, time is money, and if they have to interact with cumbersome applications, they will use their billable time elsewhere, or just increase their prices.
- Consumer/Customer: With the consumer, the impact is direct. For example, banks all provide the same core services—savings, checking, etc. They can toggle their offerings to encourage more customers, but opening a bank account is a rare activity. However, banking customers access web and mobile banking on a daily basis. So a bad experience, where other banks excel at great experiences, loses business. This is true everywhere (for example, cable service, transportation, and healthcare).
But let's say your customers don’t, or can’t, leave. With the utility industry, for example, often you are given only one choice, and you are stuck. But poor applications still have an impact. Because not only do consumers of technology have high expectations for performance, functionality, and ease of use, they will also let everyone know when those expectations are not met. And where there is lock-in, the frustration is even worse. So a company's brand can easily gather negative sentiment. And this has a real cost in the form of increased customer support needs, and a negative social media presence. The other real cost comes in payment portals. If your customers have a poor experience with payment applications, you will not be paid as quickly.
So how do you ensure you keep your customers happy? You need to constantly adapt your application to ensure that it remains as simple, easy and frustration-free to use as possible.
Keeping Applications Top-Notch with DevOps
To respond to the risk of poor quality applications, and keep up with the competition, organizations have to build development environments that can release and update applications faster, gather feedback more quickly, and incorporate that feedback back into the application swiftly.
A DevOps approach to development has several characteristics that make this a reality:
- High rate of change: one of the goals of DevOps is to increase the rate of change by decreasing the size of change and increasing the speed with which changes can be pushed through the software delivery pipeline. This is achieved using automation, which makes provisioning development, test and production environments much quicker, enables tests to be performed earlier on and more quickly, and enables deployments at the click of a button. The higher the rate of change, the more flexible the application and the faster it can be improved.
- Constant feedback: monitoring is a central function of DevOps that enables constant feedback on how users are interacting with new features that have been released. Are they clicking more? Filling in more forms? Is time-on-site increasing or decreasing? Are booking more cabs? Transferring more money? Buying more clothes? This information is then recycled back into the next wave of change, allowing less useful features to be removed and more useful features to be further iterated upon to maximize utility to the user.
Top-notch applications have the ability to respond quickly to issues, provide functionality that meets customer needs, and deliver a pleasant user experience. In order to ship applications like this, you need the processes to do so. A DevOps approach combined with good product design is what is going to ensure that applications are shipped faster and at a higher quality.
Beyond Customer-Facing Applications
There is another place where applications impact customer happiness. And that is in support. You can release the best application in the world, but if the support services behind it are not useful, then you are not fully considering the implications.
Other areas where applications will impact user happiness are:
- Documentation: All applications should have FAQs or basic documentation. (Of course, technical and SaaS products will have much more.) The quality of this documentation is critical. For SaaS providers, there should be a mechanism to generate this documentation as part of the development process, and have it augmented with clear guides for a user. They should not have to click more than three times to find what they are looking for. Companies have found a lot of great ways to treat documentation like code. They leverage a source repository like GitHub, and tools like Docker and Middleman to automate the creation of high-quality documentation sites.
- Support portals: Most of the time, support portals will be licensed products from vendors who specialise. But their application and your use of it becomes part of yours. So integration with the portals (things like single login) are important to be top-notch.
- Customer support contact: Getting in touch with support may or may not be a part of your support application. The path to getting support in the form of actual contact, or reaching the documentation and FAQ pages, should be obvious in your front-end applications.
- User support journey: The overall journey of a user from issue to answer is critical to know and streamline.
Some of these may not be driven by applications, but ideally they all are. And just as your core offering is built using a DevOps approach, these applications should be as well.
Keeping Customers Happy
Consider the worst application you have ever used (maybe an insurance company’s frustrating legacy portal, or an overcrowded, non-mobile responsive website) and compare how you feel using that to how you feel when you use, say, Google. The difference should be clear!
In many companies, an app is the user's primary interaction with the vendor. Every company is a software company and constantly improving that software with DevOps is key to ensuring happy customers for years to come!