本書是軟件開發(fā)界的傳奇人物羅伯特·C. 馬丁(“鮑勃大叔”)對敏捷發(fā)展歷程的回顧,對敏捷最初用意的重述,對敏捷價值觀和原則的傳達(dá)。本書首先概述敏捷的歷史、敏捷的全貌;然后說明敏捷出現(xiàn)的緣由;接著講解敏捷的業(yè)務(wù)實踐、團(tuán)隊實踐和技術(shù)實踐,介紹成就敏捷的因素,還談到敏捷轉(zhuǎn)型中常見的問題與困難;最后提出軟件匠藝?yán)砟睢?
本書適合開發(fā)人員、測試人員、管理人員、項目經(jīng)理、業(yè)務(wù)人員等軟件行業(yè)從業(yè)者閱讀。
1.回顧敏捷的歷史,重述敏捷最初的用意,闡述敏捷的本質(zhì);
2.澄清長久以來人們對敏捷的誤解與混淆,讓敏捷回歸正途;
3.正本清源,為軟件行業(yè)從業(yè)者講述敏捷的價值觀與原則;
4.敏捷宣言提出20年后敏捷開發(fā)人員面臨的關(guān)鍵問題的實用答案。
《敏捷宣言》簽署近20年后,軟件開發(fā)界的傳奇人物羅伯特·C. 馬。ā磅U勃大叔”)重出江湖,為新一代軟件行業(yè)從業(yè)者——不論是程序員還是非程序員——講述敏捷的價值觀與原則。馬丁著有《代碼整潔之道》等極-具影響力的軟件開發(fā)指導(dǎo)性著作,也是敏捷最初的奠基人之一。如今,在本書中,他澄清了長久以來人們對敏捷的誤解與混淆,重述敏捷最初的用意。
馬丁明確地闡述了敏捷的本質(zhì):敏捷雖然是一種幫助小團(tuán)隊運(yùn)作小項目的小方法,但它對整個IT 行業(yè)有著巨大的影響,因為任何大項目都是由若干小項目組成的。他將自己50年的從業(yè)經(jīng)驗融入平實的文字,展示了敏捷如何幫助軟件行業(yè)從業(yè)者達(dá)到真正的專業(yè)水準(zhǔn)。
書中的具體內(nèi)容包括:
● 回歸本源——敏捷從哪里來,現(xiàn)狀如何,應(yīng)該堅守的底線是什么;
● 理解Scrum 的來源和正確用法;
● 掌握敏捷業(yè)務(wù)實踐的精髓,從小步發(fā)布、驗收測試,到完整團(tuán)隊的溝通;
● 探尋敏捷團(tuán)隊中人與人之間、人與產(chǎn)品之間的關(guān)系;
● 重拾不可或缺的敏捷技術(shù)實踐,包括測試驅(qū)動開發(fā)、重構(gòu)、簡單設(shè)計、結(jié)對編程;
● 理解敏捷價值觀與匠藝精神在敏捷團(tuán)隊中的重要意義。
如果想從敏捷中獲益,沒有捷徑可走:必須把敏捷用對。不管你是開發(fā)人員、測試人員、管理人員、項目經(jīng)理還是客戶,本書都會告訴你如何把敏捷用對。
作者介紹
羅伯特·C. 馬。≧obert C. Martin)***軟件開發(fā)大師,設(shè)計模式和敏捷開發(fā)先驅(qū),敏捷聯(lián)盟首任主席,C++ Report雜志前主編。他從20世紀(jì)70年代起就是一名程序員,被后輩程序員尊稱為“鮑勃大叔”(Uncle Bob)。
他是Clean Coders網(wǎng)站的創(chuàng)始人,這個網(wǎng)站為軟件開發(fā)者提供在線視頻培訓(xùn)。他也是“鮑勃大叔咨詢公司”(Uncle Bob Consulting LLC)的創(chuàng)始人,這家公司為世界各地的大企業(yè)提供軟件咨詢、培訓(xùn)和技能發(fā)展服務(wù)。他的著作有《代碼整潔之道》《代碼整潔之道:程序員的職業(yè)素養(yǎng)》《敏捷整潔之道:回歸本源》《架構(gòu)整潔之道》《敏捷軟件開發(fā):原則、模式與實踐》等。
譯者簡介
申健 優(yōu)普豐全球合伙人,首席敏捷教練,國際Scrum聯(lián)盟CST認(rèn)證培訓(xùn)師,全球首位CTC認(rèn)證敏捷教練及評審委員會成員,極限編程愛好者。在跨國企業(yè)從事10多年研發(fā)和管理工作,涉及電信、金融、互聯(lián)網(wǎng)等領(lǐng)域。2007年開始實戰(zhàn)敏捷開發(fā),對結(jié)合教練技術(shù)等軟技能來幫助組織提升領(lǐng)導(dǎo)力和導(dǎo)入工程實踐,從而提升產(chǎn)品開發(fā)的效果與質(zhì)量很感興趣。常年擔(dān)任全國敏捷社區(qū)組織者、評委和嘉賓。培訓(xùn)和咨詢輔導(dǎo)過的客戶達(dá)數(shù)百家。
何強(qiáng) 有10多年大型外企一線研發(fā)與管理經(jīng)驗。進(jìn)階CSM認(rèn)證者和PMP,2011年開始帶領(lǐng)團(tuán)隊進(jìn)行敏捷軟件開發(fā),并推動組織級敏捷轉(zhuǎn)型。在公司內(nèi)部進(jìn)行敏捷文化推廣、敏捷開發(fā)流程的制定以及工程實踐工具鏈落地等工作。后逐步擔(dān)任企業(yè)敏捷教練,推動跨國多團(tuán)隊規(guī)模化敏捷實施與優(yōu)化。有多年培訓(xùn)以及對Scrum關(guān)鍵角色輔導(dǎo)與團(tuán)隊轉(zhuǎn)型輔導(dǎo)經(jīng)驗。擅長對不同團(tuán)隊敏捷實施方案的定制與實施、組織內(nèi)敏捷文化推廣、團(tuán)隊從0到1的敏捷轉(zhuǎn)型輔導(dǎo)、敏捷開發(fā)工具鏈的組織與調(diào)優(yōu)等。
羅濤 Scrum@Scale認(rèn)證實踐者,曾任用友集團(tuán)開發(fā)管理部總經(jīng)理,特聘講師,集團(tuán)內(nèi)多條產(chǎn)品線的敏捷教練/教頭,培訓(xùn)師,咨詢師,應(yīng)用架構(gòu)設(shè)計專家。同時作為創(chuàng)新的推進(jìn)者和實踐者,擁有5項國家發(fā)明專利,并在集團(tuán)內(nèi)部負(fù)責(zé)培訓(xùn)、評審和推進(jìn)專利,以及相關(guān)的創(chuàng)新工作。除了主流的催化技術(shù),還擅長使用游戲?qū)W習(xí)、情景戲劇學(xué)習(xí)等方式進(jìn)行引導(dǎo)。
審校者簡介
熊節(jié) 中國IT業(yè)界意見領(lǐng)袖、敏捷先行者。從2001年開始將敏捷思想引入中國,引領(lǐng)了中國敏捷浪潮。曾指導(dǎo)多家知名企業(yè)導(dǎo)入敏捷方法,對這些企業(yè)產(chǎn)生了深遠(yuǎn)的影響。曾在各類專業(yè)媒體發(fā)表數(shù)十篇文章,并主持翻譯了《重構(gòu):改善既有代碼的設(shè)計》《軟件工匠》《實現(xiàn)模式》《卓有成效的程序員》等敏捷領(lǐng)域的重要著作,其中《重構(gòu):改善既有代碼的設(shè)計》被譽(yù)為“軟件業(yè)三大必讀經(jīng)典”之一。他的新作《敏捷中國史話》是第一部系統(tǒng)記錄敏捷在中國發(fā)展歷程的著作。
韓磊 互聯(lián)網(wǎng)產(chǎn)品與社區(qū)運(yùn)營專家,技術(shù)書籍著譯者。曾任CSDN副總經(jīng)理、《程序員》總編輯、廣東二十一世紀(jì)傳媒股份有限公司新媒體事業(yè)部總經(jīng)理等職,F(xiàn)任AR初創(chuàng)企業(yè)亮風(fēng)臺廣州公司總經(jīng)理。譯有《代碼整潔之道》《夢斷代碼》《C#編程風(fēng)格》等書。此外還與劉韌合著《網(wǎng)絡(luò)媒體教程》,與戴飛合譯《Beginning C# Objects中文版:概念到代碼》。
目 錄
第 1章 介紹敏捷 1
1.1 敏捷的歷史 3
1.2 雪鳥會議 10
1.3 敏捷全貌 14
1.3.1 鐵十字 15
1.3.2 墻上的圖 15
1.3.3 你知道的第 一件事 18
1.3.4 會議 18
1.3.5 分析階段 19
1.3.6 設(shè)計階段 20
1.3.7 實施階段 21
1.3.8 死亡行軍階段 22
1.3.9 夸張嗎 23
1.3.10 更好的方式 23
1.3.11 迭代0 24
1.3.12 敏捷產(chǎn)出數(shù)據(jù) 25
1.3.13 幻想與管理 27
1.3.14 管理鐵十字 27
1.3.15 業(yè)務(wù)價值排序 31
1.3.16 全貌至此結(jié)束 31
1.4 生命之環(huán) 31
1.5 結(jié)論 35
第 2章 敏捷的理由 37
2.1 專業(yè)性 38
2.1.1 到處是軟件 39
2.1.2 程序員統(tǒng)治世界 41
2.1.3 災(zāi)難 42
2.2 合理的期望 43
2.2.1 我們不會交付一堆垃圾! 43
2.2.2 從技術(shù)上隨時做好交付準(zhǔn)備 45
2.2.3 穩(wěn)定的生產(chǎn)率 46
2.2.4 劃算的適應(yīng)性 49
2.2.5 持續(xù)改進(jìn) 50
2.2.6 無畏之力 50
2.2.7 QA應(yīng)該什么也找不到 52
2.2.8 測試自動化 52
2.2.9 我們互相掩護(hù) 54
2.2.10 誠實的估算 54
2.2.11 你需要說“不” 55
2.2.12 持續(xù)主動地學(xué)習(xí) 55
2.2.13 指導(dǎo) 56
2.3 權(quán)利條款 56
2.3.1 客戶權(quán)利條款 56
2.3.2 開發(fā)人員權(quán)利條款 57
2.3.3 客戶權(quán)利詳討 57
2.3.4 開發(fā)人員權(quán)利詳討 59
2.4 結(jié)論 61
第3章 業(yè)務(wù)實踐 63
3.1 計劃游戲 64
3.1.1 三元分析 65
3.1.2 故事和點(diǎn)數(shù) 66
3.1.3 ATM的故事 67
3.1.4 故事 74
3.1.5 故事估算 76
3.1.6 對迭代進(jìn)行管理 78
3.1.7 演示 80
3.1.8 速率 81
3.2 小步發(fā)布 82
3.2.1 源代碼控制簡史 83
3.2.2 磁帶 85
3.2.3 磁盤和源代碼控制系統(tǒng) 85
3.2.4 Subversion 86
3.2.5 Git與測試 87
3.3 驗收測試 88
3.3.1 工具和方法論 89
3.3.2 行為驅(qū)動開發(fā) 90
3.3.3 實踐 90
3.4 完整團(tuán)隊 93
3.5 結(jié)論 96
第4章 團(tuán)隊實踐 97
4.1 隱喻 98
4.2 可持續(xù)節(jié)奏 100
4.2.1 加班 102
4.2.2 馬拉松 103
4.2.3 奉獻(xiàn)精神 103
4.2.4 睡眠 104
4.3 代碼集體所有 104
4.4 持續(xù)集成 107
4.4.1 然后有了持續(xù)構(gòu)建 108
4.4.2 持續(xù)構(gòu)建的紀(jì)律 109
4.5 站會 110
4.5.1 豬和雞? 111
4.5.2 公開表示認(rèn)可 111
4.6 結(jié)論 111
第5章 技術(shù)實踐 113
5.1 測試驅(qū)動開發(fā) 114
5.1.1 復(fù)式記賬 114
5.1.2 TDD三規(guī)則 116
5.1.3 調(diào)試 117
5.1.4 文檔 117
5.1.5 樂趣 118
5.1.6 完備性 119
5.1.7 設(shè)計 121
5.1.8 勇氣 121
5.2 重構(gòu) 123
5.2.1 紅-綠-重構(gòu) 124
5.2.2 大型重構(gòu) 125
5.3 簡單設(shè)計 125
5.4 結(jié)對編程 127
5.4.1 什么是結(jié)對 128
5.4.2 為什么結(jié)對 129
5.4.3 結(jié)對當(dāng)作代碼評審 129
5.4.4 代價幾何 130
5.4.5 只能兩人嗎 130
5.4.6 管理 130
5.5 結(jié)論 131
第6章 成就敏捷 133
6.1 敏捷的價值觀 134
6.1.1 勇氣 134
6.1.2 溝通 134
6.1.3 反饋 135
6.1.4 簡單 135
6.2 怪物博物館 136
6.3 轉(zhuǎn)型 137
6.3.1 ;ㄕ小138
6.3.2 幼獅 138
6.3.3 哭泣 139
6.3.4 寓意 139
6.3.5 假裝 139
6.3.6 在更小的組織中成功 140
6.3.7 個人成功和遷移 141
6.3.8 創(chuàng)建敏捷組織 141
6.4 教練輔導(dǎo) 142
6.5 認(rèn)證 143
6.6 大型組織中的敏捷 144
6.7 敏捷工具 148
6.7.1 軟件工具 148
6.7.2 什么才是有效的工具 149
6.7.3 物理的敏捷工具 151
6.7.4 自動化的壓力 152
6.7.5 有錢人用的ALM類工具 153
6.8 教練——另一個視角 155
6.8.1 條條大路通敏捷 155
6.8.2 從過程專家到敏捷專家 156
6.8.3 對敏捷教練的需求 157
6.8.4 將教練技術(shù)帶給敏捷教練 158
6.8.5 超越ICP-ACC 158
6.8.6 教練工具 159
6.8.7 只有專業(yè)教練技巧是不夠的 159
6.8.8 在多團(tuán)隊環(huán)境中進(jìn)行敏捷教練的工作 160
6.8.9 大型組織中的敏捷 161
6.8.10 使用敏捷和教練技術(shù) 來變得敏捷 161
6.8.11 敏捷導(dǎo)入的成長 162
6.8.12 細(xì)處著手成大事 164
6.8.13 敏捷教練的未來 165
6.9 結(jié)論(鮑勃大叔回來了) 165
第7章 匠藝 167
7.1 敏捷的宿醉 169
7.2 不孚所望 170
7.3 漸行漸遠(yuǎn) 172
7.4 軟件匠藝 173
7.5 思想體系與方法論 174
7.6 軟件匠藝包含實踐嗎 175
7.7 聚焦于價值而非實踐 176
7.8 對實踐的討論 177
7.9 匠藝對個人的影響 178
7.10 匠藝對行業(yè)的影響 179
7.11 匠藝對公司的影響 180
7.12 匠藝與敏捷 181
7.13 結(jié)論 182
第8章 結(jié)論 183
跋 185
索引 191