某日,老師在課堂上想考考學生們的智商,就問一個男孩:“樹上有十隻鳥,開槍打死一隻,還剩幾隻?” 男孩反問:“是無聲槍麼?” “不是。” “槍聲有多大?” “80~100分貝。” “那就是說會震的耳朵疼?” “是。” “在這個城市裡打鳥犯不犯法?” ‘不犯。” “您确定那隻鳥真的被打死啦?” “确定。”老師已經不耐煩了,”拜托,你告訴我還剩幾隻就行了,OK?” “OK。鳥裡有沒有聾子?” “沒有。” “有沒有關在籠子裡的?” “沒有。” “邊上還有沒有其他的樹,樹上還有沒有其他鳥?” “沒有。” “方圓十裡呢?” “就這麼一棵樹!” “有沒有殘疾或餓的飛不動的鳥?” “沒有,都身體倍棒。” “算不算懷孕肚子裡的小鳥?” “都是公的。” “都不可能懷孕?” “………,決不可能。” “打鳥的人眼裡有沒有花?保證是十隻?” “沒有花,就十隻。” 老師腦門上的汗已經流下來了,下課鈴響起,但男孩仍繼續問:“有沒有傻的不怕死的?” “都怕死。” “有沒有因為情侶被打中,自己留下來的?” “笨蛋,之前不是說都是公的嘛!” “同志可不可以啊!” “…………,性取向都很正常!” “會不會一槍打死兩隻?” “不會。” “一槍打死三隻呢?” “不會。” “四隻呢?” “更不會!” “五隻呢?” “絕對不會!!!” “那六隻總有可能吧?” “除非你他媽的是豬生的才有可能!” “…好吧,那麼所有的鳥都可以自由活動麼?” “完全可以。” “它們受到驚吓起飛時會不會驚慌失措而互相撞上?” “不會,每隻鳥都裝有衛星導航系統,而且可以自動飛行。” “恩,如果您的回答沒有騙人,”學生滿懷信心的回答,“打死的鳥要是挂在樹上沒掉下來,那麼就剩一隻,如果掉下來,就一隻不剩。” 老師當即倒!
用這篇笑話故事來做開頭,笑過之後可能不少人會認為這個小朋友是需求調研的最佳人選。回顧軟體開發上的許多案例,軟體開發失敗率一直居高不下,特别在外包開發這個領域中,這個值可能會更高一籌。在分析項目失敗的原因的時候,需求的因素可能是失敗的關鍵原因、需求不明确,客戶對需求的變更頻頻等等。
需求的調研
需求調研是為需求說明書做前期工作,可以說需求說明書是從需求調研表中得到或抽取而出。需求調研是要了解客戶希望所要開發的系統能夠解決他們的問題,以及了解他們對系統的期望等等。需求調研是整個開發的基礎,經過需求調研的結果整理出需求說明書作為後續開發使用。
如果做的項目是一個陌生的一個行業(專業),這是往往需要專家或者顧問等角色的協助,但是作為調研人員最少要想辦法了解個專業,或許你需要成為這個行業的專家,但最少要了解一定的專業知識(最少專業詞彙你要知道)。這樣客戶的溝通才能達到順暢,不會出現牛頭不對馬嘴的現象。
在某些難度不是很大的行業或者項目,做需求調研的時候可以通過自學的方式了解行業的特點,這些項目往往因為規模比較小,也不會有專家的影子出現。但是作為調研的時候我們最需要了解的一些問題如:
1):客戶目前的問題與苦難
2):客戶現在的工作模式
3):客戶對系統的期望
4):客戶哪些要求是自己能做到的,那些是依靠系統來做
5):還有客戶對系統開發方式以及時間的要求等等
其實做需求調研的時候最重要的目的在于資料收集,或許小孩的那種打破砂鍋的方式會引起客戶的反感,但是實際項目中往往需要的就是這些比較周全的調研方式,能夠考慮到的問題點都需要和客戶确認,盡量避免想當然的做法,隻是采用的方式可能需要優化一下,采用良好的方式,盡量得到客戶的最大配合。