Having got buy-in to introducing performance as a central part of your development process, the next question you have to answer as a performance warrior is, “What do you mean by ‘good performance’?”
The answer to this question will vary for every product and project, but it is crucial for all stakeholders to agree on a definition. It is easy to get drawn in to vague concepts like “The site must be fast,” but these are of limited value beyond high-level discussions.
Fundamentally, all stakeholders need to share an understanding of a performance landscape. This is a communal understanding of the key performance characteristics of your system, what measures of performance are important, and what targets you are working toward.
It is important to define your success criteria and the framework within which those criteria must be met. This includes ensuring that you have defined the platform that the system will be running on, the expected data quantities, the expected usage levels, and so on. Defining this landscape is essential to allow developers to make reasonable assessments of the levels of optimization that are appropriate to perform on the system.
All the time, effort, and investment that has been put into the first two phases can be undermined if this phase is handled badly. This is where you identify the value of performance improvements to the business and how that value will be assessed. This is what ...