学会对客户说“不”!
本文内容仅代表个人观点,欢迎大家拍砖!
今天有一个朋友在msn上问我这样一个问题:
客户要求可以自定义报表的格式,如果自己去写一个报表设计器,太复杂了,请问你有没有什么好办法?
于是我就问:什么叫自定义报表格式?(我一开始还以为是指定报表的导出格式。)朋友说:就是客户要自己来设计报表,而且要求尽量简单,能够让只会Office的人来用(昏哦。。。)
我马上觉得比较纳闷,怎么会有这种需求,那岂不是要做一个Crystal Report出来?!怎么会有这种客户?那他干嘛不去买一套国外的报表设计系统呢?怎么可能有只会Office的人用的报表系统?微软的Excel也需要大量的培训才能让使用者作出报表来。一个又一个问题从我脑海里蹦了出来(还好没有buffer overflow,呵呵)
我很明确的告诉他:这做不到的,否则要开发人员干吗?!之后我还建议他说服客户,突出开发成本和后期维护成本之后,还有就是人员培训成本!举个很简单的例子,微软的Excel算够简单了吧,微软花费了大量的人力来开发这套产品,但到目前为止,有多少人能够在从来没有使用过Excel的情况下马上用Excel做出一个报表来,我相信大家也看到过外面有很多Office培训,还不是教人们如何使用Word和Excel,这样优秀简单的软件培训成本都如此之高,更何况自己做的报表设计系统呢?退一步讲,就算可以做,就算把这样的系统中做出来了,又有多少普通用户能够用这样的系统做报表,我相信这绝对不是大部分受培训者!
所以这个需求完全是不合理的,可以被认定为客户的无理要求,必须在一开始就枪毙掉,不要给客户任何希望,否则最后苦的是程序员们。其实加班在很多情况下就是这样引起的,项目经理或者架构师错误的评估了技术可行性以及人工,导致开发人员不得不遵循一个本来就没有可能在规定时间内完成的计划,到最后工期越来越紧,老板则要求程序员加班,这些加班就是这样出来的!当然我们不排除一些开发人员效率低的情况,但我相信这绝对是少数。如果team里面有10个人,有2个人经常加班,那么我们可以说可能这两个人的效率有待提高;但如果10个人每个人每天都要加班,那么就是管理或者计划的问题了!虽然很多时候,作为开发人员也只能忍气吞声!
作为领导或者项目经理,应该时刻做换位思考,如果你是程序员你能完成多少?以你所知道的技术能不能做到?否则即使生意谈成了,接下来只会有一连串的问题:程序员会骂你垃圾领导、根本不懂得管理;程序员只能无奈地加班,同时你的成本也上去了(当然,那些黑心老板除外,我最讨厌那种加班不给加班费的老板!);程序员的埋怨必然影响代码的质量以及进度,这只会形成一个恶性的循环;一旦无法在规定时间内完成,客户会抱怨,甚至可能要求公司赔偿损失,对于公司来说,这样的损失是很严重的!
虽然我们时常说:客户就是上帝!但回过来想想,这些上帝把我们当成什么呢?上帝做不出来的东西让我们帮他们做,难道我们是上帝他爹?当然不是!其实应该说,客户把我们当成上帝了,他们总认为任何的需求对于我们这些开发人员来说只是小菜一碟,我们在他们眼里无所不能,只要他们提出来的需求我们肯定能做到,这就像我原来在某公司的技术支持中心做开发技术支持一样,客户经常会说“你不是微软的吗?怎么会有不知道的东西?快点帮我解决了!”要不是因为最后有survey,我们真的很想对客户说:我们又不是神!我们不是万能的!你们做不出来不等于我们就一定能做出来或者马上能做出来,总要给我们点时间吧。
很多老板或项目经理会说,如果我对客户说“不”,那不就没有生意做了吗?!我的业绩怎么办?!其实不是的,说“不”有很多技巧,并不是让你一上来就帮客户说:你的需求太无理取闹了,我们做不来!其实通常情况下,我们可以帮客户说理,为什么这个需求我们实现不了?我们的改动对贵公司的成本有多大的影响?以后的维护和培训又会是怎样的。我相信大部分的人听到这样有理有据的分析之后,会改变他的看法,毕竟作为客户最关心的无非是软件质量和成本。当然如果遇到少数无聊客户,那我觉得也没有太大必要谈下去了,说起来我们也是仁至义尽了!
今天有一个朋友在msn上问我这样一个问题:
客户要求可以自定义报表的格式,如果自己去写一个报表设计器,太复杂了,请问你有没有什么好办法?
于是我就问:什么叫自定义报表格式?(我一开始还以为是指定报表的导出格式。)朋友说:就是客户要自己来设计报表,而且要求尽量简单,能够让只会Office的人来用(昏哦。。。)
我马上觉得比较纳闷,怎么会有这种需求,那岂不是要做一个Crystal Report出来?!怎么会有这种客户?那他干嘛不去买一套国外的报表设计系统呢?怎么可能有只会Office的人用的报表系统?微软的Excel也需要大量的培训才能让使用者作出报表来。一个又一个问题从我脑海里蹦了出来(还好没有buffer overflow,呵呵)
我很明确的告诉他:这做不到的,否则要开发人员干吗?!之后我还建议他说服客户,突出开发成本和后期维护成本之后,还有就是人员培训成本!举个很简单的例子,微软的Excel算够简单了吧,微软花费了大量的人力来开发这套产品,但到目前为止,有多少人能够在从来没有使用过Excel的情况下马上用Excel做出一个报表来,我相信大家也看到过外面有很多Office培训,还不是教人们如何使用Word和Excel,这样优秀简单的软件培训成本都如此之高,更何况自己做的报表设计系统呢?退一步讲,就算可以做,就算把这样的系统中做出来了,又有多少普通用户能够用这样的系统做报表,我相信这绝对不是大部分受培训者!
所以这个需求完全是不合理的,可以被认定为客户的无理要求,必须在一开始就枪毙掉,不要给客户任何希望,否则最后苦的是程序员们。其实加班在很多情况下就是这样引起的,项目经理或者架构师错误的评估了技术可行性以及人工,导致开发人员不得不遵循一个本来就没有可能在规定时间内完成的计划,到最后工期越来越紧,老板则要求程序员加班,这些加班就是这样出来的!当然我们不排除一些开发人员效率低的情况,但我相信这绝对是少数。如果team里面有10个人,有2个人经常加班,那么我们可以说可能这两个人的效率有待提高;但如果10个人每个人每天都要加班,那么就是管理或者计划的问题了!虽然很多时候,作为开发人员也只能忍气吞声!
作为领导或者项目经理,应该时刻做换位思考,如果你是程序员你能完成多少?以你所知道的技术能不能做到?否则即使生意谈成了,接下来只会有一连串的问题:程序员会骂你垃圾领导、根本不懂得管理;程序员只能无奈地加班,同时你的成本也上去了(当然,那些黑心老板除外,我最讨厌那种加班不给加班费的老板!);程序员的埋怨必然影响代码的质量以及进度,这只会形成一个恶性的循环;一旦无法在规定时间内完成,客户会抱怨,甚至可能要求公司赔偿损失,对于公司来说,这样的损失是很严重的!
虽然我们时常说:客户就是上帝!但回过来想想,这些上帝把我们当成什么呢?上帝做不出来的东西让我们帮他们做,难道我们是上帝他爹?当然不是!其实应该说,客户把我们当成上帝了,他们总认为任何的需求对于我们这些开发人员来说只是小菜一碟,我们在他们眼里无所不能,只要他们提出来的需求我们肯定能做到,这就像我原来在某公司的技术支持中心做开发技术支持一样,客户经常会说“你不是微软的吗?怎么会有不知道的东西?快点帮我解决了!”要不是因为最后有survey,我们真的很想对客户说:我们又不是神!我们不是万能的!你们做不出来不等于我们就一定能做出来或者马上能做出来,总要给我们点时间吧。
很多老板或项目经理会说,如果我对客户说“不”,那不就没有生意做了吗?!我的业绩怎么办?!其实不是的,说“不”有很多技巧,并不是让你一上来就帮客户说:你的需求太无理取闹了,我们做不来!其实通常情况下,我们可以帮客户说理,为什么这个需求我们实现不了?我们的改动对贵公司的成本有多大的影响?以后的维护和培训又会是怎样的。我相信大部分的人听到这样有理有据的分析之后,会改变他的看法,毕竟作为客户最关心的无非是软件质量和成本。当然如果遇到少数无聊客户,那我觉得也没有太大必要谈下去了,说起来我们也是仁至义尽了!
版权声明:本文由作者Tony Qu原创, 未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。