Performance issues can seem very mysterious when first encountered and often the only way to solve them is to use a very methodical approach. I have touched on this before, but it seems relevant to add a little more detail.
The following outlines a generic approach to rational problem solving that has been adapted to the situation:
- State the problem
- Collect evidence
- Identify possible causes, and check they are consistent with the evidence gathered. Consider testing or gathering new evidence to prove the cause is present.
- Look for evidence to identify the relative impact of each cause.
- Restate the problem with causes, level of impact and confidence in the conclusion.
- For the causes with the most significant impact decide on a set of solution options, and work out the associated costs and potential benefits of each.
- Examine in detail potential dependencies between solutions, some will be reinforcing and others at odds. Some solutions may also have functional impact or benefits, and need to be considered beyond the performance arena.
- Recommend the most appropriate selection of solutions, and gain acceptance of this. Remember to include obtaining the necessary budget, which may require a business case.
- Develop, test and implement the chosen selection of solutions. Check throughout that the expected benefits will be realised.
- Monitor the results to check the problem has been resolved to the degree expected.
This process may seem self evident to you, or it may seem un-necessarily complex and long winded. I would strongly recommend, however, the adoption of an approach that is: a) standardised; b) evidence based; c) concentrates on predicting a level of benefit; and d) proves that the level is achieved. There are few organisations with complex applications and infrastructures who have never implemented a performance solution only to find little end user benefit. A structured approach can reduce the incidence of such expensive problems.
If you would like to discuss an appropriate approach for your organisation then please feel free to contact me at firstname.lastname@example.org, or call on +44 7887 536083.