利用平時坐公交和火車的碎片時間,把這本書看完了,記得剛學編程時,有不少搞IT的朋友都推薦我看看這本書,這也是我讀這本書的動機,讀完了後也學到了不少軟件開發和項目管理的知識,可是沒有感覺到醍醐灌頂的感受,有些內容還不是很理解,多是我相關的項目經驗太少的緣故吧,不過既然讀完了,就作一下總結吧,也許等若干年後當我再次讀這本書時,感受就徹底不同了。程序員
焦油坑
- 編程系統產品的工做量是獨立開發的程序構件的9倍,構件的產品化是原來開發構件的3倍,構件產品整合到系統中又3倍
人月神話
- 時間進度安排的不合理是項目滯後的最主要緣由
- 保質保量開發一個軟件是須要必定的時間的
- 程序員都是樂觀主義者,軟件總會有Bug
- 人員數量和時間沒法替換,一個項目滯後之後更多的人來「幫忙」只會更加滯後,軟件開發過程當中培訓和溝通交流的時間成本是很高的
- 項目進度安排比例:策劃1/3 1/6編碼 1/4構件測試 1/4系統測試
外科手術隊伍
- 優秀程序員的生產率是通常程序員的10倍
- 小型精幹的團隊是最好的
- 對於大型的系統,小型精幹的團隊速度太慢了
- 相似外科手術的團隊能很好解決大型系統開發的問題
貴族專制 民主政治和系統設計
- 概念完整性是系統設計中最重要的因素
- 爲了保證概念完整性,設計必須由一我的或一個小型的團隊
- 軟件開發要實現設計和具體實現的分離
- 限制和規則能激發創造性
- 概念統一的系統能更快的開發和測試
多此一舉
貫徹執行
- 設計必須由一個或兩我的負責,確保設計的一致性
- 具體精確的定義系統和功能
爲何巴比倫塔會失敗
- 失敗的緣由:交流
- 團隊應該儘量多的交流
- 制定良好的工做手冊
- 每個團隊成員都應該能看到全部材料
- 每一個團隊兩個領導,技術負責人和產品負責人
成竹在胸
- 僅僅靠編碼時間乘以係數是沒法獲得完成時間的
- 小項目的數據不適用於大項目,開發時間隨項目大小呈指數增加
- 使用高級語言的效率是使用匯編語言5倍
削足適履
提綱挈領
- 文檔的關鍵,目標,用戶手冊,內部文檔,進度,預算,組織結構圖和工做空間分配
- 爲每一個關鍵文檔提供狀態監督和語境機制
- 項目經理的職責是使每一個人都朝着同一個方向前進
- 項目經理的平常工做是溝通而不是作決定
未雨綢繆
- 開發人員交付的是用戶滿意度而不是實際的產品
- 用戶的實際須要會不斷變化
- 前進兩步,後退一步,維護會增長系統的複雜性和引入新的Bug
干將莫邪
總體部分
禍起蕭牆
另一面
- 文檔很重要,不論程序員仍是用戶
- 自文檔化技術,文檔編寫要和源代碼結合起來,文檔以註釋的形式存在
附上電子書連接:連接:http://pan.baidu.com/s/1bBfHk6 密碼:cowm編程