人月神話閱讀筆記002

2021-09-25 14:17:00 字數 968 閱讀 3285

唯一不變的就是變化本身

「世界上唯一不變的就是變化本身 」。今天的這句名言**於希臘哲學家赫拉克利特(約西元前 5 4 0前 4 8 0 ) .

一旦認識到試驗性的系統必須被構建和丟棄,具有變更思想的重新設計不可避免,從而直面整個變化現象是非常有用的。第一步是接受這樣的事實:變化是與生俱來的,不是不合時宜和令人生厭的異常情況。

軟體產品易於掌握的特性和不可見性,導致它的構建人員面臨永恆的需求變更。

然而,目標上的一些變化無可避免,事先為它們做準備總比假設它們不會出現要好得多。不但目標上的變化不可避免,而且設計策略和技術上的變化也不可避免。拋棄原型概念本身就是對事實的接受——隨著學習的過程更改設計。

如何為上述變化設計系統,是個非常著名的問題,在書本上被普遍討論——可能討論得比實踐還要多得多。它們包括細緻的模組化、可擴充套件的函式、精確完整的模組間介面設計、完備的文件。另外,還可能會採用包括呼叫佇列和表驅動的一些技術。最重要的措施是使用高階語言和自文件技術,以減少變更引起的錯誤。採用編譯時的操作來整合標準宣告,在很大程度上幫助了變化的調整。變更的階段化是一種必要的技術。每個產品都應該有數字版本號,每個版本都應該有自己的日程表和凍結日期,在此之後的變更屬於下乙個版本的範疇。

為變更組建團隊比為變更進行設計更加困難。每個人被分派的工作必須是多樣的、富有拓展性的工作,從技術角度而言,整個團隊可以靈活地安排。在大型的專案中,專案經理需要有兩個和三個頂級程式設計師作為技術輕騎兵,當工作繁忙最密集的時候,他們能急馳飛奔,解決各種問題。

當系統發生變化時,管理結構也需要進行調整。這意味著,只要管理人員和技術人才的天賦允許,老闆必須對他們的能力培養給予極大的關注,使管理人員和技術人才具有互換性。

這其中的障礙是社會性的,人們必須同頑固的戒心做鬥爭。首先,管理人員自己常常認為高階人員太「有價值」,而捨不得讓他們從事實際的程式設計工作;其次,管理人員擁有更高的威信。為了克服這個問題,如 bell labs 的一些實驗室,廢除了所有的職位頭銜。每個專業人士都是「技術人員中的一員」。

人月神話閱讀筆記(1)

第一章 焦油坑 程式設計產品是簡單程式通過通用化,測試,文件,維護等產生的。保證是乙個完整的程式 程式設計系統是簡單程式符合規範,功能上相互協作,並能與系統在互動上不出錯。保證能與系統配合 程式設計系統產品 程式設計系統 程式設計產品。程式設計系統產品才是大多數系統開發的目標。程式設計系統產品的成本...

人月神話閱讀筆記03

人月神話拜讀完了,真的感覺學到了很多,受益匪淺,書開始就形象有有趣的把軟體危機比作 焦油坑,交流至關重要,實踐是最好的老師,文件撰寫是軟體人的必修課,這本書讓我們對軟體工程有了更深一步的理解,有了全新的認識,軟體工程焦油坑在相當長時間內仍會存在,我們必須努力學習,不斷創新,獲得更大的進步。一 我過去...

人月神話閱讀筆記03

今天我閱讀的是貫徹執行一節。假設乙個專案經理已經擁有行事規範的結構師和許多程式設計實現人員,那麼他如何確保每個人聽從 理解並實現結構師的決策?對於乙個由 1000 人開發的系統,乙個 10 個結構師 的小組如何保持系統概念上的完整性?首先要有文件化的規格說明,即手冊。手冊或者書面規格說明,是乙個非常...