閱讀412 返回首頁    go 技術社區[雲棲]


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

經常的我們會忘記,如今我們在軟件開發中遇到的問題,通常是別人在很多年前就已經遇到過的。

下麵這些語錄來自1968年北約軟件工程大會的會議記錄。

關於軟件項目管理:

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

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

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

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

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

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

關於處理用戶需求:

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

我們應該在設計過程中盡早的獲取用戶反饋。

關於程序員的工作效率(跟Paul Graham的Great Hackers對比):

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

關於軟件開發:

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

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

關於軟件測試:

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

最後更新:2017-04-02 00:06:52

  上一篇:go 堅持IT之路,盡管很艱難
  下一篇:go 《人生的智慧》第二章 人的自身