Everyone says and feels that one has to do dental checkup regularly – may be even every 6 months. By doing so, one can save 1000s of dollars, from high cost dental issues. Better to prevent early, rather than pay a high cost, at a later time.
Whenever we meet a customer in pain, with performance issues, we see a very similar behavior. They all feel that this performance testing must have been done 6 months earlier. In many cases, we had seen very very costly fixes in database table design (and hence data conversion), code design changes (with a full round of regression testing and cascading issues), customer dissatisfaction and damage control etc. When performance testing is falling at the tail end of the SDLC, cost of fixing the issues found, get magnified by at least 5 times more than doing it early in SDLC cycle.
Development always slips. This puts functional QA to slip. That puts pressure on development team to fix functional issues faster. This leads to more regression bugs. All teams put their heads only on solving the burning functional issues and completely forget the performance aspects. By then, a new change request (a new requirement) will be introduced, pushing dev and QA teams towards the eye of the storm.
When they come out of it, time runs out and they try every trick to postpone the performance tests. Project management tries to pacify the client, by delivering the working product, not necessarily a performing product. These great reasons repeat in every org, every project, from time immemorial!
Imagine that you have a live product with 500GB of customer data and trying to solve a performance problem, by changing some table designs. Calculate the cost of that exercise and the intangible cost of customer dissatisfaction. Do not look at this from a project manager’s angle; look at you as the sponsor of the product and you had put your money to develop the product.
Is that worth postponing performance tests? Are you ready to pay more money and waste more time in costly fixes, after performance tests are done?
Start performance tests early in your SDLC cycle.