开发的软件功能与客户需求不符,如何解决?

如题所述

【解答】睿泰咨询一部经理 杨俊(新浪微博名:睿泰杨俊) 这个问题有些大,这里只能提纲挈领,万望见谅。研发出的系统始终无法满足客户的需求,是IT行业的普遍问题,一成不变的解决方案是没有的,这里我们首先要思考几个维度的问题。两种角度对于提取和理解客户需求的关键点是不同的,对于一种通用产品,我们对于产品的假设就是——系统能够以一系列相对通用的功能满足试图涉足的市场的绝大多数客户,否则就不能称其为“通用”。对于此类,理解客户需求必须建立在抽象的假设上,因为不是去满足一个客户的一个需求,而是一群客户的一组需求。提前调研潜在客户(而不是等到有购买欲求的客户提出采购请求的时候),并且不能只调研一家或几家客户,从而形成市场潜在客户的需求库,走在客户的前面,让客户认为你是专家,这很重要。软件研发的难,难在对客户的领域知识知之甚少,而不在于技术能力不够。第一次为某客户服务,必然是摸索与合作的过程,自然也就难于满足客户的根本需求。但就在合作的过程中,团队或企业将比其他组织更有效的学习和了解到客户的领域知识以及环境,从而提前为客户构想及筹划可能的新服务,这是牢牢把握客户需求的关键。维度2:系统的新颖程度研发、研究与开发,自然意味着面对未知,也就是一种创新的过程,但是依据创新的程度,我们可以将一次研发活动分为:巨大的创新,有系统的开发,以及改进。假设,回到2000年初,我们提出了电子商务的概念,对于全中国来说,这都是一个巨大的挑战和未知,没有人知道电子商务意味着什么,也没有人知道到底最后应该是一个什么样子,这个时候就属于巨大的创新。巨大的创新是建立在巨大的商业假设之上的,这个时候还不存在市场及客户,也就不存在调研这回事。对客户需求的把握,除了依靠不断的提供新的试用环境和不断的修正,没有别的任何好办法。当我们已经为某一类客户提供过某种系统(如OA),那么为其他客户提供类似产品就属于“有系统的开发”,此类研发活动是建立在“客户的需要”是已知的情况下,但是“客户将如何使用系统”却依然是未知的。无论我们开发过多少款OA,为下一个客户提供OA,在很大程度上依然需要提供许多定制部分。OA能够满足的客户需要是明确的,即信息沟通及办公自动化,但是不同的公司对于信息的定义是不同的,对于需要自动化办公的部分也是不同的,这些部分就需要在项目过程中去了解与研发。对于此类研发活动,需要通过不断的积累项目经验,提炼出不变的系统部分,同时为经常变化的部分提供设计上的多态接口,以应对变化。但是在“如何更有效的了解客户”的问题上,不能靠一个项目一个系统去解决问题,要保证每个项目结束之后就去总结这个问题,甚至要总结不同的客户采购相同的产品是否会有不同的需求和期望,是不是能在一开始就挖掘出来,如果能,怎么挖掘;如果不能,如何在项目中不断的摸索和更正?更重要的原则还是,必须走在绝大多数客户的前面,专业服务公司必须是专家公司,提供专业解决方案而不是听凭客户。对于改进型项目,诸如长期的老系统维护,不断滋生的新需求,此类需求是最能够被识别和提前定义的,但是这要求维护此类项目的人必须是曾经的熟手,对客户需求的理解强弱,能力倒是其次,关键是环境和经验。维度3:客户对于需求的理解程度有些需求,客户只能理解其需要什么,而不能转换成明确的需求,这就需要程序员以专业设计人员的身份提供解决方案的建议,这就好像客户知道自己冷,但却无法描述自己想要什么来取暖,工程师们的职责就是提供当前最有效的取暖手段,或者是提供一杯热水,或者是提供一件外衣。对于此类项目,需要的不仅仅是学习者,而是设计师,是能够发掘(而不是单纯依赖倾听)内心深处需要的设计师。
温馨提示:答案为网友推荐,仅供参考
相似回答