作者reader (讀者)
看板CSSE
標題Re: [閒聊]人月神話
時間Sun Mar 6 18:24:30 2005
人月神話討論的是軟體的生產力問題。
簡單來說,就是軟體的生產力有一個現實環境當中的限制,這個限制
不是靠著新技術或更大規模的人力投入,而能輕易改變的。
這道理其實很簡單,軟體製作是一種極複雜的活動,任何複雜活動的
產出,取決於其各個生產環節的瓶頸。然而這些生產瓶頸並不是彼此
無關的,而是環環相扣的。
於是任何變動,都必然伴隨著知識、工具、管理、溝通等等各方面的
調整才會見效。
也就是說,軟體製作的生產力改進,是無法在短期之內大幅增進的。
於是,軟體工作是不能以人月方式來衡量的,加一倍的人絕對不等於
開發時間能減少一半。
這也就是人月神話書名的由來。
關於軟體製作生產力的論述,後來數十年來的統計資料也明白顯示,
沒有任何新的生產方式的採用,能立即帶來超過 20% 的效率進步。
甚至研究資料也顯示,可重用性也是一個神話,同一團隊在連續開發
數個相似專案的同時建構可重用性元件,並不比傳統方法快上多少,
還可能更慢。
也就是說,歷史仍然延著它的軌道在緩緩前進。多一點實際,少一點
幻想,才是正確的做法。
至於生產軟體的軟體或通用軟體,這概念成形也是超過三十年的事情,
直到今天除了落實在 configuration management 之外,也沒有產生
什麼足夠影響力。
而 phpBB 其實是一個有做佈署階段之配置管理的軟體,而不是能夠
讓軟體生產加速的軟體工程工具。
至於你想做的 object order system, 嗯,這概念在物件導向的發展
早期就出現過了,在十五年前左右曾經很熱門過,稱作為元件市場或
智財市場,訂製元件是其中的一項重要功能。
COM 和 CORBA 之爭,就是微軟和 IBM 對元件市場主導權的又一場的
商業戰爭。後來就是網際網路的衝擊,全球單一元件市場的幻想全然
潰敗。到最後就是現今的開放原始碼運動形成新的趨勢。
當然,小規模的元件訂製應該還是可以做的。人家那種以軟體產業的
巨觀視角,和你想做的小型市場實作,其實全然是兩碼子事。這也跟
軟體生產力的快速進展毫無關係,主要就是將軟體生產外部化而已。
至於有沒有理論能打破軟體生產力的限制?
答案是有,人工智慧、機器學習、自組織系統,就是其中比較主要的
幾個研究領域,只是即使理論能有大幅突破,只怕也要一代時間,才
可以真正動搖軟體產業發展現狀。何況它們的研究也還在艱難前進。
※ 引述《wadekoala (wadekoala)》之銘言:
: 上學期修軟體工程老師有提過這本書,作者是Brooks
: 這本書很有名,在天龍賣的也很好,但我自己沒看過,是聽老師說的
: 作者似乎不覺得軟體這種東西可以做出一個比較general的模式
: 可以再依需求套入一些套件後變成自己要的軟體
: 但我覺得現在常看到的phpBB還蠻像個general的軟體
: 可以依自己需求來調整討論區的功能
: 而我目前專題也是要做個類似的東西,做出一個general的線上預約系統
: 可以依管理者決定所要被預約的物件
: 我是覺得如果只針對某個功能,加上好的設計的話,應該還是可以做出來啦!
: 可是作者說不是....讓我有些困惑
: 還是說我誤解了作者的意思了....@@"
: 不知道版上的各位前輩你們有沒有什麼看法 ^^
--
※ 編輯: reader 來自: 61.222.173.26 (03/06 21:16)
1F:推 wadekoala:謝謝版大精譬的見解...小弟受益良多...^^ 140.122.26.93 03/06
2F:推 epiii:學到很多 謝謝! : ) 61.59.194.13 03/15
3F:→ epiii:跟最近讀到的人月迷思相呼應.. 應是一樣的吧 :P 61.59.194.13 03/15