先讲一个小笑话,说的是关于一个简单的小问题引出的复杂的分析。

老师在课堂上想考考学生们的智商,就问一个男孩:“树上有十只鸟,开枪打死一只,还剩几只?”
男孩反问:“是无声手*枪么?”
“不是.”
“枪声有多大?”
“80~100分贝.”
“那就是说会震的耳朵疼?”
“是.”
“在这个城市里打鸟犯不犯法?”
‘不犯.”
“您确定那只鸟真的被打死啦?”
“确定.”老师已经不耐烦了,”拜托,你告诉我还剩几只就行了,OK?”
“OK.鸟里有没有聋子?”
“没有.”
“有没有关在笼子里的?”
“没有.”
...

最后学生说:“如果您的回答没有骗人,打死的鸟要是挂在树上没掉下来,那就只剩一只,如果掉下来,就一只不剩。”

本来这个笑话的场景与需求分析无关,但是在很多人看了后,都会认可这个学生,思路敏捷,考虑问题全面,知识面也算比较广,这样的人做去需求分析,效果一定会很好。
的确,做需求分析需要这样的素质和能力。面对复杂的需求和系统的不确定性,我们需要有一个严谨、逻辑和跳跃的思维习惯。严谨,是要不放过任何一个小问题;逻辑,是要求思考的过程应该是符合规则的推导,跳跃,是要求思路不是一走到底而是多条路子并行。只有这样的思维习惯,才能不断的创造新思路,尝试和接受失败,总结经验教训,提高分析问题和处理问题的能力。
但是现实中,仅靠这些并不够的。需求分析的过程同时又是一个现实的,目的性很强的工作。任何一项分析工作,在特定的环境下才有特定的意义。我们面临的很多问题并不是算术题,往往问题实现的方式很多也各有利弊,抓住主要矛盾,合理取舍,才能获得最可行的方案。如果思维过于发散,就失去了基本的目的,因此并不能推崇。
在分析之前,最好要了解需求方的所有用户类型(包括潜在的用户群体),然后根据他们的要求确定整体目标和系统的工作范围,也就是确定分析的边界,这样范围下的分析才更有意义和针对性。

以上转自http://blog.csai.cn/user1/15340/archives/2009/36327.html