锁定老帖子 主题:怎样控制需求变更
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-11
用户总是会提出新的需求啊!
|
|
返回顶楼 | |
发表时间:2008-11-11
cmmi会有用的
|
|
返回顶楼 | |
发表时间:2008-11-12
我个人认为,在国内,除非是真正懂行的客户老板,他们的意见往往是表面的,不科学,是不需要太在意的,能忽悠就忽悠,让他闭嘴就行。关键是真正的使用者,比如7*24或者5*8的,他们提出的意见才最后决定这个项目的命运,你不得不去follow。
|
|
返回顶楼 | |
发表时间:2008-11-13
levis2000 说的最实际了
|
|
返回顶楼 | |
发表时间:2008-11-14
pandonix 写道 movingboy 写道 看起来一个明显的问题是你们开发小组与客户的沟通、开发小组与老板的沟通不够充分、有效。由于软件开发的专业性,客户与老板都不懂得开发过程的复杂性,不懂得一项变动对项目的成本、时间及其它方面有什么样的影响,不懂得项目后期的变动与前期的变动对项目影响的差异有多大。要靠客户或老板单方面去理解这些是很困难的,所以开发小组必须能提供足够的信息,帮助他们去判断。如果开发小组自己也是懵懵懂懂的,就别希望客户在项目前期就能确认,别希望老板能做出正确的决策
再就你提到的几个具体的问题说说个人的看法: 1.我向老总提写议确认书,并让客户签确认书,可老板说这是不可能的,你功能都没做出来,怎么让他们签啊? 首先就个人经验而言,让客户在需求说明书(或类似的文档)上签字是很难的。就算是双方对需求的理解已经高度一致了,客户仍然会对未完成的东东心存疑虑,毕竟一份需求说明书不能列举所有的细节。此外如果客户签署了需求说明书,万一项目失败了,签字的那个人很可能成为项目失败的责任人。没有人愿意承担这样的危险(注意是危险,不是风险) 我们对于需求沟通的最基本的做法就是反复沟通和迭代开发。其实这并没有什么神奇的地方,道理也象白开水一样简单: 反复沟通是一个从粗略到精细的过程。每次沟通都能减少开发小组与客户对需求的理解的差异,或者修正以前错误的理解,或者比上一次讨论的更深入、更全面 迭代开发使得开发小组能比较快地提交新功能,对需求变更也能快速响应。而每次交付给客户试用的软件能让客户有更直观的感受,能更有针对性地提出问题,双方沟通的效率也可能提高 2.实际上很多时候都是我们在开发或者开发完了,老总提出来要更改的 我觉得开发小组可能需要更深入地理解需求,尽可能在项目前期就搞准确。这可能也需要你们学习更多的行业知识,了解更多的行业习惯。如果不这样,就很可能出现你开发的一个功能你觉得很爽、很酷,但用户却觉得很搞笑、很花哨...... 老板或客户不懂得如何评估一项功能或变动会对系统产生多大的影响。比如是否会导致架构方面的改动、改动的范围或程度如何?是否导致返工、返工的工作量如何?(其实个人觉得更应该关注返工对于开发小组士气的影响如何)。所以你们应该在项目前期考虑各种可能的实现,在一定程度内做得灵活一点(留有变更或扩展的余地),而且,应该迭代开发 还有一点,开发小组要学会评估工作量和工期。面对一项功能或变动,如果开发小组说不清楚要干些什么,要多久(更妥当地说,多久是一个时间范围),怎么能希望老板能正确地评估收益和代价呢?怎么能正确地决定做还是不做呢? 说到底,客户不能在需求说明书上签字,老板在开发工作完成了才提出变更,最根本的原因是他们对开发小组在项目前期对需求的把握没有信心。他们不知道开发小组对需求理解到什么程度?开发小组的理解与他们的理解是否一致?开发小组到底要花多少时间才能把项目做好(不仅仅是做出来)?如果开发小组能打消他们的疑虑,或许开发过程会顺利许多 非常精辟,个人最欣赏的是movingboy对待需求变更的心态。当需求变得不可控,严重影响到项目开发和组员士气时,我们往往选择了抱怨,自然而然地期望能有一份与客户之间的“需求协议”。不可否认,有些时候,遇到老好人时,这是有可能的。特别是一些重视流程的大公司,甚至主动要求去签署这样的协议。然而,如果开发小组与客户(或老板)尚未建立“高度一致”的需求认知就签署这样的协议,往往是没有意义的,最终吃亏的还是开发人员。试想,待项目交互时,客户才发现很多功能并非他们所期望的,那对开发人员而言,简直就是噩梦。 需求分析是一个迭代过程,应该是被不断细化的。极端情况下,有些模块的需求甚至要直到其他模块开发出Alpha版本后才有可能被完全明确。正如o6z所说:“需求变更不应该去控制,而应该是跟踪,更好的是做到去引导”。所以说,开发人员应该积极主动与客户(或者协助市场人员)不断地去细化需求。曾经认识这样一位项目经理:项目验收成功后,客户常常开玩笑说,他比客户自己还要了解该项目的业务。 所以,个人认为,开发人员面对需求变更,最重要的是有一套如何应对变更的方法,或者说是“如何跟踪和引导”的方法。 呵呵,非常期待o6z大师详细谈谈需求跟踪和引导客户的方法和经验:) 感觉这里参加讨论的人,都是从软件过程来提出解决方法的。 但是,面对成熟客户,这个是可以的。但是,现在LZ面对的不是一个成熟客户,很明显,公司领导层也站在客户那边,所以软件过程那些东西说了也是白说,而且老板是利益导向的(或者说是结果导向),根本不会管其中的变更带来的rework,所以建议LZ,在项目初期,现做静态的页面(好像是个web项目),业务逻辑的跳转也可以加上去,起码要让用户对UI的先做确认,而且对于用户来说也很直观,他们也可以提出相应的意见,数据库这些先不着急,等这些都确认以后,在开始开发中间的业务逻辑,这样起码,不会浪费太多的时间,而且可操作性比较强,工作也不会太大,毕竟那些静态页面后面开发也可以用啊。 |
|
返回顶楼 | |
发表时间:2008-11-14
同意2楼的,要做Demo,如果客户不认同你的Demo,你开发出来也是白搭。
客户说不直观我觉得是你没有认真对待Demo,Demo应该能很顺畅的跑下去,简单的说,就是拿着Demo给客户讲得清楚。Demo做得好是可以真实的反映你的产品的。 |
|
返回顶楼 | |
发表时间:2008-11-15
需求频繁变更,头痛的问题!是客户还是我们的原因?
|
|
返回顶楼 | |
发表时间:2008-11-15
好像客户的需求不能去控制它,而且也没法控制。其实应该是在做系统之前就应该了解相对应的业务知识,当客户不清楚自己的需求的时候,需要做软件的人教他们什么是对的,怎样才是正确使用该软件方法,从而让用户感觉到你们的软件确实符合实际需求,这需要资深和权威的顾问做后盾,需要经验的积累。要不然就只有跟在用户的屁股后面跑了。
|
|
返回顶楼 | |
发表时间:2008-11-15
我认为关键是要了解清楚业务实体有哪些,他们之间的关系如何,这些是业务的核心而且基本不怎么变化的东西,也是客户唯一能和你说清楚的东西(如果不能说清楚,证明客户自己对自己的业务都不了解,或者你找错人做需求调研了。。。。)一般涉及业务实体的变更才会带来巨大的工作量,而且牵一发动全身,至于界面和功能性操作的需求,客户是无法一开始和你确认的,但是这部分的修改一般不会产生连锁效应,所以问题不大,我建议你使用迭代的方法来管理开发过程。
|
|
返回顶楼 | |
发表时间:2008-11-16
和客户沟通太少。
|
|
返回顶楼 | |