为啥软件项目开发中需求难以确定
其实需求难以确定是很正常的。1. 很多时候需求是产品经理,或者客户基于自己的需求提出了一个解决方案。也就是他们所说的需求并不是真正的需求。解决方案可以有很多个,而真正的需求只有一个。所以很多时候需要问产品经理或者客户,为什么要这样做。多问几个为什么,挖掘他内心真正的需求。敏捷开发里面的story模板:作为什么角色的用户,我想实现xxx,这样的目的是啥。也是为了帮助大家来理清。2. 信息在沟通过程中往往会存在缺失、误解。同样一件事情,不同的人理解不同,这也太正常了。敏捷开发提供的解决手段是估算:从需求(story)到task,整个团队做估算,争取达到理解一致。3. 外在的场景在不断的发生变化。 人往往看到东西才能提出自己的有效反馈。所以敏捷开发提倡小步快跑,通过及时的交付来调整自己前进的方向。4. 质量和代码架构的问题。代码质量和架构问题也会导致需求的实现不够合理,从而产生各种各样的bug,各种各样扭曲的改动,以至于需求也被扭曲。:)敏捷开发提供的解决方案是各种实践:比如结对编程,比如代码评审,重构,等等。人的欲望是无穷无尽的,我生也有涯,人之欲无涯.....
■网友
因为有时侯客户自己也不知道他想要什么~~~
■网友
本文允许转发链接,禁止转发内容。王春生 老师已经说了很多detail的东西了,我很同意,以下我可以从比较宏观的方向来说一下为什么在软件开发中需求难以确定。1. 首先我们在做项目的时候要大概确定是以什么模型进行开发,如果是瀑布模型的话,那么一开始的需求就需要具体确定,他的优点是显而易见的,就是在需求文档的时候就已经吧所有需求定义出来了,照着开发就好,时间成本,输入和输出都清晰界定,然后有需求变更在相应走流程。2. 敏捷开发,是为了弥补瀑布开发过程中的一些缺点,主要在需求上能够减少试错成本,对公司是极好的,但是对于开发来说,恭喜,你在这个坑中的需求变更是必然存在的。记得看过一篇文章说大概有74%的公司用的是Scrum 或者Scrum+极限编程的混合体,王老师所说的就是标准的Scrum开发模式,对于需求分析师这边来看主要就是User Story,主要说明谁是目标用户,系统可以为客户做什么,为什么用户需要它。除此之外还有Lean, Kanban, Crystal, FDD(Feature-Driven Development), DSDM(Dynamic Systems Development Method) 等。一般项目的需求更改主要有以下几个原因。a.所做的项目太大了,无法一开始使用瀑布模型界定需求范围,和成本,所以采用敏捷开发,那么需求不断更改在一开始就已经定性了。b.再就是用户和开发的理解产生不同,用户往往考虑的是自己易用方面的考量,而开发一般是基于代码简洁易懂,易维护的方面进行考量,所以很多时候虽然我们完成了客户的需求,但是客户不满意,举个例子就是客服系统和core系统share同一个数据库,但是用户访问高峰时候会产生加载时间过长的问题,这个问题一开始没有发现出来,于是客户提出单独为客服做一个小型备份的数据库,这是相当大的一个需求。c.在需求文档写出来的时候,客户没有真实的hands on进行实操,所以很多问题用户也没有深究,比如客户的需求就是在系统里面增加一个分组的功能,将每人的业绩以组的形式统计出来,但是实操发现因为人员变动非常勤,需要增加人员离职,和人员换组的功能,这又是一个坑。d.在就是做项目一开始没有考虑与其他项目 公用功能变更的因素,有时候我们做项目接口做好了,但是其他项目将这个接口更改而没有告诉我们,这也会导致需求的变更。e.我把这个留在最后,因为是我最反感的,就是上头决策发生变化了,直接导致你的项目某一个功能被砍掉,需要做一个折中方案,或者"有关部门"在项目进行过程中出台了一个监管要求,强加进项目的需求当中等都会导致题主提出的问题。... 以上。
■网友
根据经验,只有两点1.项目经理水平太次 2.甲方太失控不要动不动骂客户,毫无用处…归根结底…1.项目经理要能控制节奏。2.项目经理要有成熟的需求管理经验。(有兴趣可以进一步沟通)请参考!
推荐阅读
- 为啥看到书柜上的藏书会有心旷神怡的感觉
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 为啥知乎上普便有一种【我在北上广深打工,所以拥有更好的视野】这样的错觉
- 为啥工商银行的用户体验如此之差
- 汽车|看了中消协4S店服务测评调查结果,终于知道法系车为啥卖不好了
- 你为啥从窝窝商城离职?
- 为啥5G和2.4G默认的BSSID是相同的
- 为啥电器实体店的价格比淘宝贵那么多
- 现在在线学习视频有很多了,为啥大部分人还是喜欢下载下来观看
- 为啥到现在你还没有女朋友 ?
