有关管理客户需求的一点见解

  软件开发难,恐怕大家都觉得最难的是搞清楚需求;但是其实更难的是管理需求。今天在北京.NET俱乐部上又有人提出了这样的问题,主要的难点是他的开发团队是为了自己的领导们服务的,几个领导都有自己的想法,而且不停的在开发过程中提各种个样的问题;开发进度无法保证,开发的结果总是满足不了要求……
  其实这样的问题大家都遇到过,而对于普通的开发人员来说我们往往不去关心,认为这是项目经理的事情,但是其实不然,这样的问题涉及软件开发的各个环节,就算你是出于最底层的开发人员,一样需要控制项目经理交给你的任务。其实这里最重需要把握的一点就是:把任务控制在你能控制的范围之内。总结一下,我的经验如下:
  第一:无论你的客户是谁,我们永远需要一个中介来接受需求;你首先需要和客户有个协议,需要他们制定某一个人来提所有的需求,这个人不需要是很高职位的人,而且往往最好的选择是中层的技术管理人员;用户的所有需求必须通过这个人的认可,就算是对方老总提出的要求,如果没有这个人的认可我们也不执行。这点非常重要,可是替我们减少许多麻烦。
  第二:无论是什么样的软件开发过程理论现在都承认一个问题,那就是软件开发需要迭代。而且我们一定要面对一个现实,就是软件开发的过程是在不断的变化中寻找平衡的过程,我们的需求永远不会结束,我们的软件永远都在被修改;修改不是坏事,但是我们必须要保证在一定的时候可以拿出成果。
  所以,控制迭代的增量就是非常重要的。一般我们公司的做法是,以两周为一个周期最为一个Release,一旦这个Release开始以后,任何用户的新需求就都需要放到后面的Release;我们不会决绝客户的需求,但是我们必须管理我们可以承受的进度。这样做的最大好处在于,在两周的时间内,我们一定可以为客户提供一个更好的版本,这可能不是客户现在心目中的最终结果(因为很多新需求都在后面的Release中),但是我们至少完成了我们在两周前所承诺的结果,客户得到他们想要的东西(当然不是全部),我们也可以很明确的告诉客户,我们完成什么样的需求。
  而且在这样一个迭代的过程中,我们会发现很多需求中的不完善之处,每两周的时间我们都可以针对开发方向作相应调整。最终的结果是保证了客户的满意度,同时也保证了产品的按期交付。
  在这里,我们需要明确的区分修改bug的需求和新功能的需求,bug应该是那些对软件主要功能造成决定性影响的缺陷,这些东西无论是我们开发人员自己发现的还是客户反馈的,都必须在当前的Release处理完;而新需求则必须放到后面的Release中去。明确区分这两种不同需求对软件项目的成功起到决定性作用。
  第三:我们需要学会管理客户。可能有人觉得我在胡扯,客户怎么可能被管理,他们是上帝啊??!!其实上帝也是人,而且是通事理的人。我们对客户永远不应该是100%的服从,正确的方式是控制用户对开发进度的期望值,尽量使他们一致。当然有些时候我们需要更强硬一点点,比如我就经常很直接的告诉我的老板,这个需求属于新功能,必须放到后面的Release中去。

------------------------------------------

时间: 2024-10-23 12:48:45

有关管理客户需求的一点见解的相关文章

需求管理之客户需求何时休?

我想看到这种标题.对于每一个搞软件的朋友来说,肯定是非常有兴趣的. 由于这已经成为每一个软件开发人员的心头大患,客户需求在软件这个独特的行业里.体现着最独特的含义,由于需求是软件项目存在的意义所在.而需求的变化让软件最后撵手不着,我们大家都会有"客户需求何时休?"的体会. 软件是服务于业务需求的,没有业务需求的软件肯定是没有价值的.国内的软件业普遍现象是:软件项目远远大于软件产品.这也是国内软件所面临的一个严重问题.国内软件好象在死亡线上挣扎.项目成为软件企业生存的唯一依赖,而项目恰恰

CRM客户管理系统如何管理企业需求

