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