Recent high profile website failures have brought performance back to the forefront of every organisation. My presentation at the CXO Disrupt conference in Sydney looked into the reasons why these types of incidents are still happening and provided a 5 step plan to ensure that your customers are not left frustrated by your application's performance. A summary of the 5 step plan is below.
1. Know What You Want
It may seem straightforward, though we have found that insufficient non-functional requirements are the single biggest cause of performance issues in production. Make sure your requirements are considered from the beginning so that your teams and vendors can scope, design, build, test and operate the system you actually need.
If you see requirements like "As fast as industry standard" or "No worse than existing" in your organisation, then it’s time to change how your requirements are defined. It’s important to ensure that your requirements are clear and prescriptive to get the product you actually want.
2. Own Your Performance
Performance can’t just be a tick in the box, it requires ownership from the customer back. It’s not just performance testing, it's performance management. While not every company is as bold as Google listing the time taken to return their search results, you need to know what your customers are experiencing.
It’s important to ensure that every layer of your infrastructure is considered in your performance management strategy. Information needs to flow freely between the production support team, to capacity planning and performance testing. This feedback loop is critical to maintain your application is fast enough to keep your customers satisfied.
3. Understand Your Results
Don’t hand over the power to your teams or a vendor to decide if your application is OK. If you don’t understand what has been done, and what it means, you will end up standing in front of the media making claims like "There is no way it can fall over", and nobody wants that. Performance doesn’t have to be a black art, so it’s important to ensure that you understand the results of your testing, what was tested and what was de-scoped by an eager PM looking to "deliver".
4. Save Money with On-Demand Services
Cost is one of the main reasons why organisations surveyed by Planit do not include performance testing as part of their SDLC. Over the last few years, we have proven that performance doesn’t have to be expensive.
The traditionally expensive performance testing tools are being replaced with open-source or rental models. Service virtualisation allows you to limit reliance on expensive systems such as mainframes or SAP, and test infrastructure and resources are now available on-demand. Combined with a risk-based approach, the benefits of a good performance management practice can be very affordable.
5. Ensure Operational Readiness
Performance isn’t just performance testing the application. What happens if a component of your application or network infrastructure fail under load? Auto-scaling is an amazing feature of cloud infrastructure, though simply turning it on doesn’t result in a scalable or resilient website.
A structured operational resilience strategy ensures that the high risk elements of your application delivery is considered and tested to ensure they work when you need them to. And if you are going to fail, make sure that its handled well.
These steps are the basis of a series of 5 posts, linked below:
- Know What You Want ✔
- Own Your Performance ✔
- Understand Your Results ✔
- Save Money with On-Demand Services ✔
- Ensure Operational Readiness ✔