人月神話-讀書筆記

1. 人月神話是什么?認為軟件工作是可以用時間來和人力做計算和互換的。忽視了人的特性。軟件工程截至目前還并不是一個可以作為流水線生成的工作,所有的工作成果是帶著實現(xiàn)人的特性的,并且會對后續(xù)有深遠的影響。

? ? 用人月來衡量一項工作的規(guī)模是帶有欺騙性和危險的事情。

? ? Brooks法則:為進度落后的項目增加人手,只會使進度更加落后。因為增加了三方面的工作:1. 任務重新分配本身導致的工作中斷,2. 培訓新的人員;3. 額外的溝通

2. 軟件工程師工作的樂趣

? ? 1. 創(chuàng)建事物的快樂。當一個業(yè)務產(chǎn)品、功能;一個技術(shù)方案是通過你的智慧、思考而產(chǎn)生的,這種快樂是純粹的

? ? 2. 『社會』價值。創(chuàng)造的東西是有價值的。我記得自己當初選擇來阿里的一個原因,就是認為阿里在做一些能夠影響或者作用于這個世界的事情。

? ? 3. 持續(xù)學習的快樂。作為中國人,經(jīng)過20多年課堂上的教育,生活的一大部分是學習。我也不知道這個算不算快樂,但是是一件可以讓自己開心的事情

? ? 4. 在易于駕馭的介質(zhì)上工作。把自己腦力活動表達出來。

3. 在當前這樣一個程序員水平參差不齊的現(xiàn)狀下,如何組件一只高效的隊伍?

? ? 1. 架構(gòu)設計師存在的必要性;

? ? ? ? ?實現(xiàn)概念的完整性

? ? ? ? ?技藝改進的結(jié)果往往來自于戰(zhàn)略上的突破,而不僅僅是技巧上的提高

? ? ? ? ?易用性的測量:功能與理解上的復雜程度比值才是系統(tǒng)設計的最終測試標準,而不是功能的豐富性。

? ? 2. 外科手術(shù)隊伍的形式

? ? ? ? 一個人完成任務的分解,其他人都是輔助。一方面獲取少數(shù)頭腦產(chǎn)生的產(chǎn)品完整性,另外得到多位的協(xié)助人員的總體生產(chǎn)率提升,并且減少溝通的問題。

4. 架構(gòu)設計師如何與實現(xiàn)人員配合工作?

? ? ?1. 牢記是開發(fā)人員承擔創(chuàng)造性和發(fā)明性的實現(xiàn)責任,架構(gòu)師只給建議而不是支配實現(xiàn)

? ? ?2. 時刻準備著為指定的說明建議一種實現(xiàn)的方案,同樣準備著接受其他任何能達成目標的方法

? ? ? 3.?對上述的建議保持低調(diào)和不公開

? ? ? 4. 準備放棄所堅持的改進建議

? ? ? 5. 聽取開發(fā)人員在體系結(jié)構(gòu)上改進的建議

5. 整體與部分、工具平臺的重要性

? ? 整體:1. 測試規(guī)格說明;2. 自上而下的設計;3. 結(jié)構(gòu)化編程

? ? 部分:構(gòu)件級別分別獨立調(diào)試;系統(tǒng)再進行集成?

? ? 工具:1. 有效、正確,不要帶來副作用;2. 提升效率的辦法

6. 如何做項目進度規(guī)劃:

? ? 1. PERT圖:事件、活動、sleatTime、關(guān)鍵鏈路

? ? ?2. 管理:將能而君不御者勝(1. 對下放權(quán);2. 對上要不介意被詢問進度)

? ? ?3. 作者給出的時間安排建議:1/3 計劃;1/6 編碼;1/4 構(gòu)件測試;1/4 系統(tǒng)集成測試

7. 沒有銀彈

????根本任務:即打造成抽象軟件實體的復雜概念結(jié)構(gòu)

? ? 次要任務:用編程語言表達這些抽象的實體,在空間和時間的限制下將他們映射成機器語言。

? ? 建議:

? ? 1. 仔細地進行市場調(diào)研,避免開發(fā)已上市的產(chǎn)品。對我們而言其實是要了解當前可用的平臺、工具;了解真實的需求

? ? 2. 進行快速的原型開發(fā)的試錯

? ? 3. 有機地更新軟件,隨著系統(tǒng)的運行、使用和測試,逐漸完善。結(jié)合2

? ? 4. 培養(yǎng)概念設計人員

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容