Business Technology
Print
By Scott Gilliland and Vincent E. Bugge   
Wednesday, 14 November 2007
By implementing performance engineering practices, businesses and organizations are better able to establish clear performance objectives, predict potential performance failures before they occur
By implementing performance engineering practices, businesses and organizations are better able to establish clear performance objectives, and predict potential performance failures before they occur.

Memories of unpredictability caused by spikes and surges during past holiday seasons convinced one major online retailer that it needed to better prepare itself for its busiest time of the year. The underperformance of its systems and applications during this peak buying period exposed online customers to timeouts and errors, resulting in complaints and lost business.

The company was experiencing considerable anxiety about the upcoming holiday season, particularly the demands that were likely to be placed on it during high-traffic days like Black Friday, the day after Thanksgiving. As a result, it needed help to define performance requirements and engineer systems for performance, as well as monitor very closely what happens throughout the production lifecycle so that when these issues do arise, it can quickly and effectively address them.

Satisfying a Need
Accenture created a performance engineering capability to support organizations that increasingly depend upon their systems and applications to perform optimally and work together seamlessly. As more is demanded of these systems and applications during certain times, they may slow down, causing lost revenue and customer dissatisfaction.

Additionally, many companies are unable to determine just how much performance has fallen off because they have no way to monitor performance in real time. This makes it difficult to isolate the problem or anticipate the failure, forcing organizations to respond reactively to poorly performing technology.

Engineering A Definition
Performance engineering can be defined as the design and development of systems and applications with performance characteristics embedded throughout the analyze, design, test, build and run phases. These performance characteristics make sure the systems perform at reasonable, acceptable levels for users throughout their lifecycles.

Performance engineers take a holistic view by looking at a system’s overall anatomy and the different performance aspects across its lifecycle, categorizing and packaging them, making use of vendor tools and off-the-shelf products, developing customized models, and focusing skilled and dedicated resources on performance issues. The team provides clients with planning, testing, real-time performance monitoring and remediation of performance issues.

Capacity planning or modeling is more cost-effective when done very early in the lifecycle, even before the design phase. Unfortunately, many organizations skip right over this and go to the actual development and writing of code so they can see results quicker as users. This means they fail to recognize or anticipate upfront the demands on the system in terms of capacity planning or monitoring; instead they end up with a shortfall sooner, rather than later, as they increase from a couple of hundred to several thousand users, for example. They often build with the expectation that the system will perform fast enough, never defining what “fast enough” actually means.

Pay Now or Pay Later
As a result, organizations often end up paying far more for performance engineering. Performance engineers have found that identifying and fixing a problem in the design stage costs $1 compared to up to $100 if a more intensive re-architecting needs to be done during production. Yet, customers frequently fail to identify the performance requirements up front in terms of the size or scope of the application.

Many organizations are understandably under severe time and financial constraints that make the optimum performance of their systems even more critical. One client, for example, was given the mandate that it couldn’t buy any new servers for the next year. The only way it could roll out new capabilities was to find improvements in its current applications so they would run more efficiently. This would then free up the CPU cycles to run new programs.  

Of course, failing to plan properly is not always the case. Oftentimes, companies change or grow unexpectedly and the metrics change accordingly. They may change in terms of bills they have to generate on a batch cycle, invoices they have to process or orders they need to take. Performance engineering can help them adapt to these changes.

Here are some performance engineering solutions that businesses and organizations should consider:

  • Performance engineering enablement – This enables businesses and organizations to benefit from improved hardware efficiencies, capacity planning and performance test execution by adopting a performance-engineered approach across the lifecycle of system and application development.
  • Performance diagnostics – This step helps development teams identify and quickly resolve production performance problems with the right business software solution. Coupling many of the standard performance testing activities with diagnostic tools allows for the quick analysis of existing applications to identify key performance bottlenecks of the system and define how to fix them.
  • Architecture assessment – Clients often wonder if their software packages are designed properly to scale, perform and support their enterprise as they grow. Architecture assessment helps clients determine how well they follow standard system development lifecycle processes in their software development, allowing them to identify where quality and performance improvements can be achieved.
  • Capacity and performance modeling – Moving performance evaluation work earlier in the development lifecycle allows business and organizations to more easily identify scalability and performance problems through capacity and performance modeling exercises.

 

By implementing performance engineering practices, businesses and organizations are better able to establish clear performance objectives, predict potential performance failures before they occur and identify and isolate the root cause of performance failures.

As for the online retailer, later is better than never. The work made a big difference for the client when Black Friday rolled around again. It had no problem with the anticipated spikes and surges, and reported no timeouts or errors. Best of all, as far as its customers were concerned, it was the best-case scenario – business as usual.

Scott Gilliland and Vincent Bugge are senior executives with Accenture Technology Consulting. They can be reached at This e-mail address is being protected from spam bots, you need JavaScript enabled to view it and This e-mail address is being protected from spam bots, you need JavaScript enabled to view it  

 
< Previous Story   Next Story >