之所以用“**”代替,是因为我认为软件设计、开发测试等方面太多了,我只说软件需求这一方面。
上篇文章中提到两个“买土豆的故事”(http://blog.csdn.net/sundenskyqq/archive/2011/02/09/6176019.aspx)故事一中的张三和故事二中的甲,都属于“聪明”的人,他们为老板想得周到,老板一句:看看市场上有卖土豆的吗?和一句:买点土豆回来。引发了张、李和甲乙的不同的反应。但是给人比较统一的感觉就是:张和甲考虑了老板的各种需求,做得十分完美,而李和乙却像木头一样,老板说一句做一句。映射到软件需求的调查的时候,张和甲的表现自然很好,但是李和乙的做法也并非一无是处。听我道来:
这四个人都犯了了巨大的错误:不做任何调查就去做事。老板要土豆,但是要什么样的土豆、要多少土豆都没有说,他们当时的情况是每个人都有机会和时间问清楚再出门。但是张和甲是没有得到老板的只是,一切为老板“假设”好了,而实际上这些假设真的是符合老板的需求的吗?就说甲吧,用了一个小时的时间把市场上的土豆情况调查的蛮仔细的,但是老板需要什么呢?最终老板不买土豆,你所做的所有的努力都是白费。而乙呢?随时和老板沟通了,虽然老板很烦,但是却可以得到老板第一手需求。至少工作不会白做。软件开发是给用户使用的,所有应该首先考虑用户的需求,什么都替用户“假设”好了不一定是好事哦!
这是我的小小想法。