Recently I was looking through some stuff, and found a quote I posted from Kelly Anderson on the Maverick Software Development list:
Quality in real money terms (and that is the way we keep score in business) is the inverse of the expense of technical support. If technical support is a profit center, then quality in the terms you think about normally are inverted. Therefore, if you wish to have high quality, you should ensure that technical support never becomes a profit center.
This is suddenly relevant to me again because the organzation I work for is a cost center for our company. However, because we are part of the “Services” organization, and because we deliver proactive services that can be seen as “profitable”, there is always a debate about how we can increase revenue for the company.
From the time I started I thought this was a bad idea. In fact, some of my coworkers and I had a spirited debate about it over dinner after an onsite visit. My view point is this: If we are to be trusted advisors to our customers, then we can’t be involved in selling services or products, and we have to walk a fine line between identifying spots they need help, and services which would just be profitable.
But the clarity of Kelly’s quote is really the phrase I was looking for. We can’t, nor should we be, a profit center. The fact that we offer proactive services makes that muddy, but our core mission should be to offer solutions and advice which is best for our customers. This may mean suggesting non-company products if that is appropriate, and not trying to shoehorn our customer’s needs into our products, just because they are ours.
For example, we had a discussion on one of our lists because a field engineer’s laptop died, and he had to use a hotel business center computer to retrieve some information. Now, he did it in a secure way, so it wasn’t a problem, but some people made suggestions like wiping the computer after you used it, or carrying around a custom Windows PE disc with lots of NIC drivers.
But why not carry around a Linux LiveCD? Sure, I could see lots of people being up in arms, but if we don’t have a solution, and there is a need, then we should identify that need to the right people, and find tools to fit the bill in between.
If we aren’t willing to do that, then it becomes harder to be in the trusted advisor role. I want our products to work and fit the bill just as much as the next person, but I also don’t want to force things just because they are ours.
The one thing you have, above everything else with your customers, is trust. If you can look them in the eye and tell them that your product is crap, and that there is something to fit their needs in the interim until you can get it fixed, that really means something. Look at our unit testing, or MSBuild, and compare them to NUnit and NAnt. To be able to say to a customer that NUnit is a better unit testing framework, but that our Unit Test has good integration with TFS and is getting better gains a lot of respect, and usually wins the customer over. Helping a customer use TFS with Linux and Rails probably won that team over.
So thanks Kelly for driving home something that had been floating around in my head for a while. I just hope that people pay attention to it.
Totally agree with you – I would prefer support staff to be honest and find viable solutions rather than anything else.
But how about Microsoft support? I would find them hard pressed to recommend anything in the open source world :-) even if it was a better solution.