需求分析作為軟件開發(fā)過程中的非常重要的環(huán)節(jié),在確保軟件質(zhì)量,盡可能挖掘軟件價值方面起著不可替代的作用。中培課堂《需求分析最佳實踐》培訓(xùn)專家郭老師作為該領(lǐng)域的知名專家,就需求分析過程中需要認(rèn)知的問題進(jìn)行了詳細(xì)介紹。郭老師指出,在需求分析過程中,技術(shù)人員應(yīng)該明白以下幾個問題。
(一)需求完整性需要諸多用戶的參與和確認(rèn),而且用戶間需求本身也存在沖突的可能,因此需求更加強調(diào)角色和場景和劃分,一個所有用戶需要都能夠滿足的需求往往不是一個好需求。
(二)需求過程缺乏用戶的參與,我們往往是技術(shù)驅(qū)動,習(xí)慣性的跳到模塊的劃分導(dǎo)致需求本身驗證困難,也導(dǎo)致了需求間耦合很緊,很難在后期組織有效的迭代開發(fā)。因此要考慮按流程和業(yè)務(wù)梳理需求。
(三)需求無法實現(xiàn)也可能不是架構(gòu)問題,而是需求本身不切實際。
(四)用戶想要和真正需要是有區(qū)別的,沒有真正的識別需求優(yōu)先級可能導(dǎo)致需求過量開發(fā)和需求鍍金。
(五)需求優(yōu)先級識別往往并不能完全依靠用戶,用戶往往只會把自己關(guān)注功能講優(yōu)先級識別的很高,因此需求優(yōu)先級識別應(yīng)該是通過業(yè)務(wù)規(guī)則,流程和模式來確定。優(yōu)先級識別方法(離主營業(yè)務(wù)的遠(yuǎn)近,發(fā)生的頻率兩個方面來度量)
(六)溝通失真,要認(rèn)識到文檔僅僅是中介而不是全部,要通過即時的驗證來減少溝通失真。
(七)需求捕獲和調(diào)研常見問題-用戶告訴你的是他轉(zhuǎn)化后的解決方案,而不是最原始的需求。
(八)變更頻繁,但是要響應(yīng)變化,比如通過對變更分類來識別哪些變更是可以通過復(fù)用和可配置解決的。
(九)非功能性需求為有效的識別,僅僅是定性,而沒有通過定性->場景->定量的路線。