出版時(shí)間:2010-5 出版社:電子工業(yè)出版社 作者:雷劍文,陳振沖 頁數(shù):295 譯者:楊艷
Tag標(biāo)簽:無
前言
本書幫助我們發(fā)現(xiàn)自己的軟件方法學(xué),這種方法同時(shí)尊重人員與實(shí)踐的軟件開發(fā)的雙重韻律?! ∩钜?,躺在馬拉維湖的康帝海灘,我們仰望晴朗的天空。無數(shù)小星星向我們眨著眼。有一點(diǎn)疲倦,或許是這遙遠(yuǎn)神秘的光使人迷幻,我們閉上眼睛,開始傾心聆聽:湖水輕柔地拍打著岸,深夜那微小和諧的聲音,心好像隨著有韻律的、深深的呼吸而悸動(dòng)。大自然就是一曲不可思議的韻律合奏。我們的地球在太陽系的軌道上轉(zhuǎn)動(dòng)不息,日日夜夜,四季循環(huán),永不休止。隨著自然的韻律,我們醒來學(xué)習(xí),入睡記憶,寫寫改改我們的程序,在完美的韻律合奏中與宇宙間全能的程序融為一體。從心跳到步伐,韻律是動(dòng)力十足、充滿生機(jī)的力量。這世界如此復(fù)雜、好似混沌,我們努力追求緣由并確認(rèn)關(guān)聯(lián),但有時(shí)只有發(fā)現(xiàn)韻律才可以讓我們看到普遍存在的規(guī)律?! 【拖袢祟惼渌呐σ粯?,軟件開發(fā)復(fù)雜并充滿了泛化與關(guān)聯(lián),但是沒有規(guī)則。我們用規(guī)范的軟件開發(fā)模型和管理學(xué)幫助構(gòu)造軟件,但是紛擾的軟件開發(fā)、不斷變化的開發(fā)團(tuán)隊(duì)、新的需求與任務(wù),意味著根本無法保證上一次成功的方法就能在下一次同樣成功。實(shí)際上,有的團(tuán)隊(duì)領(lǐng)導(dǎo)看上去并沒有采用什么開發(fā)方法,因而被別人嘲笑是“即興開發(fā)”,他們反而能夠按時(shí)完成軟件項(xiàng)目。他們成功的秘密就在于能夠理解軟件開發(fā)的韻律?! ∶鎸ψ钭屓祟^疼的軟件開發(fā)問題,了解韻律將給予我們一個(gè)新的視角。一個(gè)團(tuán)隊(duì)的成功方法有時(shí)并不適合另一個(gè)團(tuán)隊(duì),因?yàn)榧词故亲罘e極肯干的軟件團(tuán)隊(duì),也必須在理解一種新方法的韻律后,才可以成功地得以運(yùn)用。在管理復(fù)雜而多元的軟件開發(fā)項(xiàng)目時(shí),團(tuán)隊(duì)和個(gè)人的開發(fā)與進(jìn)程之間的和諧運(yùn)作是最關(guān)鍵的,然而韻律卻是一個(gè)經(jīng)常被忽視的主題。 韻律并不是一種新的開發(fā)方法。當(dāng)前已經(jīng)有許多種不同的開發(fā)方法,本書并不打算介紹一種新的軟件開發(fā)和項(xiàng)目管理的框架。目前最需要的不是更多的方法,而是更智慧地使用我們選擇的方法。最好的方式是,理解并和諧地在團(tuán)隊(duì)所采用的開發(fā)方法的韻律下工作。如果不理解,不在韻律下和諧地工作,則反而會被選用的開發(fā)方法拖累而并非從中受益,會使項(xiàng)目冗長艱難?! ”緯皇菫樾率炙鶎懙?。實(shí)際上,我們認(rèn)為你可以釣魚并已經(jīng)釣到了一些魚了。本書是為了那些老手,想改進(jìn)甚至于想重新發(fā)現(xiàn)軟件開發(fā)的技巧與技術(shù)的人而寫的。當(dāng)我們習(xí)慣于只從一個(gè)單一的角度看問題時(shí),這些東西很容易被遺忘。就像正在釣魚的人,用靈巧的手腕,穩(wěn)定的韻律甩出魚線,我們希望能幫助你釣到更多的魚,并幫助你享受這一過程。
內(nèi)容概要
《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》是一本關(guān)于推薦、推廣、推崇敏捷開發(fā)的軟件方法學(xué)教材,這種方法同時(shí)尊重人員與實(shí)踐的軟件開發(fā)的雙重韻律。全書包括兩部分,共9章。第一部分由三章組成。第1章介紹軟件開發(fā)韻律的概念,第2章、第3章分別討論人與實(shí)踐,闡明軟件開發(fā)的一些基本概念并提出幾個(gè)重要的問題,如:“什么是敏捷價(jià)值?”“從開源軟件開發(fā)中我們能學(xué)到什么”等。第二部分包括其余的六章,都是關(guān)于開發(fā)韻律的。軟件開發(fā)韻律是一個(gè)強(qiáng)大的比喻,可幫助我們分析何時(shí)更好地采用一種軟件開發(fā)的方法,使軟件開發(fā)實(shí)踐更加和諧,軟件的質(zhì)量也得以提升?! ×硗?,《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》以軟件開發(fā)實(shí)踐中的點(diǎn)滴作為出發(fā)點(diǎn)展開討論,描述了一些項(xiàng)目片段和工業(yè)實(shí)例,注重用事實(shí)說話。全書行文深入淺出,親切自然,并配以很多有趣的漫畫來闡述書中的概念,值得讀者細(xì)細(xì)品讀,定當(dāng)回味無窮?! ∵m合閱讀《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》的,不僅僅是處在軟件行業(yè)第一線的程序員;各個(gè)軟件開發(fā)單位的團(tuán)隊(duì)領(lǐng)導(dǎo)、項(xiàng)目主管、高層管理人員,以及人力資源經(jīng)理、文檔撰寫人員、程序開發(fā)工具的設(shè)計(jì)者、程序開發(fā)語言的設(shè)計(jì)者,甚至所有其工作與程序開發(fā)有關(guān)的人,都能從《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》中得到啟發(fā)。
作者簡介
KIM MAN LUI博士,是一位大學(xué)(Hong Korlg Polytechnic University)電子計(jì)算學(xué)系的訪問教授。他是Oracle認(rèn)證數(shù)據(jù)庫管理員和Sun認(rèn)證、Java程序員。 KEITH C.C.CHAN博士,是香港理工大學(xué)電子計(jì)算學(xué)系的教授和系主任,他曾經(jīng)是IBM設(shè)在多倫多的IBM加拿大實(shí)驗(yàn)室(IBM Canada Laboratory)的高級分析員?! ∽g者簡介: 楊艷,長安大學(xué)信息工程學(xué)院講師。研究方向包括:智能交通系統(tǒng)、交通安全、駕駛員心理學(xué)和軟件工程管理等。主要研究興趣:檢測評價(jià)車內(nèi)外駕駛環(huán)境,為科學(xué)地制定交通策略提供理論依據(jù),并致力于利用改善車內(nèi)外軟硬件環(huán)境以提高交通安全。 丁大江,大學(xué)畢業(yè)后就一直做軟件編程,迄今已有十余年,有完成任務(wù)的喜悅,更多的是陷入幾乎絕望的煩惱。好的編程方法可以大大縮短編程過程,希望這本書能對大家有所幫助。 倪神昭,福建泉州籍人。2005年畢業(yè)于廈門大學(xué)自動(dòng)化系,同年進(jìn)入英國倫敦大學(xué)研讀智能系統(tǒng)碩士學(xué)位。2010年博士畢業(yè)于南安普頓大學(xué)計(jì)算機(jī)系,主修機(jī)器學(xué)習(xí)與機(jī)器翻譯?! ⊥跆祢?,本科畢業(yè)于北京交通大學(xué)交通運(yùn)輸學(xué)院,取得學(xué)士學(xué)位。至本書截稿時(shí),就讀于英國南安普敦大學(xué)土木與環(huán)境工程學(xué)院交通運(yùn)輸研究組,攻讀博士學(xué)位。研究興趣包括:道路使用者行為,交通建模與仿真,智能交通系統(tǒng)等?! 钴姡偤笾睂倌巢恐砉こ處?,管理學(xué)、軍事學(xué)學(xué)士,后勤管理信息化碩士。研究方向:后勤信息化理論與實(shí)踐、基于多Agent的信息系統(tǒng)協(xié)同等?! 埦?,2004年畢業(yè)于長安大學(xué),2005年就讀于南安普頓大學(xué)交通規(guī)劃與工程碩士專業(yè),2006年畢業(yè)后繼續(xù)在該校攻讀博士學(xué)位。
書籍目錄
第一部分:基本概念第1章 程序員不死 21.1 開發(fā)軟件與修建隧道相比 31.1.1 美好的舊時(shí)光 31.1.2 情況越變化,他們越相同 41.1.3 軟件產(chǎn)品的背后 51.1.4 成交或不成交 81.2 哆來咪哆來咪 101.2.1 迭代模型 121.2.2 編碼后修復(fù)模型 141.2.3 混沌 151.2.4 重要的方法 191.3 軟件開發(fā)韻律 221.3.1 五線譜示例 231.3.2 博弈理論 261.3.3 啟動(dòng)-結(jié)束示圖(In-Out Diagram) 281.3.4 精通-培訓(xùn)示圖 291.3.5 不用數(shù)學(xué) 301.3.6 去哪里探索韻律 31參考文獻(xiàn) 32第2章 了解程序員 342.1 個(gè)性及智力 362.1.1 編程高手 372.1.2 了解你的團(tuán)隊(duì) 382.1.3 招募程序員 402.2 外包程序員 422.2.1 本土化的程序員 432.2.2 程序員,文化及團(tuán)隊(duì) 442.3 經(jīng)驗(yàn)式管理 452.3.1 對待因果關(guān)系不嚴(yán)謹(jǐn) 462.3.2 謹(jǐn)慎借用經(jīng)驗(yàn) 472.3.3 從現(xiàn)在做起 49參考文獻(xiàn) 51第3章 從開源做起 523.1 流程和實(shí)踐 553.1.1 項(xiàng)目的四個(gè)P 573.1.2 敏捷的價(jià)值 603.1.3 零起點(diǎn)合作 613.2 開源軟件開發(fā) 623.2.1 軟件克隆 633.2.2 軟件質(zhì)量 643.2.3 啟動(dòng)流程 653.2.4 開源開發(fā)團(tuán)體 663.2.5 用戶程序員 673.2.6 參與者角色 683.2.7 快速發(fā)布 693.2.8 黑盒編程 723.2.9 OSS實(shí)踐 743.3 類OSS開發(fā) 743.3.1 敏捷實(shí)踐 753.3.2 近鄰交流 763.3.3 松耦合和緊耦合 773.3.4 同一地點(diǎn)的軟件開發(fā) 783.4 結(jié)論 79參考文獻(xiàn) 80第二部分:韻律第4章 抄襲編程 844.1 抄襲 864.1.1 已有的代碼 874.1.2 社交網(wǎng)絡(luò)分析 884.1.3 被抄襲 894.1.4 讓人人成為程序員 924.1.5 模式語言 964.1.6 軟件團(tuán)隊(duì)能力 984.1.7 粗線條設(shè)計(jì) 1014.1.8 培訓(xùn)不是解決方案 1024.2 抄襲最快 1034.2.1 不道德 1044.2.2 無先例的代碼 1054.2.3 人際關(guān)系網(wǎng) 1064.2.4 抄襲的韻律 1074.2.5 工作中抄襲 1104.3 抄襲的生意與韻律 1124.3.1 15分鐘的商業(yè)報(bào)告 1134.3.2 市場調(diào)研 1154.3.3 聊天機(jī)器人 1174.3.4 老歌新唱 122參考文獻(xiàn) 125第5章 結(jié)對編程 1275.1 藝術(shù)與科學(xué) 1285.1.1 最佳搭檔 1295.1.2 喧鬧的程序設(shè)計(jì) 1305.1.3 僅僅是培訓(xùn) 1315.1.4 付費(fèi)給觀眾 1315.2 兩個(gè)世界 1325.2.1 沒錢的世界 1335.2.2 金錢引導(dǎo)的世界 1355.2.3 經(jīng)濟(jì)學(xué) 1365.2.4 虛構(gòu)的質(zhì)量——時(shí)間關(guān)系 1365.2.5 加速運(yùn)行時(shí)間 1375.2.6 關(guān)鍵路徑法 1385.2.7 為什么是兩個(gè)結(jié)對而不是三個(gè):反組織現(xiàn)象 1415.2.8 軟件的需求是個(gè)拼圖 1425.3 程序設(shè)計(jì)任務(wù)需求 1445.3.1 2+4=6 1445.3.2 2+4=4 1455.3.3 2+4=3 1465.3.4 2+4≥2 1475.3.5 2+4=? 1485.4 結(jié)對編程不僅僅是程序設(shè)計(jì) 1495.4.1 用代碼設(shè)計(jì) 1505.4.2 結(jié)對設(shè)計(jì) 1525.4.3 韻律結(jié)對編程 1545.5 結(jié)對編程團(tuán)隊(duì)指導(dǎo) 156參考文獻(xiàn) 158第6章 重復(fù)編程 1616.1 結(jié)對編程的爭議 1646.1.1 編程是一項(xiàng)特殊的工作嗎 1646.1.2 三個(gè)腦袋是否比兩個(gè)好 1656.1.3 不可重復(fù)的實(shí)驗(yàn) 1666.2 重復(fù)編程 1676.2.1 相反的結(jié)果 1716.2.2 原理 1736.2.3 三人一組編程的效率不高 1746.3 旋律:結(jié)對-單獨(dú)-結(jié)對-單獨(dú) 1766.3.1 持續(xù)性 1776.3.2 聯(lián)系 1796.3.3 動(dòng)機(jī) 1836.4 證明布魯克斯法則的一個(gè)特例 1866.4.1 士氣低落 1886.4.2 溝通的成本 1896.4.3 適用于延誤項(xiàng)目的旋律 191參考文獻(xiàn) 193第7章 敏捷組隊(duì) 1967.1 項(xiàng)目團(tuán)隊(duì) 1997.1.1 自組織團(tuán)隊(duì) 2017.1.2 團(tuán)隊(duì)中的團(tuán)隊(duì) 2027.1.3 項(xiàng)目團(tuán)隊(duì)的組成 2047.1.4 團(tuán)隊(duì)生命周期與學(xué)習(xí)曲線 2057.2 生產(chǎn)力 2087.2.1 生產(chǎn)力的錯(cuò)覺 2087.2.2 集體代碼所有權(quán) 2097.2.3 責(zé)任、職責(zé)和透明度 2107.3 問題與出問題的人 2117.3.1 旋律:困難——重組 2137.3.2 組隊(duì)原則 2157.4 拯救即將失敗的項(xiàng)目 2177.4.1 項(xiàng)目紅綠燈報(bào)告 2187.4.2 一個(gè)商業(yè)案例 2197.4.3 指導(dǎo)委員會會議 2197.4.4 敏捷組隊(duì)發(fā)揮作用 2217.5 提防Iago(埃古) 222參考文獻(xiàn) 223第8章 增量設(shè)計(jì) 2258.1 建模和計(jì)劃 2268.1.1 敏捷計(jì)劃 2278.1.2 使用功能性模塊進(jìn)行設(shè)計(jì) 2308.1.3 簡潔設(shè)計(jì) 2318.1.4 總體成本的概念 2328.2 返工還是復(fù)用 2358.2.1 無法避免的返工 2368.2.2 即興創(chuàng)作 2378.2.3 預(yù)先設(shè)計(jì) 2398.3 即時(shí)的軟件開發(fā) 2408.3.1 CMM的旋律 2418.3.2 一次工廠參觀 2448.3.3 走來走去的工人 2458.3.4 即時(shí)軟件開發(fā) 2478.3.5 增量式設(shè)計(jì) 2488.4 需求復(fù)雜性 2508.4.1 遺漏的需求 2538.4.2 沖突的需求 2548.4.3 迅速改變的需求 2548.4.4 需求和設(shè)計(jì) 2568.5 重構(gòu) 2568.5.1 重構(gòu)活動(dòng) 2598.5.2 通過挑戰(zhàn)進(jìn)行重構(gòu) 2608.5.3 為了設(shè)計(jì)模式進(jìn)行重構(gòu) 2638.5.4 故意制造錯(cuò)誤 264參考文獻(xiàn) 264第9章 測試驅(qū)動(dòng)開發(fā) 2679.1 逆向瀑布 2709.1.1 設(shè)計(jì)-編碼-測試 2709.1.2 測試-編碼-設(shè)計(jì) 2719.2 測試優(yōu)先編程 2729.2.1 測試和驗(yàn)證 2729.2.2 斷點(diǎn)測試 2739.2.3 支撐實(shí)踐 2759.3 韻律:測試-編碼-重構(gòu) 2769.3.1 簡單的案例 2789.3.2 自動(dòng)操作 2799.3.3 意識革命 2819.3.4 用來合作的測試案例 2849.4 快速的軟件過程升級 2869.4.1 培訓(xùn)程序 2869.4.2 項(xiàng)目規(guī)劃 2879.4.3 項(xiàng)目跟蹤 2889.4.4 軟件質(zhì)量 2899.4.5 軟件配置 2909.4.6 人員紀(jì)律 291參考文獻(xiàn) 291尾聲 各種樂聲的混合 293開發(fā)旋律和您 294適用于具有更多重復(fù)性編程任務(wù)的開發(fā)旋律 295適用于具有挑戰(zhàn)性的任務(wù)的開發(fā)旋律 295
章節(jié)摘錄
最終而言,歷史和市場可能會消除這些差異,但是在項(xiàng)目實(shí)施的當(dāng)下,對每個(gè)項(xiàng)目管理者來說這都是需要解決的問題。管理者需要了解他們要外包的地區(qū)信息,而這些外包地區(qū)的人員及文化有著一系列你所不熟悉的、他們本土化的標(biāo)準(zhǔn)。我們不能因?yàn)楫?dāng)今眾多事物的全球化,因?yàn)橛袝r(shí)你不需要跟你的團(tuán)隊(duì)成員面對面接觸,就想當(dāng)然地認(rèn)為團(tuán)隊(duì)成員的性格與你無關(guān)了?! τ谝粋€(gè)良好的團(tuán)隊(duì)工作來說,用人得當(dāng)非常必要。要是你對發(fā)展中國家影響到程序員行為的地區(qū)約束缺乏了解,那你就必須把自己的最好水平準(zhǔn)備到位,當(dāng)然這來自于你培訓(xùn)或帶領(lǐng)過的各地軟件開發(fā)團(tuán)隊(duì)的經(jīng)驗(yàn)?! ?.2.1 本土化的程序員 在歐洲,制造業(yè)已經(jīng)移到了東歐;在美國,從北部移到了南部,甚至跨過國界移到了墨西哥。在亞洲,制造業(yè)在曾經(jīng)的農(nóng)村地區(qū)找到了其適應(yīng)的場所。制造業(yè)一直在這么做——那就是轉(zhuǎn)移到地價(jià)和勞動(dòng)力更便宜的地方,轉(zhuǎn)移到那些當(dāng)?shù)卣恍南胩峁┵Y助、打算新建的基礎(chǔ)設(shè)施上。同樣的道理,像制造業(yè)的進(jìn)發(fā)一樣,無數(shù)小型的當(dāng)?shù)剀浖_發(fā)團(tuán)隊(duì)也以同樣的方式出現(xiàn)了,他們或是用自己的團(tuán)隊(duì)或是將軟件項(xiàng)目轉(zhuǎn)包出去,從而對外提供系統(tǒng)解決方案?! ∵@些軟件開發(fā)團(tuán)隊(duì)往往會受到當(dāng)?shù)丨h(huán)境的約束。他們大多數(shù)是由當(dāng)?shù)厝私M成的,各自為了不同的目的,隊(duì)伍中也缺乏精英人才。在這種地區(qū)中,一個(gè)人如果想組建軟件開發(fā)團(tuán)隊(duì),除了在大型公司總部及頂級研究型大學(xué)之外,都一定要意識到在欠發(fā)達(dá)城鎮(zhèn)和發(fā)達(dá)城市中團(tuán)隊(duì)的業(yè)務(wù)水平和工作態(tài)度往往有著巨大的差別——即使這兩個(gè)地區(qū)的地理位置非常接近。而當(dāng)政府著力扶持某個(gè)城市或地區(qū)時(shí)(比如在中國),這個(gè)地區(qū)與其他地區(qū)之間的差異會更加迅速地持續(xù)擴(kuò)大。
編輯推薦
《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》以提高軟件質(zhì)量和效益為目的,針對敏捷開發(fā)實(shí)踐的靈活性,從一種易于接受的、創(chuàng)新的視角來看待軟件開發(fā) 當(dāng)敏捷開發(fā)在你的組織中運(yùn)行得并不像你所期望的那樣順利的時(shí)候,或是你在敏捷開發(fā)和嚴(yán)格開發(fā)方式之間猶豫不決的時(shí)候,往往就需要停下來思考軟件開發(fā)的韻律了! 敏捷軟件開發(fā)是一種十分流行的開發(fā)方式,這種開發(fā)方式一直在影響著人們對于敏捷實(shí)踐和傳統(tǒng)的嚴(yán)格開發(fā)方式之間的聯(lián)系的認(rèn)識。在《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》中,兩位作者LUI和CHAN向讀者闡述了,在敏捷實(shí)踐的基礎(chǔ)上,如何采用其中一種開發(fā)方式并使它與另一種開發(fā)方式相結(jié)合,以實(shí)現(xiàn)一種“協(xié)同作用”,這種協(xié)同作用也被作者定義為軟件開發(fā)的韻律。作者展示了這些開發(fā)旋律如何能夠互相協(xié)同,以實(shí)現(xiàn)一種合力作用,從而使它們在協(xié)同工作方式下所發(fā)揮的效用比單獨(dú)使用更加強(qiáng)大。《軟件開發(fā)之韻:和諧敏捷、珠聯(lián)璧合的開發(fā)》還使用比喻的方式向讀者展示了如何解決一些典型的軟件管理中的爭議性問題,并介紹了如何應(yīng)對在敏捷軟件管理中常見的一些困難。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載