Saturday, November 1, 2014

Use of RACI matrix to clarify your Performance Assessment Scope


Recently I had a performance assessment capability (& high level proposal) walkthrough discussion with one of our clients. I had several queries regarding the performance analysis activities scoped in for the engagement. Some of them are shared below:

  • Who will perform the analysis on the ground?
  • You will pinpoint there is a performance degradation issue & from there on is it our responsibility to analyze and fix it?
  • My previous vendor helped me only to run the performance tests whereas its our sole responsibility to do any analysis/tuning to meet the performance SLAs ?
  • You are quoting 45 person days effort for performance assessment whereas my current vendor did this using 1/3rd of your quoted efforts ?

I parked all those questions saying will revert back while doing walkthrough of the RACI Matrix slide.

When I moved on RACI Matrix slide, all I said is below :

Performance Testing scope of work will always have below characteristics

CLIENT SMEs are Accountable for ensuring application performance
PERFORMANCE TEAM is Responsible only for carrying out / execution of performance tests
CLIENT SMEs are Accountable & Consulted for performance bottleneck analysis and performance team supports by running retests to verify the performance issues are fixed.
PERFORMANCE TEAM is Informed once the performance fix ready for them to carry out retests.

whereas Performance Engineering scope will have the below characteristics

PERFORMANCE TEAM is Responsible for carrying out / execution of performance tests
PERFORMANCE TEAM is Accountable for ensuring the application performance. (Carryout all possible required analysis to meet the performance SLAs set by the business).
CLIENT SMEs are usually Informed & sometimes Consulted (on need basis for some key decision making) during the detailed performance bottleneck analysis.

Now, finally its your choice to demand what to expect from the performance excellence team.

I personally feel its our (Performance Excellence Team's) responsibility to bring awareness among all our stakeholders on these stuff.

Performance benchmarking assignments would have only subset of activities that is quoted as part of Performance testing assignment.

Performance testing assignment would have only a subset of activities that is quoted as part of performance engineering assignment.

As you move up in the ladder (Performance Benchmarking --> Performance Testing --> Performance Engineering), the scope of activities & effort requirement & thereby cost goes high.

Decide what is required based on the performance criticality of the application and budget availability.

Happy Testing!

Sunday, October 19, 2014

Client-Side metrics versus Performance KPIs

Am happy to be back again blogging some useful stuff after a long time !!

Recently when i happened to have a discussion with one of the performance test engineer, I realized to bring this point elaborately looking at his misunderstanding.

The Client-Side performance is of great importance as it assesses end-user experience. It is vital to understand what is happening in the browser & its runtime (JavaScript , DOM). Optimizing the front-end performance from a single user point of view is very vital before testing an application with high user loads. The front-end, client-side performance optimization is quite simple compared to back-end performance optimization where lot of detailed analysis such as code profiling, hardware upgrade, etc. is required.

I experienced it several times & learnt in a hard way that client-side performance is always considered trivial as it is simple and can be quickly performed with right set of tools.

There are quite a good number of tools to do this analysis. To mention a few, Google's WebPageTest tool, Yahoo's YSlow extension, FireFox's FireBug extension, Google's pageSpeed, Ajax Dynatrace for IE, Speed Tracer extension for Google Chrome, etc.


The Key Performance Indicators (KPIs) like Response Time, Throughput, etc cannot be called as client-side metrics. May be you get to see these metrics through the performance test tool, but it is nothing to do with client-side metrics. The KPIs usually represent the system performance after the end of a performance test. These should be called as System Performance metrics or Performance KPIs.