Users speed expectations are on the rise and companies started investing in the optimization of their services and business processes. Outstanding players such as Amazon understood that the competition is high and bad user experience leads quickly to growing abandon rates. When those frustrated users start to spend their money on other, more reliable websites, it’s already too late.

The endless optimization game

When is a business application fast enough and who will set the speed expectations? Probably there are many answers to this question. At the end of the day, your user community will take their decision, and the impact on your business can be fatal. Slow services are a nightmare and optimizing those late in the development cycle is often not possible without a complete redesign. Once you’ve tuned your application and actual response times are below given thresholds there are still nasty changes in data, user or content which can quickly result in another bottleneck. Don’t believe that load and performance analysis is a one-off exercise. Late involvement of performance testing and tuning specialists is another reason for increasing optimization efforts. Some people argue that performance tuning is like painting the Golden Gate bridge.

Strategies for great user experience

First of all, avoid re-inventing the wheel. It’s much better to follow proofed practices than coming up with something new. This principle applies to all kind of development frameworks, project methodologies, and standards. Keep your processes simple and intuitive. Don’t replace complex processes with new technology. It’s better to start from the ground, re-think the design and build something which is lightweight, flexible and understandable within minutes.

Secondly, switch to a performance first strategy. Consider non-functional requirements from day one in your development process. Build your applications with performance requirements in mind. Schedule load tests early in your lifecycle and integrate those into your build pipeline. Specify your set of performance indicators and verify those in the development lifecycle.

Finally, close visibility gaps in your monitoring chain. Consider the end-user, their transactions, the network, and all backend components in your monitoring stack. Capture all user interactions and choose a platform which allows horizontal and vertical analysis. Set thresholds and enable proactive alerts for any degradations.

I don’t entirely agree with people who argue performance optimization never ends. You can tackle nasty slowdowns if you tune your development lifecycle towards performance because it’s a matter of everyone.

 

Advertisements

Posted by JM

Resourceful, solution-focused and intuitive reliability engineer with over 15 years of demonstrated success in architecting, developing and maintaining effective testing and monitoring solutions. Offers a wealth of knowledge and experience surrounding modern application architecture and development of best practices.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s