Software performance impacts usability. Software with poor usability tends to lose out to better alternatives. With consumers using a wider variety of low powered devices than ever before, in order to stay competitive, software development has to build performance in from the very beginning.

Some types of software applications, such as custom built back-office systems, have no competitors. These will often have the worst performance of all, because there are few incentives in place to improve the performance early on in development. 

In this guide, we describe the dynamics at work inside a project that allow software performance to degrade. We also address how to compensate for them and describe a simple framework for doing performance testing.