客户:指导还是被指导?

时间:2022-09-23 06:11:58

客户:指导还是被指导?

一家大型的物流企业,为了提升工作效率,想在公司内部进行信息化建设。他们委托了一家软件公司来做一套物流管理信息系统。双方一开始的谈判进行得比较顺利,但在系统后期的测试阶段却屡屡出现问题。物流企业对一些功能的实现并不满意,不断地提出新要求,而有些要求需要对软件代码进行很多改动,这使得项目期限一拖再拖;另外物流企业要求的一部分功能点一直到最后也没有实现。双方为此争吵了多次,合作得并不愉快。为什么会出现这样的情况呢?

无独有偶。采访中另外一家软件公司恰巧也有和物流企业合作的经历,但他们之间的合作却比较顺利,最终实现的系统和双方当初谈判时要求的差不多,工期也没有拖延。被访者黄经理认为这主要是两家公司在前期和整个开发过程中的沟通都非常好,而且软件企业对客户的需求一直处于一种指导地位。

黄经理介绍,两家公司对合作准备得很充分,双方派出了专家团队进行接触。软件公司首先通过对方的介绍,充分了解这家物流公司工作的主要特点,然后进行实地考察,最后公司根据自己收集的资料,把物流企业想要达到的目标具体化。他们提出了很精细的流程方案,并把这个方案用模拟出来的功能图展示给对方看。这个功能图非常精确和具体,可以看到每个操作流程和每个部门将会看到的操作界面,甚至包括这些界面将会实现的功能。

“为了达成一致,我们总是在不断地开会,很多文件都要签字。客户刚开始非常不理解,感到不耐烦。但是最后工程出来了,他们发现前期的工作都没有白做。”黄经理很感概地说。不断地开会、签字、盖章,就是为了双方反复地沟通,并把结果予以确认,这个规范化过程可以为以后省去许多推诿责任的时间。此外,沟通的过程并不是仅仅在开始的时候,应该贯穿软件开发、测试全过程,只有这样才能保证在发现问题或者增加要求的时候,能立刻解决问题。如果这些问题都等到软件的试运行过程才提出来,修改代码的过程将特别繁杂。

黄经理说,在和客户的沟通过程中,特别重要的一点,是软件企业应该对客户起到指导性作用。在国外软件企业工作过多年的黄经理,认为国内外的软件企业在软件流程上,有一个很有趣的差别,那就是国外的“信息采集”和“需求分析”阶段,在国内被统称为“调研”阶段。虽然看上去是“调查”和“研究”两个部分,也是对需求的采集和分析。但从实际执行情况来看,两种称呼的背后却存在着很大差别。

国内“调研”的主要目的是:了解客户的需求。换句话说,是去问客户“你需要我们做什么”,然后软件人员在脑海中形成思路,设计出系统,尽量满足客户的各种要求;而国外的“信息采集”和“需求分析”,是通过对信息的收集和分析后,结合客户的需要,软件公司来告诉客户“为了达到你们的目标和要求,我们建议你们这么做”。

这两种不同的思路,反映出国内外软件设计理念的差别,也会直接导致软件质量产品的差距。

首先,软件人员被客户指导着走,看上去是为了满足客户的需要,似乎合情合理,但却存在着一些现实问题。所谓“隔行如隔山”,客户对软件工作的流程不了解,对自己的需求也不都能很好地描述。

很多客户只是模糊地知道自己想要达成一个什么样的目标,但是心中也不清楚这个目标具化后会是什么样子,比如有的企业客户在上系统的时候,提出一个要求,就是希望能推广企业的高科技形象,这样的要求非常抽象,如果软件设计人员不能对此和客户进行很好的沟通,并对其需求进行引导,将很难设计出使客户满意的产品来。

软件产品作为一种特殊的商品,它始终和成本、规模紧密结合在一起。很多人都有这样的直观感受,那就是一个软件通常会具备很多功能,但每个人经常能用到的功能并不多。举一个最简单的例子,比如人们常用的Office软件,虽然有Word,Excel,Access,Outlook等功能模块,但对于一个经常写文档的人来说,可能不需要使用access这样的功能,如果全部安装整个软件功能,会占用很多的系统资源。

那么客户和软件开发人员什么样的关系才合适呢?黄经理打了一个形象比喻:好比一个人买了一套房子,他请了一位装修工人来装修,并告诉这位工人家具要摆放在哪里,墙壁要粉刷成什么颜色,同时给出一个计划内的预算。这时,这位工人为了在成本制约下达到客户的各种要求,就只能降低工程质量,比如买较便宜的涂料、建材等,使得最终装修质量得不到保证,而实现的诸多功能也是不需要的。这就是“技工型”模式。

而另一个人买了一套房子,虽然也开出了一样的成本,但他更愿意保证工程的质量。于是他请了一位装修专家,告诉他自己需要达到的效果和目的。于是,这位设计师在现有的预算下,通过和客户的不断沟通,了解客户的性格、爱好、需要等,提出一个合理化的装修建议,使得在成本和质量中间,达到一个相对最好的平衡点,这就是“专家型”或称为“设计师型”模式。

两种模式可以类比当前软件开发过程中客户和软件企业的关系,其差别显而易见,孰优孰劣也一眼便知。

客户和软件开发企业之间应该是一种充分合作的互动式沟通关系。虽然双方是各自领域的专家,但在涉足对方领域的时候,不间断地沟通。充分地表达需求、理解需求,并在整个软件开发过程中,随时地发现问题和解决问题,才是将软件质量风险控制到最低程度的解决办法。

而企业客户在购买软件产品的时候,也往往过于理想化,总是希望出最少的钱,实现最多的功能,但这样可能会降低软件产品的质量。要解决这种矛盾,理想的方法就是软件人员利用专业知识,结合客户自身的需要,在现有的资源、成本、规模之下,有针对性地对客户进行指导,尽可能地达到客户的需要。

上一篇:解读大连模式 下一篇:远程访问 用SSL VPN