1968年北約軟體工程大會語錄

aqee發表於2012-12-08

  經常的我們會忘記,如今我們在軟體開發中遇到的問題,通常是別人在很多年前就已經遇到過的。下面這些語錄來自1968年北約軟體工程大會的會議記錄。

  關於軟體專案管理:

軟體開發管理將繼續揹負目前的在成本和計劃有效性上的壞名聲,直到有朝一日,人們對軟體設計工程有了更全面的理解和認識。

我們開發軟體系統就像萊特兄弟製造飛機——造好整個系統,把它推下懸崖,讓它墜毀,然後重新開始。

管理工作方面,大型軟體的開發是一個令人恐怖的事情。人們的認識中,這種工作通常會成為血本無歸的泥潭,耗費財力,永無止境。人們的這種認識也許並不是偏見。

  關於設計和最終產品的區別:

軟體產品是我們對程式如何在計算機裡執行進行設計的產物。設計和最終產品之間的區別本質上是一個理論與實際的問題,受各生產部門需求的影響。事實上,設計和最終產品間沒有本質區別[...]

軟體中大多數致命問題都起源於概念,幾乎都統一的遵循這樣的規律:你試圖弄清楚你們打算要做什麼,然後就這樣做了。這就是我們大多數麻煩問題的來源。

  關於處理使用者需求:

使用者感興趣的是對系統提需求,而且按照需求購買系統。但這裡的潛臺詞是使用者能說出他們想要什麼。而大部分的使用者說不清楚。

我們應該在設計過程中儘早的獲取使用者反饋。

  關於程式設計師的工作效率(跟Paul Graham的Great Hackers對比):

我對程式設計師在工作效率中表現出的巨大的差異有個疑問。你能在其它類似的技術領域找到相似的差異度嗎?事實上,軟體開發中的差異比任何其它行業都要大。

  關於軟體開發:

開發應該循序漸進開展,軟體一步一步完成。我的座右銘是“解決小的,有用的,現在。”

大型系統必須慢慢完善,不可能在某個時間裡全部完成。你必須讓最初的小的核心繫統真正無誤的執行起來。

  關於軟體測試:

系統必須具有自動化測試能力。我們必須開發和維護一些可執行程式來檢驗系統中所有的其它部分。[...]作為測試程式執行輸出的結果,每次測試都要列出測試檢驗的模組,同樣,還要列出測試了哪些介面和資料表。對測試成功做記錄很重要,跟記錄失敗一樣。

相關文章