本次閱讀《人月神話》可謂收穫不少 焦油坑 人月神話 外科手術隊伍 貴族**、民主政治和系統設計 畫蛇添足 貫徹執行 胸有成竹 削足適履 提綱挈領 未雨綢繆 禍起蕭牆 另外一面
文章開篇以焦油坑(the tar pit)引出,焦油坑,讓陷入其中的猛獸月石掙扎,越是難以掙脫束縛,最終陷入坑底。而大型的系統開發就是這樣的焦油坑,各種問題糾結在一起,讓人越陷越深,沒有辦法看清事情的本質。在其中,不要做乙個純粹的樂觀者。
《人月神話》,那什麼是人月?是在估計和進度安排中使用的工作量單位。brooks認為,用人月作為 衡量一項工作的規模是乙個危險和帶有欺騙性的神話。它暗示著人員數量和時間是可以相互 替換的。 人數和時間的互換僅僅適用於以下情況:某個任務可以分解給參與人員,並且他們之 間不需要相互的交流。
程式設計的樂趣:
1建立事物的純粹快樂。
2快樂來自於開發對其他人有用的東西。
3整個過程體現出魔術般的力量——將相互嚙合的零部件組裝在一起,看到它們精妙地執行, 得到預先所希望的結果。
4學習的樂趣,來自於這項工作的非重複特性。
5來自於工作在如此易於駕馭的介質上
保持設計的概念完整。無論對小軟體還是大軟體,都必須由乙個設計師主導,最多兩個人討論來共同完成軟體的整體設計。作為乙個軟體,乙個系統,必須有乙個清晰明確的概念模型,大家都在這個框架下工作,所有的創新發展都必須與基本的概念相吻合。具體的實現人員可以細化概念,但只有總設計者才有否定與發展基本概念的權力。需要注意的一點是,即使是總設計師一直是同乙個人,他腦海中所認為理所當然的規則或者概念,很可能由於沒有明確的文件化,而沒有成為所有開發者共同的概念。在其他開發者編碼的時候,就可能會生成與概念相牴觸的東西(模組,功能,演算法),導致整體結構的惡化。這個時候總設計師一定要即時發現,做出更正。這就是外科手術式的開發隊伍。
下面是網上對人月神話的每部分的乙個簡要概括,也很是到位。
1. 程式設計系統產品開發的工作量是供個人使用的、獨立開發的構件程式的九倍。
2. 程式設計行業的一些內在固有苦惱:
● 將做事方式調整到追求完美,是學習程式設計的最困難部分。
● 由其他人來設定目標,並且必須依靠自己無法控制的事物。
● 真正的權威來自於每次任務的完成。
● 任何創造性活動都伴隨著枯燥艱苦的勞動,程式設計也不例外
● 人們通常期望專案在接近結束時(bug、工作時間)能收斂得快一些,然而軟體專案的情況卻是越接近完成,收斂得越慢。
● 產品在即將完成時總面臨著陳舊過時的威脅。
1. 缺乏合理的時間進度是造成專案滯後的最主要原因,它比其他所有因素加起來影響還大。
2. 良好的烹飪需要時間,某些任務無法在不損害結果的情況下加快速度。
3. 我們的構思是有缺陷的,因此總會有bug。
4. 我們圍繞成本核算的估計技術,混淆了工作量和專案進展。人月是危險和帶有欺騙性的神話,因為它暗示人員數量和時間是可以相互替換的。
5. 在若干人員中分解任務會引發額外的溝通工作量——培訓和相互溝通。
6. 關於進度安排,作者的經驗是為1/3計畫、1/6編碼、1/4構件測試以及1/4系統測試。
7. 因為我們對自己的估計技術不確定,所以在管理和客戶的壓力下,我們常常缺乏堅持的勇氣。
8. brook法則:向進度落後的專案中增加人手,只會使進度更加落後。
9. 向軟體專案中增派人手從三個方面增加了專案必要的總體工作量:任務重新分配本身和所造成的工作中斷;培訓新人員;額外的相互溝通。
人月神話讀後感(一)
史前史中,沒有別的場景比巨獸門在焦油坑中垂死掙扎的場面更令人震撼。上帝見證著恐龍 猛獁象 劍齒虎在焦油中掙扎。它們掙扎得越猛烈,焦油糾纏得就越緊,沒有哪種猛獸足夠強壯或具有足夠的技巧,能夠掙脫束縛,它們最後都沉到了坑底。人月神話 在軟體開發中,人月是個工作量的單位,在大多數人的眼中,增加人,那麼月數...
《人月神話》讀後感 一
人月神話 是大學剛開始就很熟悉的一本書,似乎都要在書架上擺上它才能表明軟體工程學生的身份。時至今日我再讀它,因為有了系統開發的經驗,很多的內容都通過記憶得到了驗證,讀來與大一時的 雖然不懂你在講什麼但好像很有道理 的體會有了明顯的不同。這裡選擇一些感觸較深的章節寫一些自己的理解。焦油坑 入坑前,都會...
人月神話讀後感(一)
如文中所說,程式設計的樂趣在於創造事物,如小孩玩泥巴一樣,創造出了自己的東西,這種魔術般的,上帝一般的感覺確實吸引著我,從無到有,從最開始的構思到一步一步的逐漸實現並完善乙個專案,最後得出能用的東西,這種成就感是令人滿足的,但是任何事物有樂就有苦,程式設計也是如此,我目前所直接感受到的就是在編碼過程...