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