ble-Design )
其次,從我們可以控制的軟件設計來說,怎樣進行合適的設計才能最大程度減少需求變更帶來的代價?
許有人說,我的設計極為靈活,我已經(jīng)預計了客戶可能提出的要求,并設計幾種應對的方式,到時候客戶提出來,呵呵,我已經(jīng)解決了。這樣的想法不錯,至少比僵硬的設計強,但是誰可以保證設計者可以預知以后的需求變化?而同時為了達到這種靈活(萬能/多能?)的設計,設計將變得復雜,而且可能那些多余的設計從來不會被用到?復雜的設計將增加實現(xiàn)的難度和提高成本,并有可能帶來潛在的Bug ,使得系統(tǒng)難以維護。
設計的思想應該有一些小小的轉變,那就是,設計確實要靈活,但是要體現(xiàn)在可擴展性上面,也就是說,設計可以簡單,但是一定要易于轉變,需要給出便于改變的接口,這一點很重要。
結論
可見,在面對需求變更時,除了客觀上可以通過人員培訓、代價分析等管理方式進行有效的需求管理外,從分析和設計的角度可以通過采用合理的分析和設計方法,還有改變我們設計的意識,可以做到對需求變更的靈活應對,至少可以在一定程度上降低維護代價和提高用戶滿意度。軟件需求的管理和控制是非常專業(yè)的學問,作者在這里結合自己的實踐提出一些粗淺的認識,只是想起到一個拋磚引玉的作用,希望大家可以一起來面對和想辦法解決我們在系統(tǒng)開發(fā)過程中的實際問題,我想那樣才是我真正想達到的目的。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html