目的進(jìn)展,開發(fā)團(tuán)隊要保持清醒的頭腦、按照工程要求做出相應(yīng)調(diào)整,并響應(yīng)不斷變化的市場形勢和客戶需要。僅僅編寫出完美的首版需求描述是不夠的,如果未能對需求的變更過程進(jìn)行恰當(dāng)管理,那么控制不善的變更便可能導(dǎo)致系統(tǒng)和軟件功能缺失、返工以及利潤損失。開發(fā)團(tuán)隊?wèi)?yīng)該實施可靠的、可重復(fù)的變更控制流程。
經(jīng)驗5:使需求具備可測試性(Testable)
產(chǎn)生良好需求的另一種行之有效的方法,就是從初期就確保每個需求具備明確的可驗證性,這種做法不僅有助于為項目后續(xù)階段做好準(zhǔn)備,還可以幫助編寫者保持正確的思路。對于非功能性需求此規(guī)則也同樣適用,例如,對于“軟件必須具有高可用性”這種表述的需求我們無法進(jìn)行測試,而改寫為明確的“普通用戶應(yīng)能夠在3分鐘內(nèi)生成一個報告”就使該需求具備了可測試性。
經(jīng)驗6:正確的重用以往優(yōu)秀需求
當(dāng)之前項目的已編寫的良好需求適用于當(dāng)前情況時,不要單純地將原有需求直接復(fù)制。重新使用以往需求的正確方法是繼續(xù)維持兩個需求之間的聯(lián)系,如通常打上re-use標(biāo)記。此標(biāo)記使分析人員能夠隨時查找到原始需求,以檢查需求分解分配等信息。通過靈活的方法重新用以往需求,開發(fā)團(tuán)隊可以獲得技能、經(jīng)驗和知識的共享。
經(jīng)驗7:建立范例知識庫( Knowledge Database)
提高需求質(zhì)量的另一有效途徑是建立范例知識庫,并參考其中的典型范例。知識庫內(nèi)容應(yīng)該包括:良好需求和文檔的正、反面示例,以往項目中可反映團(tuán)隊在特定領(lǐng)域內(nèi)專門知識的良好(和不良)需求。為了使開發(fā)團(tuán)隊可以更好的參考,知識庫中的需求案例應(yīng)具備明顯的積極或消極意義,而非中規(guī)中矩的。通過知識庫示例開發(fā)團(tuán)隊可以參考以往的經(jīng)驗、吸取教訓(xùn),避免重蹈覆轍,進(jìn)而提高需求編寫的質(zhì)量、一致性和完整性。
通過應(yīng)用業(yè)界領(lǐng)先的需求管理工具,可以優(yōu)化項目開發(fā)的溝通和協(xié)作的過程,提升軟件項目過程質(zhì)量。如果前期用戶需求收集得不明確,那么后期的開發(fā)過程注定生產(chǎn)錯誤的產(chǎn)品。 開發(fā)團(tuán)隊可以通過經(jīng)驗提升需求編寫質(zhì)量。編寫好的需求說明是一個開發(fā)項目最為重要的活動之一,優(yōu)秀的需求描述可以改善并加速項目的投資回報。
經(jīng)驗8:在客戶需求和開發(fā)能力之間找到平衡
許多情況下,較少的需求數(shù)量有助于產(chǎn)生更加優(yōu)秀的需求描述。軟件工程項目不可能實現(xiàn)既采納和滿足企業(yè)所有用戶的需求、營銷理念和商業(yè)計劃,同時還符合預(yù)算并能按期交付。項目經(jīng)理必須找到客戶需求和開發(fā)能力之間的平衡點,確定可為客戶帶來最大價值,并幫助企業(yè)提升創(chuàng)新能力的那些需求,而不是一味地試圖滿足用戶所有需求。