Performance—responsiveness and scalability—is a make-or-break quality for software. Poor performance costs the software industry millions of dollars annually in lost revenue, decreased productivity, increased development and hardware costs, and damaged customer relations. When performance problems occur, they must be fixed immediately. In response, the project often goes into “crisis mode” in an attempt to tune or even redesign the software to meet performance objectives. In these situations, it is vital to maximize the performance and capacity payoff of your tuning efforts.
Below, we take these 5 systematic and quantitative approach to performance tuning that helps our customers quickly find problems, identify potential solutions, and prioritize your efforts to achieve the greatest improvements with the least effort. The steps are:
- Figure Out Where You Need to Be
- Determine Where You Are Now
- Decide Whether You Can Achieve Your Objectives
- Develop a Plan for Achieving Your Objectives
- Conduct an Economic Analysis of the Project
Using this approach has been shown to provide a high payoff for a relatively small cost.
Once you run into trouble, tuning the software is likely to be your only choice. However, it’s important to realize that a tuned system will rarely, if ever, exhibit the level of performance that you could have achieved by designing in performance from the beginning. The key to achieving optimum performance is to adopt a proactive approach to performance management that anticipates potential performance problems and includes techniques for identifying and responding to those problems early in the process. With a proactive approach, you produce software that meets performance objectives and is delivered on time and within budget, and avoid the project crises brought about by the need for tuning at the end of the project. Our Software performance engineering (SPE) provides a systematic, quantitative approach to proactively managing software performance.