Performance sustainability - How to keep your top performance?
The previous article was focused on how to improve your website performance, what are potential performance bottlenecks, how to measure and fix them, and what impact does it have on your business. Did you fix it all? If so, let’s have a look at mechanisms to keep your performance on the top level. Not fixed yet? Check the previous article.
It is all about the culture
Once you get the performance just where you need it another even harder challenge emerges - keeping it there. It might be easier if you have one or two people working on the project, but what if you have tens or hundreds of participants? developers, content editors, marketing and SEO experts?
Maintaining application of that scale is not easy and surely not manageable by one person. The only way to work around this is by building up a culture.
1. Did you explain why?
If you want to build a performance-driven culture, you need to raise awareness about performance in general. Help people understand why we do it and why we need it along with the business impact performance has.
2. Involve everyone
3. Create guidelines
To help people understand how to add banners, load images or use external services and similar routines done on a daily basis they need guidance. Consider creating a simple living document that will be shared with everyone who participates in platform development. Living document means that anybody can either update it or suggest changes so that it is always up to date and relevant.
Share how to add images with your content team (add dimensions, lazy load what is not on screen), tell your Marketing teams to use a server-to-server approach instead of adding JS libraries on the client, etc. This will help you and your team to maintain platform performance on a top level.
4. Add it to KPIs
Now that your team knows how to approach performance a set of tools to measure success or failure is needed. Such tools may work in a fully automated manner, embedded into your workflow, but can be triggered manually whenever needed as well.
Many checks can be run as part of your pipelines so that any change made by the developer is measured, and regression is easy to spot. Automated checks are also a good way to collect data continuously to see trends and make decisions quickly.
Many tools available on the market are free and can be easily added to your CI/CD.
We have picked a few:
- Multihouse (Flexible, powerful with Grafana)
- LHCI (Good for watching the trends and releases)
- Lighthouse API (Flexible, can be used for watching trends - no user interface with results)
Tools that we have mentioned above are great for developers, unfortunately, it might be hard to use for content managers, marketing teams, and managers.
There is another option combining everything we need and is friendly for non-technical people and that is SpeedCurve. SpeedCuve is our favorite, however, it might be overly complex or too expensive for some projects.
In some cases like testing a new 3rd party tool injected into your app, adding a new marketing campaign, or A/B testing manual on-demand test runs for performance might be needed. Tools mentioned in the automated checks section are great for technical people, however, it is not as easy for everyone else to use.
There are several online apps that you can use to identify how your changes affect your score whenever you need it. All you need is an app url that is publicly accessible.
Tools for manual on-demand checks are:
Just remember, do not run it just once, try it multiple times and get the median of all test runs.
Once you get performance where you want it to be, the sustainability period starts, along with further optimizations. To keep performance on top level remember to focus on the following:
- Share vision and goal with everyone participating in app development and maintenance.
- Create guidelines so that everyone knows what to do in terms of performance.
- Set performance as one of the main priorities, e.g. by adding KPIs.
- Provide tools to your team to make it easy to spot regression and measure new optimizations.