作为一名自由职业者,我的客户经常问我,他们必须在相似的元素之间进行选择,而这两个元素都不比另一个要好。例子:
“我需要电子商务网站使用PHP还是ASP.NET?”
“我需要在Cloud中托管此普通Web服务还是使用普通托管服务?”
“哪个对我的新网站更好:MySQL或Oracle?”
等等
根据精确的指标和研究,最多可能有1%的情况与选择相关,并且确实有客观的理由选择一种选择。在其他所有情况下,都没有关系。这完全是完全不相关的,或者是因为没有任何影响¹,或者是因为这些影响太小而无法考虑²,或者最终是因为无法预测这些影响³。
如果您知道一件事而不是另一件事,那么对这些问题的答案很简单:
“您可以使用C#或Java编写应用程序,这两种情况在您的情况下可能是等效的。请注意,我是C#开发人员,因此,如果您选择Java,我将无法处理您的项目,因此您需要寻找另一个自由职业者。”
当您同时了解这两种技术时,您将无法回答。
在这种情况下,如何向客户说明他所提出的问题受到激烈的争论,并且对他的项目没有实际影响?
换句话说,如何解释您出于与人力资源相关的原因而选择使用一种技术而不是等效的技术,而不会给人以专业或不在乎项目的印象?
¹举例:从性能角度看,MySQL比Oracle更好(更差吗?),因为个人网站每天访问两个人,哦,让我们乐观一点?
²示例:对于一个给定的项目,我被问到Windows Azure托管是否比在著名的ASP.NET托管提供商上托管同一应用程序便宜。费用显示完全相同。
³示例:您的客户对将来的应用程序有一个想法(这个想法本身非常含糊)。没有商业计划,没有要求,什么都没有。只是一个主意。系统会询问您Java是否比该应用程序的C#更好。你怎么回答