如今,人工智能普及,越来越多人开始怀疑销售的作用.其实,人与人之间的交易,是需要一定的情感表达,而每个销售都是不同的个体,为了提高效率和效益,CRM客户管理系统就表现出独特的作用和优势. 1.找准客户需求点 销售人员最主要的工作,就是找出客户购买此种产品或服务的主要目的是什么,反之还有客户不购买的抵触原因是什么.面对大量的客户数据,销售人员只有将混淆的杂质过滤掉,才能够面对客户的真实想法.CRM客户管理系统能够记录了客户的交易数据和信息,智能化的判断潜在客户的消费习惯,通过分配管理,让销售通过消

理解客户业务和客户需求

一.如何理解客户业务和客户需求? 原则1:由粗到细,从宏观到微观. 必须先从宏观上了解客户业务的全貌,再逐步深入细节.因为对于客户的业务而言,我们是外行,如果从业务细节着手,很容易迷失方向,失去对业务核心的把握.同时要认识到,对于一个外行而言,我们对细节的深入也必定是有限的,不要指望自己能够无穷的彻底的了解每一个细枝末节.一是不可能有无限的时间给你了解,二是没有这个必要.因为未来的系统也不可能完全包办所有业务的细节,还有很多事情是要靠客户企业中这些具有专业技能的人来做的. 原则2:从不同层次的客

关于如何做自动化测试和何时做自动化测试的一点见解和疑问

中华传统文化源于<易>,成于孝,孝为德之本.孝顺:孝则顺,不孝则不顺. 不久前,参加Thoughtworks组织的一场自动化测试的分享,同事由于出差国外不能参加,特意嘱托我提问两个问题: 在互联网这个将"敏捷"与"持续集成"进行积极实践的环境里,"敏捷测试"与"自动化测试"成了一个大家经常探讨的话题, 那么自动化测试最佳的实行时间是在什么时候?如何推行最有效的自动化测试? 以下谨代表个人观点: 个人整理了一些测试最

外包管理、需求管理、组织级与大项目管理

一.外包管理 1.外包的形式有哪五种?什么是利益关系?    1)活动外包    2)服务外包    3)内包    4)合包    5)利益关系,这是一种长期的合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益.如果利益无法是实现,供应商不会因他们的努力与投入而获得任何报酬. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求?    软件外包管理总的目标是用强有力的手段来管理同时进行的总舵外包项目,满足进度,质量,成本的要求.  

4月13日作业 外包管理、需求管理、组织级项目与大型项目管理

4月13日作业外包管理.需求管理.组织级项目与大型项目管理 一.外包管理 1.外包的形式有哪五种?什么是利益关系? 1.活动外包 2.服务外包 3.内包 4.合包 5.利益关系 利益关系:这是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益.如果利益无法实现供应商不会因他们的努力与投入而获得任何报酬. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求? 外包管理的目标是用前有力的手段来管理同时进行的众多外包项目,满足进度.

外包管理和需求管理

一.外包管理 1.外包的形式有哪五种?什么是利益关系? 活动外包.服务外包.内包.合包.利益关系. 利益关系:这是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求? 外包管理的目标是用强用力的手段来管理同时进行的众多外包项目,满足进度.质量.成本的要求. 对外包管理提出了以下四方面要求:慎重选择合格的软件承包商.互相同意对方的承诺.需要经常保持交流.根据合同的承诺跟踪承包

客户需求:nginx + keepalive 实现高可用 +后端的负载均衡

突然接到客户需求,需要使用nginx + keepalive 实现HA + LB,下面是主要的配置内容: 软件包直接从官网获取 操作系统环境:RHEL 6.8 X86_64 版本号:nginx-自定 keepalived-1.2.13-5.el6_6.x86_64.rpm IP地址分配:VIP: 192.168.56.10/24 RIP: 192.168.56.11/24  192.168.56.12/24 安装软件 yum -y install nginx keepalived #将nginx

商翼ERB企业管理软件是如何管理客户的?

作为最新一代的企业计算级管理系统,商翼ERB企业管理软件的客户管理功能非常的强大. 可以对客户进行自定义多级分组和设置客户等级,同一个客户可以分配到多个分组和等级设置中,查找起来非常的方便和精准: 用户可以在图形显示和文字显示之间进行自由的切换,操作起来非常的方便. 独一无二的业务大厅集成业务处理中心,用户可以将业务添加到业务大厅中,并对客户业务合作的进展及处理情况进行随时跟踪:管理人员可以将客户分配.共享或转移给公司的其他业务人员,进行协同业务处理: 特有的业务员工作日记和业务管理功能,管理人