需求分析应该非常重要吧?!在做一个需求分析都没搞清楚的项目

2013-08-27 18:03:38 +08:00
 SunshineLian
在做一个网站,发现需求分析非常不明确。开始做整体和各个模块的时候,就是看着差不多是那么回事的样子先做做,然后,再不断的修改之前已经做过的。经常是前段时间做好的功能和模块,过了几天,说需求变了,把之前做好的东西再修改的面目全非。不光是功能部分如此,页面也是如此,能把以前做好的页面该成另一副样子。效率之低,大家可以想象。因为需求变了,有的时候,数据库的字段和结构也要跟着变。我真的很无语……O__O"…管事儿的人,好像也没有专门和客户谈过需求,似乎一直都是客户提出新的想法了,我们就跟着变……哎!
我不知道这种情况多不多,大家有没有遇到过呢?反正我很不喜欢这样,刚开始的时候也一度被折腾的抓狂,这都是在干什么啊……~~~~(>_<)~~~~ 这段时间我就在想,需求分析看似没有开发容易,但它是多么的重要啊,是一个好开发的根基啊\(^o^)/~。就像程序中的注释是多么的重要啊( ⊙ o ⊙ ),不经历体会不到啊……
大家都来说说……
6694 次点击
所在节点    程序员
46 条回复
lichao
2013-08-27 18:08:59 +08:00
按理说是要有个需求说明书的,但是很多国内客户连让他拿出一张纸来简单写写需求他都觉得麻烦,提需求变更需求之前也没有经过怎样的思考。
也是因为东西做出来之前,他们自己也不清楚自己要的是什么,只有做出来给他看了,他才会觉得合适或者不合适。
lichao
2013-08-27 18:10:58 +08:00
如果能按照工时向客户收费,那结果一定大不一样
flied
2013-08-27 18:19:27 +08:00
没有需求文档不干活。
kingwkb
2013-08-27 18:21:41 +08:00
国内都这样,国外不清楚

这样的活不干,估计就没什么活能干了
juicy
2013-08-27 18:29:24 +08:00
这估计是国内程序猿苦逼的一个很根本性的原因~~
SunshineLian
2013-08-27 18:42:20 +08:00
@lichao 是啊,客户对这个也不懂,但是,你说的“东西做出来之前,他们自己也不清楚自己要的是什么,只有做出来给他看了,他才会觉得合适或者不合适”,我觉得正是因为这样,所以,项目经理什么的才要专门的去谈需求,公司提出解决方案,可以画出网站页面的图纸、网页跳转的流程等,和客户充分沟通,不断磨合协调,把需求的大部分都定下来,然后才是开发,我是这么想的,需求分析不就是做这个的么??
SunshineLian
2013-08-27 18:43:53 +08:00
@flied 有时候文档只有一个大致的框架,细节还是一片模糊
SunshineLian
2013-08-27 18:45:17 +08:00
@kingwkb 谈需求分析的时候,尽量的谈的细致、周全,充分沟通,这样不是就好了吗?
SunshineLian
2013-08-27 18:45:45 +08:00
@juicy 的确苦逼,抓狂,崩溃中……
SunshineLian
2013-08-27 18:46:42 +08:00
我们这里是基本上没谈需求分析,不知道谈了的,会不会不是这样?
jamiesun
2013-08-27 18:59:08 +08:00
需要改变方式,去引导客户。这本身就是软件项目的一个环节,这不是客户的问题,而是开发商的问题,
SunshineLian
2013-08-27 22:17:10 +08:00
@jamiesun 嗯,引导客户,同意
ytzong
2013-08-27 22:48:48 +08:00
换不同的身份来考虑,有时候是不需要需求分析的,在不停试错中前进
min
2013-08-27 22:49:34 +08:00
不重要
开发的手快就行了
一遍一遍改,客户会很快找到满意的方案的
davepkxxx
2013-08-27 22:54:25 +08:00
这不会是你最后一次遇到这种事情
janxin
2013-08-27 22:54:42 +08:00
这个是面对单一客户时常出现的问题,只有内部项目或者不面对单一客户时,才不会出现
yangqi
2013-08-27 23:00:04 +08:00
@SunshineLian 这种客户啥也不知道的,应该先做个prototype出来给他们看吧,就是一个大概的框架和布局,不需要细节
jamiesun
2013-08-27 23:11:45 +08:00
客户是不会给你清楚明了的需求文档的,大部分客户对自己想要的软件产品初期都处在一个比较模糊认知的阶段,所以需要和客户去交流需求,这是通常由项目经理,业务人员去做,他们必须去和客户做深入沟通,去引导发现客户真正的需求。

很多客户往往简单的说“我想要个像某某产品一样的东西”,而不能说出更多具体的细节,因为客户受限于一些专业领域的知识。而这时需求人员应该主动去了解客户所说的那个产品,分析这个产品的功能特性,在足够了解的情况下,继续去和客户进行确认,和客户的沟通用语要能让客户尽量明白,最终可以形成一个比较靠谱的需求文档,对于后面的开发工作指导才有意义。

更严格的说,需求说明书需要客户签字的,客户会更小心谨慎。
benyur
2013-08-27 23:14:51 +08:00
@yangqi 客户的需求会演进的,会随着学习和了解,不断进步的。
eric94
2013-08-27 23:24:21 +08:00
拥抱变化 快速迭代
需求变化很快是软件行业的本质,所以才会有那么多相关的流程提高生产效率。比如agile。
期待需求稳定 一点不变只不过是一种理想状态而已。
作为一个程序员,也应该了解自己所做的系统到底是做什么的,每次发生变更的原因是什么。

程序员应该在能力范围内从一开始就纠正一些不合符实际使用和习惯的feature。

这是一个长久的改进过程...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/80407

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX