人月神話

出版時(shí)間:2004/04/04  出版社:經(jīng)濟(jì)新潮社  作者:Frederick P. Brooks, Jr.  頁數(shù):416  譯者:錢一一  
Tag標(biāo)簽:無  

內(nèi)容概要

  很少有一本軟體專案管理的書,像《人月神話》這樣深具影響力而且歷久不衰,F(xiàn)red Brooks以軟體工程上的實(shí)例,搭配發(fā)人深省的評(píng)論,為如何管理大型、複雜專案提供了精闢的見解。他曾經(jīng)擔(dān)任過IBM System/360電腦系列,以及與之搭配的OS/360這種大型軟體系統(tǒng)的專案經(jīng)理,書中文章即取材自他擔(dān)任這些職務(wù)的實(shí)際經(jīng)驗(yàn)。在《人月神話:軟體專案管理之道》首次出版二十年後,作者對(duì)他當(dāng)初所提出的理念做了一番回顧,並加入了新的思維與建議,獻(xiàn)給對(duì)《人月神話:軟體專案管理之道》已經(jīng)熟悉的讀者,以及第一次接觸《人月神話:軟體專案管理之道》的人?! 《L年紀(jì)念版新增的章節(jié)包括:(1)將本書初版中所主張的所有論斷整理出一個(gè)簡潔的摘要,包括了原書的主要理念:就人力配置的比例而言,大型軟體專案所面臨的是跟小型專案完全不同的管理問題,這引申出產(chǎn)品的概念整體性是其中的關(guān)鍵,而達(dá)成概念整體性雖然困難,但卻是可能辦到的;(2)作者對(duì)他當(dāng)初所提出的這些論斷,在經(jīng)過一個(gè)世代之後所做的觀察;(3)轉(zhuǎn)載他1986年發(fā)表於IEEE Computer的經(jīng)典論文〈沒有銀彈〉;以及(4)他對(duì)於他1986年的論斷「十年內(nèi)不會(huì)有任何銀彈」所做的回應(yīng)。  1975年出版的《人月神話》是軟體開發(fā)方面的經(jīng)典之作。近三十年來,《人月神話:軟體專案管理之道》能在技術(shù)日新月異的計(jì)算機(jī)領(lǐng)域持續(xù)受到歡迎,正是因?yàn)樗粌H是技術(shù)性的書籍,還包括要開發(fā)一個(gè)大型系統(tǒng)所應(yīng)注意的管理層面問題,這使得《人月神話:軟體專案管理之道》涵蓋軟體、管理的層次,而經(jīng)得起考驗(yàn)。如果您從事程式設(shè)計(jì)工作,或是和程式設(shè)計(jì)者共事,或負(fù)責(zé)軟體專案的管理,甚至如果您是IT產(chǎn)業(yè)的領(lǐng)導(dǎo)者,您都應(yīng)該閱讀《人月神話:軟體專案管理之道》。

作者簡介

  Frederick P. Brooks, Jr.任教於北卡羅萊納大學(xué)Chapel Hill分校,擔(dān)任計(jì)算機(jī)科學(xué)的Kenan講座教授。由於他在IBM System/360開發(fā)階段擔(dān)任專案經(jīng)理一職,遂以「IBM System/360之父」聞名於世,隨後擔(dān)任過OS/360設(shè)計(jì)階段的軟體專案經(jīng)理,為此,他與Bob Evans、Erich Bloch共同獲頒了1985年國家科技成就獎(jiǎng)的殊榮,在此之前,還曾經(jīng)是IBM Stretch和Harvest電腦的架構(gòu)設(shè)計(jì)師。1999年,他獲頒美國計(jì)算機(jī)協(xié)會(huì)(ACM)的圖靈獎(jiǎng)(A. M. Turing Award),這是在計(jì)算機(jī)領(lǐng)域中最具權(quán)威性的技術(shù)獎(jiǎng)項(xiàng),美國計(jì)算機(jī)協(xié)會(huì)盛讚他「對(duì)計(jì)算機(jī)結(jié)構(gòu)、作業(yè)系統(tǒng)和軟體工程做出了劃時(shí)代的貢獻(xiàn)」?! rooks博士在Chapel Hill分校創(chuàng)建了計(jì)算機(jī)科學(xué)系,並自1964至1984年間擔(dān)任該系的系主任,也曾任職於國家科學(xué)委員會(huì)和國防科學(xué)委員會(huì)。目前,他所從事的是計(jì)算機(jī)結(jié)構(gòu)(computer architecture)、分子模型繪圖(molecular graphic),以及虛擬環(huán)境(virtual environment)方面的教學(xué)和研究。

媒體關(guān)注與評(píng)論

  有些書,對(duì)於讀者和作者就像是年金一樣,可以年年分紅?!度嗽律裨挕肪褪沁@樣一本書……年輕的軟體工程師、缺錢的研究生、懶惰的程式設(shè)計(jì)老手,常常問我哪一本電腦書是最好的。「如果我被困在一個(gè)荒島上,只能帶一本電腦書,」他們問,「應(yīng)該是哪一本?」這問題很荒謬,但是他們堅(jiān)持要答案。假如你真的被放逐到這樣的小島上,應(yīng)該陪伴你的是《人月神話》?!  狤d Yourdon,軟體界知名顧問與作家    我唯一一本讀過一遍以上的計(jì)算機(jī)相關(guān)書籍,是Fred Brooks的《人月神話》,事實(shí)上我每隔幾年都會(huì)重讀其中的某些章節(jié)。一部分原因是這本書文筆很好,而且書中的忠告很有價(jià)值,即使是在這本書出版了超過 25年之後。當(dāng)然,現(xiàn)在在很多細(xì)節(jié)上,還有我們做事的方法都不一樣了,我們的工作更自動(dòng)化,電腦的「馬力」也更強(qiáng)了,但書中依然有非常多很好的忠告。我非常推崇這本書,這是我唯一覺得你能從中體會(huì)到樂趣和思想的計(jì)算機(jī)科學(xué)書籍。  ——Brian Kernighan,The C Programming Language作者

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    人月神話 PDF格式下載


用戶評(píng)論 (總計(jì)9條)

 
 

  •     概念的完整性的確需要系統(tǒng)只反映唯一的設(shè)計(jì)理念,用戶所見的技術(shù)說明來自少數(shù)人的思想。
      
      外科手術(shù)隊(duì)伍,外科醫(yī)生和副手了解所有的設(shè)計(jì)和全部的代碼。上下級(jí)關(guān)系可以達(dá)到可觀的一致性。讓200人去解決問題,僅僅需要協(xié)調(diào)20個(gè)外科醫(yī)生。
      
      人月神話的騙局。開發(fā)中人力與時(shí)間的關(guān)系,他們并不是簡單的對(duì)等的,而是一個(gè)更加復(fù)雜的函數(shù)。
      如何避免第二個(gè)系統(tǒng)所引起的后果,從而避免畫蛇添足?運(yùn)用特別的自我約束準(zhǔn)則,來避免哪些功能上的過于修飾,根據(jù)系統(tǒng)基本理念及目的變更,舍棄一些功能。
      手冊(cè)的重要性:絕不要攜帶兩個(gè)時(shí)鐘出海,帶一個(gè)或三個(gè)。
      程序維護(hù)中的一個(gè)基本問題是缺陷修復(fù)總會(huì)以固定(20%-50%)的幾率引入新的bug。整個(gè)過程是前進(jìn)兩步,后退一步。
      文檔的重要性,遇到問題記下來,有記錄,分歧才會(huì)明朗,矛盾才會(huì)突出。
      概念完整性。一個(gè)整潔、優(yōu)雅的編程產(chǎn)品必須向它的每個(gè)用戶提供一個(gè)條理分明的概念模型,這個(gè)模型描述了應(yīng)用、實(shí)現(xiàn)應(yīng)用的方法以及用來指明操作和各種參數(shù)的用戶界面使用策略,。用戶所感受到的產(chǎn)品概念完整性是易用性中最重要的因素。
      結(jié)構(gòu)師。結(jié)構(gòu)師負(fù)責(zé)產(chǎn)品所有方面的概念完整性,這些是用戶能實(shí)際感受到的。結(jié)構(gòu)師開發(fā)用于向用戶解釋使用的產(chǎn)品概念模型,概念模型包括所有功能的詳細(xì)說明以及調(diào)用和控制的方法。結(jié)構(gòu)師是這些模型的所有者,同時(shí)也是用戶的代理。在不可避免地對(duì)功能、性能、規(guī)模、成本和進(jìn)度進(jìn)行平衡時(shí),卓有成效地體現(xiàn)用戶的利益。這個(gè)角色是全職工作,只有在最小的團(tuán)隊(duì)中,才能和團(tuán)隊(duì)經(jīng)理的角色合并。結(jié)構(gòu)師就像電影的導(dǎo)演,而經(jīng)理類似于制片人。
      將體系結(jié)構(gòu)和設(shè)計(jì)實(shí)現(xiàn)、物理實(shí)現(xiàn)相分離。為了使結(jié)構(gòu)師的關(guān)鍵任務(wù)更加可行,有必要將用戶所感知的產(chǎn)品定義棗體系結(jié)構(gòu),與它的實(shí)現(xiàn)相分離。體系結(jié)構(gòu)和實(shí)現(xiàn)的劃分在各個(gè)設(shè)計(jì)任務(wù)中形成了清晰的邊界,邊界兩邊都有大量的工作。
      人月神話介紹軟件工程應(yīng)該注意的問題,比如團(tuán)隊(duì)組織,空間、銀彈——開發(fā)技術(shù),時(shí)間日程表等等。初出茅廬的菜鳥讀起來壓力很大。
  •     搬家,準(zhǔn)備出售一些閑置書籍,
      包括人月神話,轉(zhuǎn)讓。有需要著請(qǐng)與我聯(lián)系。多為計(jì)算機(jī)方面書籍。
      
      下面鏈接是我在孔夫子網(wǎng)上書攤
      
      http://tan.kongfz.com/106218/204986748/
  •     這是一本談項(xiàng)目管理小冊(cè)子,是一些經(jīng)驗(yàn)的羅列,沒有什么系統(tǒng)性,但是比較有用。這本書強(qiáng)調(diào)幾個(gè)重要的理念:
      1.項(xiàng)目中,一般用人月來計(jì)算工作量,但是人和月是不能互換的。在項(xiàng)目延期的情況下,加更多的人往往會(huì)使項(xiàng)目更糟,因?yàn)樾鲁蓡T的加入需要很高的溝通成本。
      2.概念的一致性:項(xiàng)目中的概念在不同階段,不同成員之間要保持一致性很難,但很重要。
      3.交流很重要:巴比倫塔失敗的原因是因?yàn)槿藗儾荒苡行У臏贤ā?br />   4.隨著程序規(guī)模的增加,工作量不是按比例增長,而是按指數(shù)增長,計(jì)劃、文檔、測(cè)試、集成等工作都要考慮在內(nèi)。就像人跑一千米所用的時(shí)間不等與百米沖刺的10倍一樣。 他給出一個(gè)公式:工作量 = (常數(shù))×(指令的數(shù)量)1.5 不知道他怎么得出這個(gè)公式的,我覺得現(xiàn)在以指令數(shù)量來衡量已經(jīng)不適用了吧。
      
      5.培養(yǎng)開發(fā)人員從系統(tǒng)整體出發(fā)、面向用戶的態(tài)度是軟件編程管理人員最重要的職能。
      6.系統(tǒng)剛發(fā)布時(shí),發(fā)現(xiàn)bug的數(shù)量會(huì)逐漸減少,但過幾個(gè)月后,會(huì)增加。因?yàn)橛脩舻氖褂玫搅诵碌氖炀毸剑_始使用新的功能。
      。。。。
  •     書中的一些技術(shù)細(xì)節(jié)讀起來比較費(fèi)力,我更多地是從“項(xiàng)目管理”的角度來閱讀此書。
      
      【1】缺乏合理的時(shí)間進(jìn)度是造成項(xiàng)目滯后的最主要原因。
      
      【2】通常,我們會(huì)過于樂觀,錯(cuò)誤地假設(shè)“一切都將運(yùn)作良好,每項(xiàng)任務(wù)僅花費(fèi)它所應(yīng)該花費(fèi)的時(shí)間”。
      
      【3】在估計(jì)和進(jìn)度安排中常常使用“人月”作為工作單位。但我們往往錯(cuò)誤地假設(shè)人員數(shù)量和時(shí)間是可以相互替換的。當(dāng)項(xiàng)目進(jìn)度滯后時(shí),我們往往會(huì)投入更多的人力。然而,此時(shí)我們需要考慮額外增加的培訓(xùn)成本、溝通成本等。
      
      【4】Brooks 法則:向進(jìn)度落后的項(xiàng)目增加人手,只會(huì)使進(jìn)度更加落后。
      我認(rèn)為應(yīng)該辯證地看待這個(gè)法則,我發(fā)現(xiàn)在實(shí)際工作中發(fā)現(xiàn)進(jìn)度落后的時(shí)候,一般采取以下三種措施(1)加班(2)減少項(xiàng)目范圍(3)增加人手
      
      【5】系統(tǒng)測(cè)試進(jìn)度的安排。由于我們的樂觀主義,通常實(shí)際出現(xiàn)的缺陷數(shù)量比預(yù)料的要多得多。作者會(huì)把項(xiàng)目一半的時(shí)間預(yù)留在測(cè)試上。
      在今后參與測(cè)試相關(guān)的項(xiàng)目時(shí),留意一下如何安排測(cè)試進(jìn)度的。
      
      【6】為了獲得概念完整性,設(shè)計(jì)必須由一個(gè)人或者具有共識(shí)的小型團(tuán)隊(duì)完成。概念上統(tǒng)一的系統(tǒng)能更快地開發(fā)和測(cè)試。盡早交流和持續(xù)溝通能使結(jié)構(gòu)師有較好的成本意識(shí)。
      
      【7】外科手術(shù)隊(duì)伍。對(duì)于大型系統(tǒng),小型精干的隊(duì)伍太慢了。建議采用外科手術(shù)隊(duì)伍的團(tuán)隊(duì)架構(gòu)(有一個(gè)主要的負(fù)責(zé)人,其他人都是分工協(xié)作的副手),既能獲得由少數(shù)頭腦產(chǎn)生的產(chǎn)品完整性,有能得到多位協(xié)助人員的總體生產(chǎn)率,還徹底地減少了溝通的工作量。
      
      【8】團(tuán)隊(duì)中的交流(項(xiàng)目工作手冊(cè))和組織架構(gòu)影響項(xiàng)目的成?。煌瑫r(shí)也強(qiáng)調(diào)了文檔的重要性。
  •     “軟件的復(fù)雜度是根本屬性,不是次要因素。因此,抽掉復(fù)雜度的軟件實(shí)體描述常常也去掉了一些本質(zhì)屬性。數(shù)學(xué)和物理學(xué)在過去三個(gè)世紀(jì)取得了巨大的進(jìn)步,數(shù)學(xué)家和物理學(xué)家們?yōu)閺?fù)雜的現(xiàn)象建立了簡化的模型,從模型中抽取出各種特性,并通過試驗(yàn)來驗(yàn)證這些特性。這些方法之所以可行,是因?yàn)槟P椭泻雎缘膹?fù)雜度不是被研究現(xiàn)象的根本屬性。當(dāng)復(fù)雜度是本質(zhì)特性時(shí),這些方法就行不通了?!?br />   
      “愛因斯坦曾不斷地重申自然界一定存在著簡化的解釋,因?yàn)樯系鄄皇菍M武斷和反復(fù)無常的。軟件工程師卻無法從類似的信念中獲得安慰,他必須掌握的很多復(fù)雜度是隨心所欲、毫無規(guī)則可言的,來自若干必須遵循的人為慣例和系統(tǒng)。它們隨接口的不同而改變,隨時(shí)間的推移而變化,并且,這些變化不是必需的,僅僅由于他們是不同的人——而非上帝——設(shè)計(jì)的結(jié)果?!?br />   
      “當(dāng)我們?cè)噲D用圖形來描述軟件結(jié)構(gòu)時(shí),發(fā)現(xiàn)它不僅僅包含一個(gè),而是很多相互關(guān)聯(lián)、重疊在一起的圖形。這些圖形可能代表控制流程、數(shù)據(jù)流、依賴關(guān)系、時(shí)間序列和名字空間的相互關(guān)系等等。它們通常不是有較少層次的扁平結(jié)構(gòu)。實(shí)際上,在上述結(jié)構(gòu)上建立概念控制的一種方法是強(qiáng)制將關(guān)聯(lián)分割,直到可以層次化一個(gè)或多個(gè)圖形?!?br />   
      原書中,這兩段話分別針對(duì)軟件四項(xiàng)內(nèi)在特性中的兩項(xiàng):“復(fù)雜度”和“一致性”而論,這三段話讓我有豁然開朗的感覺,所以相當(dāng)喜歡!
      
      第一段加深了我對(duì)數(shù)學(xué)和物理的理解——我們的學(xué)習(xí)思路的確是這樣的;
      
      第二段反映了一個(gè)心結(jié):我們都想將精力放在解決問題本身,而不是因?yàn)槿藶樵O(shè)計(jì)不一致造成的無謂卻必要的勞動(dòng)上;
      
      第三段則介紹用圖形描述軟件結(jié)構(gòu)的一種抽象方法——強(qiáng)制將關(guān)聯(lián)分割。
      
      “沒有銀彈”全篇(包括16、17章)則深化了我對(duì)軟件的認(rèn)識(shí),這源自本篇的中心論點(diǎn):軟件存在根本的和次要的兩種困難,為了提高軟件開發(fā)的效率,人們同時(shí)在為解決這兩種困難而努力著。如今,解決次要的困難已經(jīng)取得了巨大進(jìn)步,但根本的困難仍然困擾著人們——這也是作者“沒有銀彈”論斷的來源。(將軟件開發(fā)比作人狼——簡單明了的東西可能變成落后進(jìn)度、超出預(yù)算、存在大量缺陷的怪物,殺死人狼的武器是銀彈,但是解決軟件開發(fā)困難的銀彈可能并不存在,因?yàn)槿藗兠鎸?duì)的是軟件的根本困難。)
      
      由于作者所有的討論都是針對(duì)軟件的根本困難和次要困難,所以,理解這兩種困難對(duì)于深化軟件的認(rèn)識(shí)至關(guān)重要,這也是我認(rèn)為全書最精華的地方——作者講得深入淺出,又發(fā)人深省。
      
      ··················································
      
      作者認(rèn)為,所有的軟件活動(dòng)包括兩種任務(wù):
      
      1.根本任務(wù):打造構(gòu)成抽象軟件實(shí)體的復(fù)雜概念結(jié)構(gòu)。
      
      2.次要任務(wù):使用編程語言表達(dá)這些抽象實(shí)體,在空間和時(shí)間限制內(nèi)將它們映射成機(jī)器語言。
      
      相應(yīng)的,軟件就存在兩種困難:
      
      1.根本的困難:軟件特性中固有的困難。
      
      2.次要的困難:出現(xiàn)在目前生產(chǎn)中,但并非那些與生俱來的困難。
      
      作者的觀點(diǎn)是:
      
      “我認(rèn)為軟件開發(fā)中困難的部分是規(guī)格說明、設(shè)計(jì)和測(cè)試這些概念上的結(jié)構(gòu),而不是對(duì)概念進(jìn)行表達(dá)和對(duì)現(xiàn)實(shí)逼真程度進(jìn)行驗(yàn)證?!?br />   
      所以,軟件無法規(guī)避的內(nèi)在特性是(雖然書中沒有明說,但我能感覺到,這些就是作者所說的根本困難):
      
      1.復(fù)雜度:沒有任何兩個(gè)軟件部分是相同的(至少在語句的級(jí)別上)……數(shù)字計(jì)算機(jī)本身就比人類建造的大多數(shù)東西復(fù)雜……軟件系統(tǒng)的狀態(tài)又比計(jì)算機(jī)的狀態(tài)多若干個(gè)數(shù)量級(jí)……軟件的復(fù)雜度是根本屬性,不是次要因素……
      
      2.一致性:許多情況下,因?yàn)槭情_發(fā)最新的軟件,它必須遵循各種接口。另一些情況下,軟件的開發(fā)目標(biāo)就是兼容性……很多復(fù)雜性來自保持與其他接口的一致方面,對(duì)軟件的任何再設(shè)計(jì),都無法簡化這些復(fù)雜特性……
      
      3.可變性:軟件實(shí)體經(jīng)常會(huì)遭受到持續(xù)的變更壓力……系統(tǒng)中的軟件包含了很多功能,而功能是最容易感受變更壓力的部分……軟件可以很容易地進(jìn)行修改——它是純粹思維活動(dòng)的產(chǎn)物,可以無限擴(kuò)展……所有成功的軟件都會(huì)發(fā)生變更……功能擴(kuò)展的壓力主要來自那些喜歡基本功能,又對(duì)軟件提出了很多新用法的用戶們……軟件一定是在某種計(jì)算機(jī)硬件平臺(tái)上開發(fā),成功軟件的生命期通常比當(dāng)初開發(fā)軟件所用的計(jì)算機(jī)硬件平臺(tái)要長……簡言之,軟件產(chǎn)品扎根于文化的母體中,如各種應(yīng)用、用戶、自然及社會(huì)規(guī)律、計(jì)算機(jī)硬件等等。后者持續(xù)不斷地變化著,這些變化無情地強(qiáng)迫軟件也隨之變化……
      
      4.不可見性:軟件是不可見的和無法可視化的……軟件的客觀存在不具有空間的形體特征……除去軟件結(jié)構(gòu)上的限制和簡化方面的進(jìn)展,軟件仍然保持著無法可視化的固有特性,從而剝奪了一些具有強(qiáng)大功能的概念工具的構(gòu)造創(chuàng)意。這種缺憾不僅限制了個(gè)人的設(shè)計(jì)過程,也嚴(yán)重阻礙了思路相互之間的交流。
      
      *注:這里,未必說作者所說的都是對(duì)的,我們當(dāng)然需要批判性思維,但是當(dāng)這方面的知識(shí)遠(yuǎn)遜于作者時(shí),將其作為知識(shí)吸收,從而促進(jìn)自己的思考,顯然是個(gè)不錯(cuò)的選擇。
      
      文章中剩余的部分則討論了解決次要困難的突破(高級(jí)語言、分時(shí)、統(tǒng)一編程環(huán)境),以及解決根本困難的可能途徑(Ada和其他高級(jí)編程語言、面向?qū)ο缶幊?、人工智能、專家系統(tǒng)、“自動(dòng)”編程、圖形化編程、程序驗(yàn)證、環(huán)境和工具、工作站)——當(dāng)然這些都被作者否定了。
      
      最后,作者提出了自己所認(rèn)為的一些可能解決根本困難的方法(參考如今的軟件開發(fā),作者30多年前的觀點(diǎn)多么具有前瞻性?。。?br />   
      1.購買和自行開發(fā)。
      
      2.需求精煉和快速原型。
      
      3.增量開發(fā)——增長,而非搭建系統(tǒng)。
      
      4.卓越的設(shè)計(jì)人員。
      
      以上節(jié)選自:http://wuguoren.com/2012/12/29/%E3%80%90%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0%E3%80%91%E6%B2%A1%E6%9C%89%E9%93%B6%E5%BC%B9-%E6%9C%89%E5%85%B3%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E7%9A%84%E8%AE%BA%E6%96%AD/
  •     張小龍說“不聽搖滾的程序員不是好產(chǎn)品經(jīng)理”,作為一個(gè)聽搖滾但不是程序員的產(chǎn)品經(jīng)理,理應(yīng)尋找中間的那個(gè)名詞。
      1、向進(jìn)度落后的項(xiàng)目中增加人手,只會(huì)使項(xiàng)目更加落后;
      2、項(xiàng)目的時(shí)間依賴于順序上的限制,人員的最大數(shù)量依賴于獨(dú)立子任務(wù)的數(shù)量;
      3、研究表明,效率高和效率低的實(shí)施者之間個(gè)體差異非常大,經(jīng)常能夠達(dá)到數(shù)量級(jí)的水平;
      4、需要協(xié)作溝通的人員數(shù)量影響著開發(fā)成本;
      5、對(duì)于效率和高年的完整性來說,最好由少數(shù)干練的人員來設(shè)計(jì)和開發(fā),面對(duì)于大型系統(tǒng),則需要大量的人手,以使產(chǎn)品在時(shí)間上滿足需求;
      6、以易用性為目標(biāo),功能與理解上復(fù)雜程度的比值才是系統(tǒng)設(shè)計(jì)的最終測(cè)試標(biāo)準(zhǔn);簡潔和直白來自概念的完整性;易用性實(shí)際上需要設(shè)計(jì)的一致性和概念的完整性;
      7、手冊(cè)不但要描述包括所有界面在內(nèi)的用戶可見的一切,它同時(shí)還要避免描述用戶看不見的事物;
      8、手冊(cè)需精確的規(guī)定限制,描述將達(dá)到的目標(biāo),列舉差異,需在仔細(xì)定義規(guī)定什么的同時(shí),定義來規(guī)定什么;
      9、產(chǎn)品責(zé)任人和技術(shù)主管必須在基本的技術(shù)理論上具有相似的觀點(diǎn),他們必須在主要的技術(shù)問題出現(xiàn)之前,私下討論這些問題,產(chǎn)品責(zé)任人必須對(duì)技術(shù)主管的技術(shù)才能表現(xiàn)出尊重;
      10、交流和交流的結(jié)果——組織,是成功的關(guān)鍵。交流和組織的技能需要管理和仔細(xì)考慮,相關(guān)經(jīng)驗(yàn)的積累和能力的提高同軟件本身一樣重要;
      11、實(shí)踐是最好的老師,但智者還能從其他的地方有收獲;
      12、為了滿足目標(biāo),每個(gè)人都在局部優(yōu)化自己的程序,很少有人會(huì)停下來考慮一下對(duì)客戶的整體影響;
      13、培養(yǎng)開發(fā)人員從系統(tǒng)整體出發(fā),面向客戶的態(tài)度是軟件編程管理人員最重要的職能;
      14、技藝改進(jìn)的結(jié)果往往是戰(zhàn)略上的突破,而不僅僅是技巧上的提高;
      15、數(shù)據(jù)的表現(xiàn)形式是編程的根本;
      16、軟件開發(fā)人員為客戶所承擔(dān)的最重要的職能不斷重復(fù)的抽取和細(xì)化產(chǎn)品的需求;
      17、不了解,就無法真正擁有;
      18、原型通常展示了應(yīng)用程序的功能主線,但不能處理任何如無效輸入,退出清除等異常情況;
      19、原型的目的是明確實(shí)際的概念結(jié)構(gòu),使客戶可以測(cè)試一致性和可用性;
      20、增量開發(fā)——增長,而非搭建系統(tǒng);
      21、低劣設(shè)計(jì)和良好設(shè)計(jì)之間的區(qū)別可能在于設(shè)計(jì)方法的完善性,而良好設(shè)計(jì)和卓越設(shè)計(jì)之間的區(qū)別肯定不是如此,卓越設(shè)計(jì)來自卓越設(shè)計(jì)人員;
      22、我們理解也好,不理解也好,描述都應(yīng)該簡短精煉;
      23、項(xiàng)目經(jīng)理面臨的中心問題就是如何設(shè)計(jì)架構(gòu)和流程,來提高而不是壓制主動(dòng)性和創(chuàng)造力;
      24、管理人員的職責(zé)不是要人去工作,而是創(chuàng)造工作的可能;
      25、附屬職能行駛原理:如果較低級(jí)別組織的自由和責(zé)任得以保留,中心權(quán)威實(shí)際上得到了加強(qiáng)。
  •     很難想象是50年前寫成的
      更難想象50年前 人們?cè)?jīng)走過的彎路 我們?nèi)缃襁€在走
      
      除了經(jīng)典的人月理論,列舉一些個(gè)人認(rèn)為至今依然收益的論斷
      
      - Documentation is the chief production of the architecture
      - Second system effect
      - The first version is done to be thrown away
      - Build up a surgeon team
  •     1,老外在32年前就對(duì)軟件項(xiàng)目管理有了很深入透徹的了解,令人驚嘆。
      2,前人總結(jié)出來的經(jīng)驗(yàn)教訓(xùn),而我們由于各種原因一直在重犯。
      3,某些語言或者技術(shù)會(huì)過時(shí),但是這部書的內(nèi)容永遠(yuǎn)不會(huì)過時(shí)。
      
      -
  •     這本書是“國外程序員推薦:每個(gè)程序員都應(yīng)讀的書”中一本非技術(shù)書,書中沒有任何技術(shù)知識(shí)。我花了大概一周的時(shí)間粗略讀了一遍,感觸呢,如書中所說“大多數(shù)觀點(diǎn)本來已經(jīng)知道”。
      
      軟件工程師應(yīng)該至少過一遍書中提出的觀點(diǎn),在實(shí)際工作中加以運(yùn)用,比如:多交流,不知道的一定要問;多做實(shí)驗(yàn)來驗(yàn)證不確定的東西;選順手的工具;用合理的方式管理文檔。
      
      其實(shí)我更建議經(jīng)理級(jí)別的人/部門老大來讀這本書,從而能用更合理的方式來管理項(xiàng)目和工程師。為什么產(chǎn)品總是延期?為什么增加人手不能趕上進(jìn)度?為什么工程師士氣低落?為什么...... 本書不僅解答了這些為什么,而且提出了實(shí)施的建議。我先后經(jīng)歷過幾家公司,發(fā)現(xiàn)管理上的混亂是如何拖慢進(jìn)度,如何消磨大家工作的積極性的,希望這本書能引起老大們的注意。
      
      誠然,國內(nèi)環(huán)境復(fù)雜,軟件工程師就是被壓迫的一個(gè)階層,想必書中觀點(diǎn)也很難在現(xiàn)實(shí)中應(yīng)用。
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7