What to answer to a customer who asks which one of two equivalent technologies must be used?
- by MainMa
As a freelancer, I am often asked by my customers what they must choose between similar elements, neither of which being better than another. Examples:
“Do I need my e-commerce website be in PHP or ASP.NET?”
“Do I need to host this ordinary web service in Cloud or use an ordinary hosting service?”
“Which one is better for my new website: MySQL or Oracle?”
etc.
There is maybe at most 1% of cases where the choice is relevant, and there is a real, objective reason to use one over another, based on the precise metrics and studies. In all other cases, it doesn't matter at all. It is totally, completely irrelevant, either because there are no implications¹, or because those implications are too small to be taken in account², or, finally, because it's impossible to predict those implications³.
If you know one thing and not another one, the answer to those questions is easy:
“You can either write the application in C# or Java, both being probably equivalent in your case. Note that I'm a C# developer, so if you choose Java, I would not be able to work on your project and you would need to find another freelancer.”
When you know both technologies, you can't answer that.
In this case, how to explain to the customer that the question he asks is subject to flamewar and has no real consequences on his project?
In other words, how to explain that you've chosen to use one technology rather than an equivalent one for the reasons related to human resources, without giving the impression to be unprofessional or to not care about the project?
¹ Example: Is MySQL better (worse?), performance-wise, compared to Oracle, for a personal website which will be accessed by, oh, let's be optimistic, two people per day?
² Example: for a given project, I was asked to asset if Windows Azure hosting would be cheaper than the hosting of the same application on a well-known ASP.NET hosting provider. The cost revealed to be exactly the same.
³ Example: your customer have an idea of a future application (the idea itself being extremely vague). There is no business plan, no requirements, nothing at all. Just an idea. You are asked if Java is better than C# for this app. What do you answer?