如何應(yīng)對變態(tài)的軟件開發(fā)需求變動?
2015-06-23 15:36:27 訪問:
軟件開發(fā)需求一直在變化。很變態(tài),但是很多人都碰到過的情況:一直到代碼編寫完畢前,軟件開發(fā)需求都可能在變化,軟件開發(fā)需求的凍結(jié)要到編碼完畢時才完成。
為此,軟件開發(fā)方法從最初的瀑布軟件開發(fā), 到迭代軟件開發(fā)再到敏捷軟件開發(fā)。他們都是適應(yīng)軟件軟件開發(fā)需求、軟件開發(fā)遲遲不能凍結(jié)定稿的產(chǎn)物。上面提到的軟件開發(fā)方法,一個比一個軟件開發(fā)需求、軟件開發(fā)定稿的時間要晚。 當然,變化不能一直不穩(wěn)定,那么我們軟件就永遠不能發(fā)布了。軟件架構(gòu)也受到這些影響,對于軟件開發(fā)模式,也同樣的是受變化影響的。
我們預(yù)計到一個地方是穩(wěn)定的,就一個選擇,我們?nèi)绻€用軟件開發(fā)模式,就是愚蠢的性能低下的做法。軟件開發(fā)模式應(yīng)該用到我們預(yù)計到這里會發(fā)生變化,為了保證復(fù)用性,我們對變化進行抽象,抽象出一個穩(wěn)定的抽象。抽象出來的這個類,如果時不時都會變化一下,那簡直要瘋了,這個抽象的類一定要保證穩(wěn)定性。這才是OK思想,軟件開發(fā)模式的思想。
這些年的軟件開發(fā)經(jīng)驗積累下來,我發(fā)現(xiàn)我的軟件開發(fā)、架構(gòu)很多時候都是一個四不象,或者是一個性能,可擴展性等中庸折中的取舍方案。一定要想清楚哪些是要變化的,不會變化的,不要畫蛇添足的裝酷。對于要變化的要做到應(yīng)對變化,提高復(fù)用來抽象,高水平的技術(shù)人員,抽象出來的東西不會三天兩頭就變的。