CTOs Don’t Get It
One of the most disruptive events at organizations is the disconnect between decisions made by managers and the views of those decisions by employees. Does this situation sound familiar?
Your CTO or CIO makes a decision to forego load testing until after the launch of your web application. Your team responds by talking about how the higher ups don’t get it, they don’t understand the issues with system performance, they are making shortsighted decisions, and they are ignoring the product development team. You have seen this before – management is saying “postpone” and they mean “cancel”.
Before CTOs were managers, they were individual employees. Most became managers because of their skills as individuals in technical problem solving and decision making. So why the disconnect between your team and the CTO?
Let’s break it down so we as load testers can affect change.
Money, Money, Money
Most companies are always budgeting and adjusting budgets. The senior executives are paid the big bucks to make sure the investors are happy with results, and the most important result is the bottom line profitability. Profitability is driven by income and expenses, so every dollar saved on the expense side is a win for the executives (and investors).
Load testing is mistakenly viewed as non-critical. It is an easy target for CTOs in budget cutting. Bugs are visible and immediately get the attention of users, which quickly reaches the CEO and other top managers. It rolls downhill to the CTO very quickly. Bugs are bad. Bugs are universally understood.
However, if the site has 5 second response time instead of a 2 second response time, rarely does the CEO get involved. It isn’t as noticeable. It isn’t mission critical. Thus, it isn’t nearly as high a priority to improve performance as it is to fix bugs. The conclusion is obvious and logical to put more resources on the functional testing than on load testing. In fact, CTOs cut the load testing out of the budget submitted by the development team without having to explain that decision to anyone. It’s easy for them. Who is going to raise a stink about it? The testers? The QA Manager? The Product Manager? The programmers? You? Probably not.
It is too hard to defend! It’s tough to make an argument that gets attention. You put yourself out on a limb if you stir up trouble about “wasting” money on performance testing. You don’t want to get called into the CTO’s office to explain the importance of load testing and system performance under heavy traffic.
So what I’ve seen is a dynamic where the testers and/or developers take an attitude of, “They will find out when the system crashes, and I’ll just sit here and smile.” Most of us know that we are right about the importance of performance, so if the managers are out of touch and don’t listen to us, then they deserve what they get.
Of course, that isn’t good for our company. Translate that to, “Ignoring load testing is bad for my job security.” Now it clearly becomes something that can cost our company credibility, money, and ultimately jobs. Hmmm….that isn’t worth being smug about. We need to do something about it.
Simple Psychology of “I” Versus “We” – Disconnect
When your CTO was a programmer, the questions often asked are “What should I do?”, “How can I solve this problem?”. However as a Manager, this evolves to “What should WE do”, “How do WE solve this problem”. The consequences that affect the “WE” are much more complicated than those that affect the “I”. Moreover, not everyone who is a part of that “WE” will be equally affected; therefore, there will be different levels of benefactors based on the decisions that include “WE”, and these benefactors have opinions.
The more senior a manager is, the more distant they may become from the data and information that is needed to validate an assumption. The “WE” produces many views that can distort the validation. Without a good process to validate assumptions, a senior manager risks moving forward on an invalid assumption. The CTO needs you! You need to step up and contribute to the conversation about load testing.
It’s no secret that poor communication is probably the most significant factor contributing to a disconnect about the importance of system performance. If the assumptions of the decision maker are different than those affected by the decisions, then the conclusions will likely be different. If there is no communication about what those assumptions are, it is almost certain that a disconnect will occur.
Let’s consider an example. The CEO has made growth commitments to the investors. In a big off-site executive planning weekend, the CEO beats up the head of sales and marketing to get projections of higher revenue. Marketing budgets are increased to get more leads and closed deals. Innovative and expensive advertising campaigns will drive lots of traffic to your website where cool interactivity will create better qualified prospects. The content management system underpinning all of your web marketing, CRM, and prospect database becomes critical to the CEO’s success. However, the execs on this don’t realize the CMS has never been load tested or tuned for high performance. The CTO isn’t concerned because he spent a bunch of money on the CMS and has lots of good hardware in the data center to run it on. In the CTO’s thinking is the fact that the CMS vendor provided cool performance charts in their sales brochures showing very high volumes of traffic supported. Disconnect!!
Get Your CTO and Managers on Board
Communication between your team and the senior managers should include the assumptions being made and how they were validated. Show them how web performance tuning affects profit. Get the VP of Marketing involved. Explain how slower response times has been proven to lower revenue. Teach them the importance of load testing because it turns into money.
Educate them. Gather up your performance testing statistics and present them to the CTO. Remove the disconnect.
For example, explain to the CTO that just because the performance was good in the vendor’s environment doesn’t mean the system will respond well in your environment. The hardware is different, the web server is configured differently, the database is not tuned, etc. We MUST load test the CMS ourselves. It’s a safe bet that we won’t get half the load that the vendor claims. Tuning and testing will take several cycles for us to make our system perform well. If the CTO has real experience with software and operational systems, this should make a lot of sense to her or him.
Give them articles about performance failures on websites. Let them see the downside of ignoring load testing. They should understand from examples and studies that there is a clear correlation between performance tuning and company profits. The marketing folks will be motivated by campaign results so show them how traffic spikes can bring down a site, which loses customers forever. I bet they quickly see in their mind how the dollars are walking out the proverbial door.
Load Testing and Profit
When executives see the connection between profit and load testing, they will start listening to you. Now THAT’S job security!