|Applications, Behavior Learning and the Personal Touch
David Williams, VP of Strategy, CTO Office, & Leslie Minnix-Wolfe, Lead Solutions Manager, BMC Softw
On your way to work, you stop by your favorite coffee shop. The barista recognizes you and asks, "The usual?" As you answer "yes", you note that it feels nice to be recognized - and to know that your morning coffee will be prepared just as you like it. This brief interaction may seem like a small thing, but it contributes to an overall positive customer experience and is one of the factors that keep you coming back to this particular business.
Though online businesses can't offer the same sort of "human touch", they can go quite a long way toward personalizing and improving the end-user's experience. Let's say you go to your favorite online media store, where you see a prominent display of music, movies and other media "Recommended for You". You notice that your favorite performer has just released a new CD... you click on one of these icons for more information and are presented with a description, reviews, customer ratings, sample clips and more. You can click "Buy CD", or simply click "Buy" next to the individual songs you like best. Your order is complete and confirmed almost instantly. Assuming that the downloading process goes smoothly, you've just had a positive, highly personalized end-user experience.
What makes this type of experience possible? The business learns about your interests based on your past online activity and quickly offers you products, services, or content that you are likely to want. Yet what about online shopping just before the holidays in December, when traffic on many sellers' Web sites is much greater than normal? Would you still get the same high level of service and process your transactions as quickly and flawlessly?
The answer is yes. On these types of customer sites, end-user experience monitoring provides IT with a view into the application performance and infrastructure, as well as how each end user interacts with the technology, to ensure this level of service - regardless of the conditions or variables.
Behavior Learning: The Key to Positive Customer Experiences
One of the reasons the end user has such a personalized experience in situations like those described above is because the technology delivers desired results based on learned behavior.
IT has its own model and technology to identify "abnormal" behavior of applications and systems that affect the user's experience and behavior. End-user behavior learning tells IT about each person using a specific technology or application and how the app performance affects the user's actions.
Tools support end-user and application learning by leveraging statistical process control to gather data from multiple sources, establish patterns of behavior, and proactively detect subtle changes in that behavior so you can quickly identify and resolve any potential problems. This type of learning is probably the best indicator of how the performance and availability of the applications and services being delivered to your customers ultimately affect your business.
If you can monitor end-user and application behavior - and learn what's normal and what's not - then you can be more proactive in detecting a performance issue. The technology can determine the impact on users and the business, figure out the cause of the problem, and drive corrective actions to prevent the problem from recurring. The automated analysis facilitates a positive end-user experience and is a much more effective, proactive alternative to the typical approach to fixing problems with workarounds.
Behavior learning technology understands the systems, detects deviations from normal behavior, and provides fewer, earlier and more accurate alerts. For example, a sluggish response time is a clear indicator that something is "misbehaving" in your infrastructure and could negatively affect your company's bottom line. If it takes too long for one of your customers to log in to an online application, add an item to a cart, or submit a payment, he or she may get frustrated and leave your site.
End-user behavior learning technology helps prevent this by telling you the expected response time based on the time of day, day of week, load on the system, location of the user, and so on. By understanding the expected behavior of the applications under various conditions, you can detect a slowdown before a user would actually pick up the phone and call the help desk, or even worse, abandon your site. You can also quickly assess the impact of new or modified application features on your end users.
The Starting Point: Behavior Monitoring
By monitoring and learning the normal behavior of your applications - as well as that of your end users - you can understand what elements are being accessed, who is accessing them and how they are being accessed. Not only will this help you to accurately determine where a problem is occurring, but it will also let you know which users will be affected.
If there is a change in end-user behavior at the time of a slowdown, an alert is generated to notify an administrator or operator. For example, when a user attempts to add items to an online shopping cart, a series of steps must occur, such as requesting the user to log in, creating a new cart for the user and then adding the selected items to the cart.
Each step of the purchasing process is monitored for availability, performance and data accuracy, as well as any subsequent actions the user takes, such as repeatedly attempting to add an item to the cart or abandoning the cart altogether. By monitoring all of this information and establishing the normal performance and behavior for any given time period, you can proactively determine when there are changes in the performance or behavior over time. For example, when a new version of an application is placed in production, you can quickly determine whether there is a change in the end-user experience or in the behavior of your end users, such as an increase in abandoned carts or failed transactions.
Real and "Synthetic" Users
End-user monitoring should extend to both the real user and the "synthetic" user. With synthetic transactions, you can simulate types of actions - without actually having to put users on the system. This involves setting up a scenario and running that scenario repeatedly to establish a baseline and compare the performance for that same series of steps from one day to the next. This is especially useful for assessing whether changes to the application or to the environment in which it runs will affect the end-user experience. When combined with "real" user monitoring, synthetic transactions can help you to determine if performance is impacted by the volume or location of users or by a change in the application or environment.
Application performance monitoring solutions can detect problems based on end-user response times. They not only detect problems as soon as a single user experiences them, but they also capture all data necessary to quickly prioritize, diagnose, and resolve the problem. As a result, you know what problems your users are experiencing and how to prioritize them based on the type of issue and the potential impact on the business. Behavior learning solutions evaluate this data, identifying behavioral patterns so that you know when application response times and the end-user experience are slower - or faster - than usual.
Applying the Data Model
Data models are used to look for differences between the normal and abnormal state to get an indication, preferably ahead of time, of abnormal behavior in an application that needs attention. An abstraction layer, on top of all the information coming in, establishes and maintains a normal state by automatically associating application performance with the time periods when people access the applications (such as from 8 a.m. to 6 p.m.). This automatically factors in how many people are involved and where those people are located when they access the applications. This behavior learning capability is more predictable because it's looking for subtle deviations from normal.
For example, when IT does something dramatic, such as modifying a configuration that fundamentally changes the way information is routed from one point of the infrastructure to the data center, latencies may be introduced. Similarly, if more people join a business unit and the amount of traffic they produce goes up, then, from a behavioral perspective, you can look at the increased traffic as normal growth. As long as you see a curve moving in a controlled way, all is well, and the normal state is adjusted to reflect the change. However, when a change is sudden or erratic, you need to be notified immediately so you can take corrective actions.
End-User Behavior as a Source of Business Information
If you see a slowdown in the volume of transactions completed (or an increase in the number of abandoned carts), you can correlate that type of business information to the end-user and application response times. This can be a key indicator of a problem with a service and can trigger someone to look into the issue. The performance of all the individual components, in and of themselves, may appear to be satisfactory. However, when you put it all together, the applications being delivered may not be performing satisfactorily to the end user. That's why end-user experience and behavior monitoring are so important. This powerful combination gives you the experience of the end user and the potential impact on the business, not just the performance of individual servers, network devices, or applications that are all running independent of one another.
Monitoring Your Services in the Cloud
Understanding the end-user experience is also key to monitoring your services in the cloud. In the cloud, you don't always have access to the infrastructure and applications being delivered. When IT, as a consumer of cloud services, doesn't monitor the experience of end-users accessing those services, you have no idea whether the services are performing well and meeting expected service levels. However, if you monitor the end-user experience when trying to access the cloud, then you have a better sense of whether your customers are getting the service you paid for and expect.
More than Just a "Nice Touch"
Like your local barista, behavior-learning technology observes behavior (in this case, of end users and applications) with the goal of providing a positive customer (end-user) experience. The technology provides real-time visibility related to the end-user experience so that you can not only provide higher levels of service by detecting problems more quickly and efficiently, and also more effectively support the business expectations. You can do a better job of identifying the root cause of problems, as well as remediating application and infrastructure issues before they impact critical business services. Finally, you can avoid costly application outages, improve the availability and quality of service, and optimize the costs associated with managing business critical applications and services. All of these benefits will naturally lead to greater satisfaction and loyalty among your customers, increasing the likelihood that they will come back, again and again. They will also help you to continue to attract new customers.