Why Monitoring is Talent Mgmt. for Software
Like human resources, software applications deliver the best results when their performance is managed correctly.
In many ways, managing software application performance is analogous to talent management. The importance of building high-performing teams across an organization cannot be overstated. Surveys consistently show that businesses with high-trust, collaborative cultures are massively outperforming their industry peers. Apart from releasing products and fixing problems faster, they are also better at obtaining, retaining and growing talent.
Of course, creating a positive work culture is not simple and having happy staff doesn’t necessarily correlate to performing well. That’s why leading businesses constantly measure and assess their talent against both current and future business goals, using this to shape growth and development plans. They’re also sharp on candidate selection and succession planning, using slick processes to identify talent shortfalls and risks ahead of time.
How does this relate to managing software performance? Well, just as we chart employees’ career paths based on role and performance, we should be able to outline design and development directions for applications using performance as a guide. And comparing the performance of existing systems against a constant stream of “candidate” releases could become a mechanism for app selection—the equivalent of succession planning.
Mapping Performance to Current and Future Business Goals
When managing talent, leading HR practices help map and analyze staff competence and skills as they relate to current and future goals. This isn’t far removed from managing application performance, where we need to assess current and future app performance against outcome-centric metrics. Consider a case where a retail business outlines a new channel strategy to grow its online business 25% year-over-year.
This requires application changes that use APIs to securely expose backend systems to a national network of partners and distributors. So, will the current application that’s been humming away contentedly be able to support this goal? Furthermore, how do we maintain performance through our existing online sales channel when we’ll have third parties competing for the same resources and service levels?
Without clear insight into application performance, the natural reaction is to throw resources as the problem—adding more infrastructure, more network bandwidth, more capacity and so on. Performance blind-spots often results in decisions about what application components should be retained, retired and enhanced not being made on a basis of fact but based on gut feel and instinct.
Ask yourself, though: Will gut feel about load requirements suffice for an unknown number of customers and transactions hitting your system via the partner network during the busiest shopping season? Will a best-guess into compute capacity cut it? And while overprovisioning of cloud instances may have helped some business meet demand and increase revenue, wouldn’t it also severely erode profit margins?
Guiding Design and Development Decisions
Today’s HR practices use analytics to assess employees and predict likely role matches and performance—the aim being to help staff build realistic career paths. Similarly, when managing software applications, we can use data science to examine critical performance patterns, trends and anomalies. So, imagine using a predictive performance modelling service to test the efficacy of applications under certain conditions, at massive scale
Here, load testing can quickly reveal symptomatic conditions (for example, slow response times) with application performance management pinpointing the exact root-cause. Armed with this type of insight, software development teams can chart the correct path for an application—in this case, releasing an important performance-related update before the system goes live.
Improving Application Selection Efficiency
Selecting the right talent is tough, so modern systems enable comparison of existing staff with potential employees. Similarly, with software applications, we want to measure and compare performance of “candidate” services against our existing systems. Take, for example, a situation where we’re considering a new enhancement to a mobile application. With approaches like A/B or split testing, we could roll this out to certain group of customers.
That app enhancement might seem great but does it carry some performance baggage resulting in a suboptimal customer experience? Again, without comprehensive monitoring that correlates customer experience with application performance, we’ll never really know. Just like hiring a candidate who looked great on paper but performs like a dud, we could be investing in functional wizardry that carries too much overhead.
Application Performance: Never Forget the People Factor
While you might think it’s something of a stretch to compare the performance of software applications to that of real living-and-breathing human beings, it’s worth noting that the performance of software applications can significantly impact that of human resources. When staff are constantly fire-fighting application outages, they’ll never develop and grow in ways a business needs to meet the challenges ahead.
If IT staff are continuously placed in stressful situations or forced to manage the same problems over and over, their morale and productivity will plummet. Some individuals may leave the organization altogether and while those who stick around might be happy continuously cleaning up the mess, will they have the desire or capacity to change when management finally wakes up to the problem?
Like human talent, software applications do not deliver return on investment when performance is neglected. When this happens, the underperforming parties damage everything and everyone around them—staff, business and customers. So, it is vital to implement performance management approaches that bring out the best in your apps and the wonderful talent that designs, develops and supports them.