Someone in the online application ecosystem has to own performance. Who should it be? I was on a call just recently where a VP said “who in this room owns the performance of the site?”. *crickets*. I wasn’t surprised at all, though. This is very common. Even the QA manager responsible for performance testing didn’t say anything. Did he or she actually ‘own’ the performance of the site their team was testing?
Here’s the truth: Ownership of performance, capacity, and reliability is everyone’s job. Individual engineers should be accountable for the performance (and overall quality, for that matter) of the things they develop, and a skilled Performance QA team should be the tollgate for things going into production. Engineering, QA, IT and Operations are all responsible for the machine as a whole and need to work together to achieve high confidence in it. The Performance QA players should establish the standards, check for them constantly, and be the gatekeepers for code and architecture/infrastructure changes.
In this model, the developer looks forward to the performance team stress testing their code, and delivering results about how it performed as well as how it impacted the codebase as a whole. The performance team has the power to reject any code that doesn’t meet their established SLA’s for quality. Without their approval, it doesn’t go to production. Every good engineer I have ever met saw this as a valuable service to them helping them improve their code. QA is usually a different team than development to avoid conflict of interest in the SDLC (i.e., QA files bugs because they exist and need fixed without fear that they might impact a ship date). The same applies here. If it impacts performance, sorry 🙁
The real keys here are that someone has to be the driver of performance, and it needs to be established that perf and scale is everyone’s job. Want to deliver a shocking statement? Tell the IT team they are part owner of performance. In a lot of organizations that would cause someone to fall out of their chair. In our testing calls, we need everyone on the phone to get to root cause, and play a part in fixing the problems we uncover during tests.
Imagine if the QA manager on the call I was participating in would have responded “Everyone in this room owns performance, and my team establishes the standards and ensures they’re met through continual testing and monitoring.” That is world class.
About the Author