Ensuring good performance

When you are planning for performance, you need to take into account the project plan, use cases, timing, hardware, and tracking efforts.

Project plan

Ensure that you include 20% extra time for each of your line items for testing, profiling, and tweaking the solution. This extra time should be included before any known performance problems are uncovered. Allow extra time for use cases that have a high potential for performance problems, for example, many specs, a large amount of location data or many workflow steps.

Use cases

Define all the use cases, which are performance sensitive for the users up front in the project. Identify the requirements, dependencies, and wanted performance. Set general customer expectations to be at a proper level, such as “subsecond” response is not realistic in any web application. Reset the expectations as performance tuning and testing progress, then, the business-specific processing time can be considered.

Timing

Test and profile uses-cases as they are developed or as early as possible if there are any other dependencies. Do not delay performance testing until the end of the project.

Hardware

Identify the hardware that is needed for performance testing and have it available early in the project. The hardware for performance testing should be a replica of the hardware that is planned for production. Performance testing and user acceptance testing should always be done on hardware that is identical to production.

Tracking

Establish a baseline for the use-cases and have them approved by the customer. For each subsequent iteration, maintain the history data of tuning action and performance effect.



Last updated: 14 May 2016