Why is it important for companies to focus on performance?

Many people particularly developers find it pretty hard to justify the costs associated to increase performance of their applications. In an earlier blog post we had tried to address that briefly.

But people still find it difficult to justify the ROI of such an effort. So, why is it important for companies to focus on performance?

Steve Souders in O'Reilly blog says real world numbers show the benefits of making your site faster!

Some quick facts:
  • Bing found that a 2 second slowdown caused a 4.3% reduction in revenue/user
  • Google Search found that a 400 millisecond delay resulted in 0.59% fewer searches/user
  • AOL revealed that users that experience the fastest page load times view 50% more pages/visit than users experiencing the slowest page load times
  • Shopzilla undertook a massive performance redesign reducing page load times from ~7 seconds to ~2 seconds, with a corresponding 7-12% increase in revenue and 50% reduction in hardware costs

Most engineers are excited about the prospect of improving performance of their websites but to do that they need to justify the effort needed with the non-engineering parts of the organization. Hope these numbers and links help you in justifying or making your case that much more stronger.

Bookmark/Share this post with:
Bookmark and Share

4 comments:

Anonymous said...

Hi,
I am Thiyagu,
Yes accepted your point , Performance gives the very good revenue to company. But as per point of view we should concentrate more on Quality. If we step down the quality defenetly performance will go off.So according to me Quality override the application performance.At present world there is no thick clint and thin client. So engineering and non engineering again out of box here. Now a days all microsfot application have to support both think client and thick client other they moved out of market.
So performance purley based on quality of work/code not based on the developer understanding or coding style. Need to understand one thing here design(Architecure) who one design the system with optimised way that the only person can give the performance and quality. We cant change the code once we done. But we can predict the performance while doing.

Happy Programming...!!! :)

Aravind S said...

@Thiyagu,
I Agree with you 100% that quality can never replace performance. But quality WAS a fad; I mean it is not a competitive edge anymore.In other words Quality is a ticket to reach the playing field, if you deliver bad quality code you will be kicked out and cannot compete. To win the game you need an edge. Performance will provide that edge.

I agree with you that the impact an Architect can have in enhancing the performance is a bigger than the impact by a programmer. Bad code by a programmer can distraught the most brilliant Architectures.

I disagree that it is the resposibility of the Designer/Architect to enhance the performance. Like quality, performance is everyone's job from the designer to the manager to the architect to the programmer.

Anonymous said...

Aravind,

As your statement,what i understood is programmer is the stakeholder for the performance (Correct me if i am wrong).I not satisfy this because, each programmer know how to write the code and how to achive the requirment. If their boss or Architect dont know how to link the code in the best way that is nothing but a Desigining, As per the SDLC process progremmer only included on Build phase, so build phase we can avoid the For loop but we cant remove the product tool which we identified on designing stage.I hope you aware of Architect responsiblities , that is he/she shuld know which is the best way to implement the functionality, Software we have 'n' number of ways to implement the application, but Arhitect should have a handson/Practical
experience to achive goal. Developer knows only how to develope thats why they called Developer. But lead or Boss shuuld know best practice in the tech. If the developer fullfill the lead role there is no need lead developer enough to implement the very good performance tool.
So as per my view we can encourage developer/programmer towards the performance oriented way , we cant say they are only responsible to achiev the good performance.

If progremmer did any mistake that is only relevant to that module only, if lead did the anything that will affect whole thing. i agree for performance and quality is the eye to the product. If any one affected both fall down.....

Aravind S said...

Good that you are not voicing your opinion. And the your opinion is almost correct.

The only correction is that the Programmer is A(not THE) stakeholder for performance improvements; and is a very important stakeholder. Team Leads/ Designers/ Architects & Managers have different resposibilities than Developers.

To provide you one example of this difference:
If the code is dictated by Architecture, then Architect is responsible. If bad code is commited to the source control the team lead is responsible to review the code and have it fixed. If the same bad code is released on to the server without any Quality Assurance the manager becomes responsible.

Though the above example is a chain of resposibilities and there are multiple responsibility chains like these, the developer should be responsible for the code he writes.

And if your developer is not taking responsibility for the work she/he does then you have a wrong person for the job. The same goes to team lead/ architect/ manager/ anyone else involved.

Post a Comment