Application performance management (APM) provides a lot of useful data about how your systems are performing. You also can use APM data to continuously improve the way you are developing and maintaining your software. This can enable your organization to improve processes and provide better service to your customers, now and in the future.
When you use APM data to complement your process metrics it provides insight into where to focus your efforts and what to do to improve the development process. For example, you can combine APM data on the usage of specific features and frequently occurring issues, as well as figures on downtime, performance, throughput, load and outages, with process data -- such as the number of defects found during testing. Add feedback from customers (e.g., problems they reported directly or how they talk about your products in social media) and you will have a broad and rich set of data you can use to pinpoint areas where customer experience needs to be improved.
For instance, you can do detailed investigations based upon APM data by combining root cause analysis with five whys or Agile retrospectives to investigate trends signaled by the data, outliers or recurring problems. Because APM data comes from actual usage, you can conclude the problems you are investigating are real and solving them will most likely increase customer satisfaction.
Monitoring data provides insight into the actual usage of systems, but you can also use it to prioritize ongoing work to deliver more value to customers. One such instance would be if you had multiple bugs and needed to decide which one to fix first. If one bug affected functionality of a feature used by more than 50% of your customers, while others affected rarely used features, which bug are you going to fix?
APM data is a rich resource that can tell you how your systems are being used. For example, you can use the data to define the value that user stories can deliver, and product owners can use customer data to prioritize their backlog and focus on delivering new or improved functionality to features that most customers are using. Teams can also use performance data to decide where refactoring is needed or to do some spikes to investigate potential ways to increase system performance. You can balance improvements and new functionality more effectively when you use data from actual system usage.
Rather than using the raw data from APM to steer improvements, I suggest project managers focus on making the data more useful to all involved. They should support collaboration between business and IT, and among customer representatives and development and maintenance teams. This will help remove blockades in the organization and create a culture that makes it possible to openly communicate and effectively collaborate.
Be aware that APM metrics are mostly lagging metrics. You can't steer on downtime or throughput to improve your organization -- just as steering on velocity won't make your Agile teams go faster. Organizations need to define their own leading metrics, based on their specific way of working, organizational setup, culture, etc.
If your organization starts using APM data to learn how customers use its systems, you can more accurately decide where and how to continuously improve your processes to deliver real customer value.
Learn more about kaizen, the philosophy of continuous improvement
Get to continuous delivery with continuous improvement
Learn how to go from continuous integration to continuous improvement