Posted on 2006-02-25 17:45
shaofan 閱讀(444)
評論(0) 編輯 收藏 所屬分類:
軟件工程
Early on, most people in the software field believed that the problem was weak software management, and the solution was to hold the line one the original set of requirements, insisting that when the software team had solved that problem, the customers and users would just have to accept that solution. It was during this era that computer scientists came up with the notion of formal specifications...
That approach really didn't work very well. The eventual solution didn't solve any problem the customers and users really needed solved, and, therefore, those slutions were ignored and eventually abandoned. All that time and money had been spent building a software solution that went straight to the refuse bin ... so did the relationship between the customers and the development organization
上面這兩段話,選自[Glass]中的一章.作者認為導致項目失控的兩大最常見原因之一,就是不穩定的需求.而另一個原因則是過于樂觀的估計.需求不穩定其實是軟件過程中固有的一個特性.它并不是單指需求本身不穩定,而是說在軟件的開始階段,用戶的需求很可能無法被完全挖掘,因為客戶本身并不能完全了解他自己想要什么.而隨著開發的進行,各個方面越來越具體,客戶對自己的需求的認識逐漸提高,因些導致需求的變更.
在早些年里,人們并未認識到"不穩定的需求"是軟件開發本身固有的本性,而是把問題歸咎于管理.基于此的解決方案就是,堅持在最初捕獲的需求的基礎上進行開發,否認和拒決需求變更.在這段時間里,FORMAL SPECIFICATION發展了起來.
然而這種做法并不很成功.基于這種做法產出的軟件并不能真正解決客戶的問題,結果是,這些產品無法投入使用而淪為廢品,開發人員的努力和客戶的金錢都付諸流水,而客戶與開發組織間的關系也無法維持下去.
[GLASS] Facts and Fallacies of Software Engineering, Rober L. Glass, Addison-Wesley,2002