“你们的需求明确了吗?”很多国内软件开发公司在初步接触客户时都会有这样的沟通。很多客户也会在此时回答:“我们的需求很清楚。”“我们已经有详细的需求文档了。”基于这样的对话,软件开发基本会有两个方向的结果,一种是程序员只需要完全按照客户提供的需求进行代码实现;一种是所谓的需求根本不是软件开发的需求,或者说根本不是客户实际的需求,最终项目不了了之或者做出来的产品根本没有用。
一款软件的研发,通常是个不断完善的过程。因此,我们始终在寻找“不清楚需求”的客户,为客户创造最大的价值。
国内外市场客户意识差异
我们从事软件研发服务,已经二十余年了。近几年,国内业务终于有些起色,我们也有机会更多接触和了解国内软件研发服务市场。
对比国外市场,国内软件服务市场还处于初级阶段。不是技术或能力的问题,是在意识层面上的差距。根据项目需求说明书,评估报价、签订合同仍是市场上的主流模式。而按时间计费是国外软件服务市场最常见的模式,也是我们认为更适合软件研发服务的业务模式。
一款软件的研发,不同于生产产品的过程,生产线上生产出符合标准的产品就可以了。对于软件,要事先设定“标准”很困难。一款待开发的软件“标准”,也叫需求说明书(Specification)。多数国内公司选择软件服务商之前,一定要把需求说明书做出来。即使没有需求说明书,服务商也会替客户做一份,附加到合同里,认为需求说明书可以限制项目边界,起到“保护”自己的作用。
在国内市场,软件研发服务模式基本上只有一种,客户提供需求说明,服务商提供评估和报价,客户在若干份评估中,选择最有利、最有把握的供应商签订合同。
怎么判断供应商有没有把握?看他有没有类似项目经验就好了,殊不知一个供应商的项目经验案例,来源五花八门,有现有员工在前单位的项目经验/案例,也有前员工在现单位的项目经验,甚至还有前员工在前单位的项目案例,这些“经验”对客户其实没什么价值。有些供应商担心员工离职,带走项目经验,就把为客户做过的项目改成解决方案,知识产权问题不谈,这些“解决方案”,对新客户未必是好事。但往往新客户对已有的“解决方案”更感兴趣,认为基于解决方案,只要稍作修改自己就可以用,简单又便宜。
解决方案是否能真的解决“需求”
软件系统就像一个公司的灵魂,也是不同于另一个公司(竞争对手)的差异所在,如果两个公司没有差异,也就不会有优势。拿别人的系统改造,看起来很美,实际上老系统容许修改的空间非常小。经常客户看来很小的修改,对软件工程师的工作量可能是巨大的,这取决于软件系统设计阶段对灵活性的考虑,而多数为单一客户开发的系统,出于成本原因,对灵活性设计考虑都不多。所以一个为客户定制的软件,要改为“解决方案”,需要重新设计成更灵活、可配置的模式,以适应不同客户的需求。多数软件服务商并不会增加这个过程,而是直接拿给客户用。
我们在国内遇到很多客户,尝试用过这样的“解决方案”,发现不能解决自己遇到的问题,又转向我们,重新定制开发。在开始前,还是需要我们评估,客户认为自己的需求很清晰,我们只要实现客户的想法就好,就像生产线上生产产品一样。
在我们的经验里,绝大部分客户都意识不到自己“想好”的需求,和最终可用的软件之间有多大差距。一旦我们在这个阶段给出评估,再根据评估签订合同,我们就和客户一同掉进坑里了。
文章开头提到国内外市场的差异,在客户意识层面。之前看到一个新的潜在客户(美国),他这样留言:
“I’m looking to start my own business and need a website created I have looked around at website templates but I cannot figure out what I want or really need.”
“我要开始自己的生意,需要建立一个网站,我看了一些网站的模版,但还是弄不清我真正需要的(软件)是什么。”
他知道自己不清楚自己真正需要的,才来寻求我们的帮助和服务。而我们的服务就是和客户一同完善他的想法,并实现出来。我们提供的服务,主要价值并不是代码实现,而是和客户一同把原本不完整的拼图凑齐,拼起来。
在国内我们见到的客户,多数都认为自己清楚自己想要的,我们只要用代码实现其想法就够了。这个想法源自产品的生产过程,客户提供图纸,我们负责加工。所以我告诉我们的客户经理,有需求的客户都不是目标客户,我们在国内要找“不清楚需求”的客户。
需求本身是软件的价值主要来源,是软件研发服务的核心。软件研发服务主要是对需求的研发,不是编写代码。所以我们的项目开始前,需求并不确定。需求的不确定性,导致任何对项目的评估都是不负责任的,没有评估就没有报价。没有报价怎么开展项目?基于信任的长期合作是最优的模式。
这几年我们在国内市场的进展,源于我们的坚持,坚持寻找“不清楚需求”的长期客户。长期合作是建立信任的前提和驱动力,信任是按时间计费模式的基础。眼下认为自己需求不清楚的客户不多,但积累下来的客户,大都能从长期合作中受益。作为供应商,我们在这个过程中,也实现了国内业务的良性增长。