The fastest way to lose end user support of a new technology implementation is to see system crippling slowness, making the solution unusable – either public facing to customers/clients, or internally facing to staff. Understanding system resource planning, system end to end testing, and capacity planning can change the user experience and increase reliability of the new system or application an organization is implementing. There are two key factors in conducting these activities in a way that will identify potential problem areas.
The first is understanding your system and user experience. The systems team, training team, and infrastructure team need to understand how the users use the application, and understand how users interact with the system. Understanding the system start to finish allows the team to identify all aspects and single points of the system. This will let the parts be tested, in addition to the whole, some common things missed are below:
- Adequate bandwidth for communication to external sources, or lack of the ability to reserve bandwidth – this can reduce the speed data moves throughout the system
- Load balancers not equally distributing traffic – this will overwhelm single resources and slow the overall system
- Not all aspects of the system identified – in the event an unknown bottleneck appears during go live, this can severely reduce user confidence in the implementation and add unexpected costs and downtime while the issue is identified and resolved.
- Expected peak usage – several enterprise applications are not prepared for the usage that hits the new system of application once rolled out. Systems don’t always act the same as they scale from 10 users, to 100 users, to 1,000 users.
The second is proper planning and execution of the testing. By knowing the system and how it is intended to be used, effective planning and testing can be accomplished. Below outlines some key things to consider while capacity planning:
- Testing environment – the testing environment needs to look and feel identical to the production environment, in the case of performance testing, the test environment should be equal in size to production.
- Testing Procedures – Each part of the system should be tested individually, in addition to as a whole
- Volume of testing – Test volume should reflect the peak projected usage (or above) of the application or system
- Automated testing – automated testing supports break testing of applications to understand what capacity the application or system can currently handle, this will allow monitoring to understand the load on the production environment; supporting scaling and adjustments
There are several other aspects of capacity planning to understand the environment from beginning to end, and several tools to support this process. Before your next major deployment, contact us and let RSM help you understand if your environment and application are as ready for the change as you are.