Incorporating Performance Best Practices

Driving performance best practices within day-to-day engineering processes helps to ensure that overall quality remains a top priority across application development teams within the organization. To do so effectively, organizations should establish a performance excellence program that aligns the goal of releasing high-performance applications with the objectives of the business that is driving the software creation. This practice helps to ensure that application performance goals are properly prioritized and aligned with the goals of the software application from the business perspective.

Establish a Performance Excellence Program

The key goal of any performance excellence program is to drive best practices into engineering processes so that software developers remain focused on building high performance Web applications. This can be accomplished by establishing a simple process that should consider the business drivers of the software application, wrap specific metrics around application performance, and drive results through the implementation of best practices. This process can be broken down into these five steps.

Establish usage scenarios and priorities

This practice will help to prioritize the scenarios that are important to the success of a particular Web application. The goal of this step is to determine the most important usage scenarios for a particular application so that performance improvement efforts are prioritized appropriately. Application developers are likely to rely on program managers or business partners to help identify and prioritize the specific usage scenarios. Customer feedback will also provide valuable insight into scenario prioritization.

Analyze competition

To understand how to set adequate performance goals for the previously established usage scenarios, application developers must also understand the performance of competitive applications for similar scenarios. This not only helps to establish a baseline understanding of what users may expect from your application’s performance, but it also helps to learn how your competition measures up. The simplest way to accomplish this is to utilize the tools we discussed earlier in this chapter.

Set performance goals

Once the scenarios and competition are well understood, the next step is to establish goals that will help guide your engineering efforts. These goals can be as simple or as complex as you choose, but it is recommended that goals be aligned with some of the key metrics we have discussed in this chapter, including but not limited to total byte size of the page, time to load, number of files downloaded, and number of HTTP requests.

Implement best practices

To achieve the goals that were previously established, application developers should minimally ensure that the aforementioned best practices have been implemented where applicable. The specific practices applied will very likely vary by application as not all recommendations will be applicable. The application development project team should determine which best practices are likely to provide the greatest benefit to their application and incorporate them. This chapter has provided clear guidance on how to accomplish this.

Measure and test

After goals are established and best practices are implemented, the key is to continuously measure and test your Web applications to ensure that they are both adhering to performance best practices and are meeting the previously established performance goals of the software. This is perhaps one of the most important steps in the process because it focuses on ensuring that the quality of the application performance remains high. Organizations should focus on continuous performance testing in the same vain that they focus on testing other aspects of application quality. While performance bugs may not be as evident as other bugs, they have an equally negative impact on users and should be avoided prior to releasing the application.

Once established, a performance excellence program will ensure that proper focus is always given to this engineering tenet during the application development life cycle. This should be accomplished by establishing a process that considers the business drivers of the software application, incorporates specific metrics around application performance, and drives results through the implementation of best practices and continuous testing. In the next section, we will explore how Microsoft’s Live Search team leverages some of the aforementioned processes and practices and ensures continued excellence in the performance of its products.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset