1. 人月神話是什么唤蔗?認為軟件工作是可以用時間來和人力做計算和互換的冒签。忽視了人的特性沾瓦。軟件工程截至目前還并不是一個可以作為流水線生成的工作朱转,所有的工作成果是帶著實現(xiàn)人的特性的,并且會對后續(xù)有深遠的影響授翻。
? ? 用人月來衡量一項工作的規(guī)模是帶有欺騙性和危險的事情或悲。
? ? Brooks法則:為進度落后的項目增加人手,只會使進度更加落后堪唐。因為增加了三方面的工作:1. 任務(wù)重新分配本身導(dǎo)致的工作中斷巡语,2. 培訓(xùn)新的人員;3. 額外的溝通
2. 軟件工程師工作的樂趣
? ? 1. 創(chuàng)建事物的快樂淮菠。當(dāng)一個業(yè)務(wù)產(chǎn)品捌臊、功能;一個技術(shù)方案是通過你的智慧兜材、思考而產(chǎn)生的,這種快樂是純粹的
? ? 2. 『社會』價值逞力。創(chuàng)造的東西是有價值的曙寡。我記得自己當(dāng)初選擇來阿里的一個原因,就是認為阿里在做一些能夠影響或者作用于這個世界的事情寇荧。
? ? 3. 持續(xù)學(xué)習(xí)的快樂举庶。作為中國人,經(jīng)過20多年課堂上的教育揩抡,生活的一大部分是學(xué)習(xí)户侥。我也不知道這個算不算快樂,但是是一件可以讓自己開心的事情
? ? 4. 在易于駕馭的介質(zhì)上工作峦嗤。把自己腦力活動表達出來蕊唐。
3. 在當(dāng)前這樣一個程序員水平參差不齊的現(xiàn)狀下,如何組件一只高效的隊伍烁设?
? ? 1. 架構(gòu)設(shè)計師存在的必要性替梨;
? ? ? ? ?實現(xiàn)概念的完整性
? ? ? ? ?技藝改進的結(jié)果往往來自于戰(zhàn)略上的突破,而不僅僅是技巧上的提高
? ? ? ? ?易用性的測量:功能與理解上的復(fù)雜程度比值才是系統(tǒng)設(shè)計的最終測試標(biāo)準(zhǔn),而不是功能的豐富性副瀑。
? ? 2. 外科手術(shù)隊伍的形式
? ? ? ? 一個人完成任務(wù)的分解弓熏,其他人都是輔助。一方面獲取少數(shù)頭腦產(chǎn)生的產(chǎn)品完整性糠睡,另外得到多位的協(xié)助人員的總體生產(chǎn)率提升挽鞠,并且減少溝通的問題。
4. 架構(gòu)設(shè)計師如何與實現(xiàn)人員配合工作狈孔?
? ? ?1. 牢記是開發(fā)人員承擔(dān)創(chuàng)造性和發(fā)明性的實現(xiàn)責(zé)任信认,架構(gòu)師只給建議而不是支配實現(xiàn)
? ? ?2. 時刻準(zhǔn)備著為指定的說明建議一種實現(xiàn)的方案,同樣準(zhǔn)備著接受其他任何能達成目標(biāo)的方法
? ? ? 3.?對上述的建議保持低調(diào)和不公開
? ? ? 4. 準(zhǔn)備放棄所堅持的改進建議
? ? ? 5. 聽取開發(fā)人員在體系結(jié)構(gòu)上改進的建議
5. 整體與部分除抛、工具平臺的重要性
? ? 整體:1. 測試規(guī)格說明狮杨;2. 自上而下的設(shè)計;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. 沒有銀彈
????根本任務(wù):即打造成抽象軟件實體的復(fù)雜概念結(jié)構(gòu)
? ? 次要任務(wù):用編程語言表達這些抽象的實體,在空間和時間的限制下將他們映射成機器語言返十。
? ? 建議:
? ? 1. 仔細地進行市場調(diào)研妥泉,避免開發(fā)已上市的產(chǎn)品。對我們而言其實是要了解當(dāng)前可用的平臺洞坑、工具盲链;了解真實的需求
? ? 2. 進行快速的原型開發(fā)的試錯
? ? 3. 有機地更新軟件,隨著系統(tǒng)的運行迟杂、使用和測試刽沾,逐漸完善。結(jié)合2
? ? 4. 培養(yǎng)概念設(shè)計人員