
I'd answer that the best way to manage user expectations (and to avoid performance failure) is by proactively incorporating planning, testing and performance optimization early in the software development lifecycle, before applications are deployed. It is essential to consider user experience as well as back-end server capacity and scalability. Accounting for the network conditions is an absolute must.