本書(shū)面向敏捷實(shí)踐者學(xué)習(xí)敏捷知識(shí)和敏捷軟件開(kāi)發(fā)企業(yè)進(jìn)行敏捷轉(zhuǎn)型的需要,旨在幫助個(gè)人更快地掌握敏捷開(kāi)發(fā)知識(shí),幫助企業(yè)更好地實(shí)施敏捷轉(zhuǎn)型。主要內(nèi)容包括:敏捷開(kāi)發(fā)的哲學(xué)理念、價(jià)值觀、敏捷開(kāi)發(fā)方法框架和敏捷實(shí)踐,企業(yè)敏捷轉(zhuǎn)型參考框架,幫助企業(yè)回答為什么要進(jìn)行敏捷轉(zhuǎn)型,敏捷轉(zhuǎn)型包含哪些內(nèi)容和如何開(kāi)展敏捷轉(zhuǎn)型等問(wèn)題。
序言
提到敏捷,人們想到的不是大套理論,而是一個(gè)個(gè)簡(jiǎn)潔有效的成功實(shí)踐,可以說(shuō)實(shí)踐是敏捷的本質(zhì)之一。不僅要學(xué)習(xí)國(guó)際上成功的敏捷實(shí)踐,更要采集國(guó)內(nèi)企業(yè)成功案例,這是中國(guó)敏捷聯(lián)盟存在的重要價(jià)值,這也是來(lái)源于聯(lián)盟對(duì)國(guó)內(nèi)敏捷發(fā)展?fàn)顩r的判斷: 當(dāng)前正處于為什么做和怎么做敏捷實(shí)踐的過(guò)渡時(shí)期,問(wèn)為什么要敏捷和問(wèn)怎么做敏捷的人并存。
所幸,經(jīng)過(guò)近幾年敏捷運(yùn)動(dòng)發(fā)展,國(guó)內(nèi)一批應(yīng)用敏捷的先行企業(yè),已經(jīng)有了不少實(shí)踐經(jīng)驗(yàn),而且很多取得了明顯的成效。把這些實(shí)踐采集和編輯成冊(cè),將有助于回答很多疑問(wèn):
敏捷適用于哪些場(chǎng)景?敏捷能用于大型軟件的交付嗎?
敏捷有哪些主流實(shí)踐?
敏捷實(shí)施需要的文化、制度和人才基礎(chǔ)我們目前具備嗎?
有了CMMI和項(xiàng)目管理,還需要敏捷嗎?
實(shí)施敏捷真正有效果嗎?
在這個(gè)時(shí)候,我們推出“中國(guó)敏捷軟件開(kāi)發(fā)成功實(shí)踐案例集”,并以此為基礎(chǔ),提煉其中的共性方法,制定《敏捷軟件開(kāi)發(fā)知識(shí)體系》(ADBOK),無(wú)疑具有很大的積極意義。
成果的取得,離不開(kāi)團(tuán)隊(duì)的協(xié)作,我很高興向讀者介紹這個(gè)精英團(tuán)隊(duì): 工作組長(zhǎng)寧德軍(IBM Rational大中國(guó)區(qū)CTO)、工作組副組長(zhǎng)張忠(用友股份研發(fā)總經(jīng)理)、工作組副組長(zhǎng)李春林(東軟集團(tuán)過(guò)程改善中心副主任),還有二十多位很棒的成員(具體名單參見(jiàn)編委名單),項(xiàng)目進(jìn)行過(guò)程中,處處彰顯出大家對(duì)敏捷的摯愛(ài)、對(duì)專業(yè)的熱情、對(duì)行業(yè)工作的社會(huì)責(zé)任感,這些年輕的從業(yè)者所體現(xiàn)的精神,正是我們整個(gè)軟件行業(yè)生機(jī)勃勃、精彩紛呈的原因。
也許,這些工作還有這樣那樣的不足,但是畢竟我們已經(jīng)上路——不僅學(xué)習(xí)國(guó)際社區(qū),而且通過(guò)自身的實(shí)踐創(chuàng)新回饋國(guó)際社區(qū)。
我也借此機(jī)會(huì),代表協(xié)會(huì)真誠(chéng)歡迎各路精英參與到聯(lián)盟平臺(tái)上,共同精化和演進(jìn)這些成果,推動(dòng)中國(guó)敏捷軟件開(kāi)發(fā)運(yùn)動(dòng)快速前進(jìn),實(shí)現(xiàn)我們“以過(guò)程改進(jìn)之能,助企業(yè)發(fā)展之力”的共同目標(biāo)。
中國(guó)敏捷軟件開(kāi)發(fā)聯(lián)盟秘書(shū)長(zhǎng) 王鈞
2013年4月
編者序
6年前在上海舉辦的首屆世界游戲開(kāi)發(fā)者大會(huì)(GDC 2007),使我第一次真正領(lǐng)略到了敏捷開(kāi)發(fā)的魅力,數(shù)百個(gè)來(lái)自不同國(guó)家、講不同語(yǔ)言的開(kāi)發(fā)者圍繞著游戲開(kāi)發(fā)團(tuán)隊(duì)如何進(jìn)行敏捷開(kāi)發(fā)的主題展開(kāi)熱烈討論,幾場(chǎng)敏捷相關(guān)的演講也場(chǎng)場(chǎng)爆滿。通過(guò)那次的敏捷開(kāi)發(fā)洗禮,骨子里流淌著軟件工程思維的我開(kāi)始對(duì)敏捷開(kāi)發(fā)產(chǎn)生了濃厚的興趣,上網(wǎng)瀏覽各種敏捷知識(shí)、閱讀各種敏捷書(shū)籍,從XP、Scrum到OpenUP、精益開(kāi)發(fā),然而有一段時(shí)間我卻有些迷失了……,太多的敏捷流派,太多的敏捷實(shí)踐,我甚至不知道何為真正的敏捷!
后來(lái),帶著許多迷茫,我參加了敏捷教練的培訓(xùn)。從各種敏捷的基本知識(shí),到Scrum Master的高級(jí)進(jìn)階,再到各種敏捷轉(zhuǎn)型實(shí)戰(zhàn)分享,我完成了一次非常系統(tǒng)的敏捷修煉之旅。通過(guò)和老師還有其他敏捷教練的交流,自己似乎有了豁然開(kāi)朗的感覺(jué)!正是從那時(shí)起,我就有了編寫(xiě)敏捷開(kāi)發(fā)知識(shí)體系的沖動(dòng),因?yàn)槲抑啦⒉皇撬械娜硕枷裎乙粯有疫\(yùn),有如此系統(tǒng)的培訓(xùn)機(jī)會(huì); 我還知道會(huì)有越來(lái)越多的人步入敏捷的殿堂努力學(xué)習(xí)和感悟著敏捷。此外,我大部分時(shí)間的工作,就是幫助大型軟件開(kāi)發(fā)團(tuán)隊(duì)提高軟件交付效率和質(zhì)量。談到敏捷,我被企業(yè)開(kāi)發(fā)管理者們問(wèn)得最多的兩個(gè)問(wèn)題就是我們的團(tuán)隊(duì)適合敏捷嗎?敏捷轉(zhuǎn)型需要哪些準(zhǔn)備?
作為軟件工程和敏捷開(kāi)發(fā)的愛(ài)好者,我們能夠做的和應(yīng)該做的,不正是聯(lián)合敏捷領(lǐng)域的愛(ài)好者和志愿者,盡快推出中國(guó)的敏捷開(kāi)發(fā)知識(shí)體系,以便幫助更多的朋友能夠更快掌握敏捷開(kāi)發(fā)知識(shí),完成敏捷開(kāi)發(fā)的學(xué)習(xí)和思考過(guò)程; 幫助企業(yè)能夠更好地實(shí)施敏捷轉(zhuǎn)型,并從敏捷轉(zhuǎn)型中不斷獲取價(jià)值。
因此本書(shū)的主要內(nèi)容包括以下兩個(gè)部分:
。1) 敏捷開(kāi)發(fā)知識(shí)體系,包括敏捷開(kāi)發(fā)的哲學(xué)理念、價(jià)值觀、一系列敏捷開(kāi)發(fā)方法框架和敏捷實(shí)踐,目標(biāo)是幫助喜歡敏捷的軟件從業(yè)人員,更快地全面掌握敏捷開(kāi)發(fā)相關(guān)知識(shí)。
。2) 企業(yè)敏捷轉(zhuǎn)型參考框架,主要幫助企業(yè)回答為什么要進(jìn)行敏捷轉(zhuǎn)型,敏捷轉(zhuǎn)型包含哪些內(nèi)容和如何開(kāi)展敏捷轉(zhuǎn)型等問(wèn)題,目標(biāo)是幫助企業(yè)更快、更好地實(shí)施敏捷轉(zhuǎn)型。
本書(shū)的主要目的,就是為了滿足愛(ài)好敏捷開(kāi)發(fā)的個(gè)人學(xué)習(xí)敏捷知識(shí)的要求,滿足企業(yè)進(jìn)行敏捷轉(zhuǎn)型的需要,從而幫助個(gè)體更快地掌握敏捷開(kāi)發(fā)知識(shí),幫助企業(yè)更好實(shí)施敏捷轉(zhuǎn)型。今天的成績(jī),只是一個(gè)起點(diǎn),真心希望有越來(lái)越多的朋友加入到我們的行列,不斷完善敏捷開(kāi)發(fā)知識(shí)體系,不斷提出您的建議和反饋,分享您的理解和思考!路漫漫其修遠(yuǎn)兮,吾將上下而求索,人生有涯,智慧無(wú)限!
在此,我要感謝所有為本書(shū)播灑汗水的朋友: 李春林、張忠、張克強(qiáng)、錢嶺、廖靖斌、龍廣宇、高航、邢雷、束文輝、袁斌、葉臻、董恒、龐建榮、姚冬、許舟平、許江渝、李曉煒、王慶付、吳文龍、王立杰、陳志波、劉德意、劉曙光、黃方、張傳波、黃曉倩、趙靜、廖鈺、輕眉、劉嘉、劉江、程秋雯、黃群、管業(yè)筠和楊帆。
感謝周伯生教授、劉琴教授、陳忠教授、何新貴教授、楊芙清教授、居德華教授和孫昕、盧旭東、許娓、王亞沙等行業(yè)知名專家對(duì)本書(shū)提出的寶貴意見(jiàn)。
2013年5月
第1章 敏捷開(kāi)發(fā)知識(shí)體系總體框架
1.1敏捷開(kāi)發(fā)知識(shí)體系的核心
1.2敏捷開(kāi)發(fā)方法框架
1.3敏捷開(kāi)發(fā)管理實(shí)踐
1.4敏捷開(kāi)發(fā)工程實(shí)踐
第2章 敏捷開(kāi)發(fā)核心價(jià)值觀和原則
2.1敏捷軟件開(kāi)發(fā)宣言
2.2敏捷開(kāi)發(fā)的核心價(jià)值觀
2.3敏捷開(kāi)發(fā)的原則
2.3.1敏捷開(kāi)發(fā)的目標(biāo)
2.3.2敏捷開(kāi)發(fā)原則的應(yīng)用
第3章 敏捷開(kāi)發(fā)方法框架
3.1敏捷開(kāi)發(fā)方法框架之Scrum
3.1.1定義和特性說(shuō)明
3.1.2主要角色
3.1.3主要活動(dòng)和實(shí)踐
3.1.4主要工件
3.1.5工作流程
3.2敏捷開(kāi)發(fā)方法框架之極限編程(XP)
3.2.1定義和特性說(shuō)明
3.2.2主要角色
3.2.3主要活動(dòng)和實(shí)踐
3.2.4主要工件
3.2.5工作流程
3.2.6誰(shuí)適合使用極限編程
3.3敏捷開(kāi)發(fā)方法框架之OpenUP
3.3.1定義和特性說(shuō)明
3.3.2主要角色
3.3.3主要活動(dòng)和實(shí)踐
3.3.4主要工件
3.3.5工作流程
3.3.6誰(shuí)適合使用OpenUP
3.4敏捷開(kāi)發(fā)方法框架之精益開(kāi)發(fā)
3.4.1定義和特性說(shuō)明
3.4.2主要角色
3.4.3主要活動(dòng)和實(shí)踐
3.4.4工作流程
3.4.5誰(shuí)更適合使用敏捷與精益相結(jié)合的方法
3.5敏捷開(kāi)發(fā)方法框架之特征驅(qū)動(dòng)開(kāi)發(fā)
3.5.1定義和特性說(shuō)明
3.5.2主要角色
3.5.3主要活動(dòng)和實(shí)踐
3.5.4主要工件
3.5.5工作流程
3.5.6誰(shuí)適合使用特征驅(qū)動(dòng)開(kāi)發(fā)
3.6敏捷開(kāi)發(fā)方法框架之水晶方法
3.6.1主要角色
3.6.2主要活動(dòng)和實(shí)踐
3.6.3主要工件
3.6.4主要流程
3.6.5誰(shuí)適合使用透明水晶方法
第4章 敏捷開(kāi)發(fā)之管理實(shí)踐
4.1迭代式開(kāi)發(fā)
4.1.1定義和特性說(shuō)明
4.1.2應(yīng)用說(shuō)明
4.1.3案例說(shuō)明
4.2多級(jí)項(xiàng)目規(guī)劃
4.2.1定義和特性說(shuō)明
4.2.2應(yīng)用說(shuō)明
4.2.3案例說(shuō)明
4.3完整團(tuán)隊(duì)
4.3.1定義和特性說(shuō)明
4.3.2應(yīng)用說(shuō)明
4.3.3案例說(shuō)明
4.4確定沖刺計(jì)劃
4.4.1定義和特性說(shuō)明
4.4.2應(yīng)用說(shuō)明
4.4.3案例說(shuō)明
4.5燃盡圖
4.5.1定義和特性說(shuō)明
4.5.2應(yīng)用說(shuō)明
4.5.3案例說(shuō)明
4.6每日站立會(huì)議
4.6.1定義和特性說(shuō)明
4.6.2應(yīng)用說(shuō)明
4.6.3案例說(shuō)明
4.7任務(wù)板
4.7.1定義和特性說(shuō)明
4.7.2應(yīng)用說(shuō)明
4.7.3案例說(shuō)明
4.8故事點(diǎn)估算
4.8.1定義和特性說(shuō)明
4.8.2應(yīng)用說(shuō)明
4.8.3案例說(shuō)明
4.9應(yīng)用生命周期管理概述
4.9.1定義與特性說(shuō)明
4.9.2應(yīng)用說(shuō)明
4.9.3案例說(shuō)明
4.10獨(dú)立的敏捷服務(wù)團(tuán)隊(duì)
4.10.1定義和特性說(shuō)明
4.10.2應(yīng)用說(shuō)明
第5章 敏捷開(kāi)發(fā)之工程實(shí)踐
5.1持續(xù)集成
5.1.1定義和特性說(shuō)明
5.1.2應(yīng)用說(shuō)明
5.1.3案例說(shuō)明
5.2驗(yàn)收測(cè)試驅(qū)動(dòng)開(kāi)發(fā)
5.2.1定義和特性說(shuō)明
5.2.2應(yīng)用說(shuō)明
5.2.3案例說(shuō)明
5.3結(jié)對(duì)編程
5.3.1定義和特性說(shuō)明
5.3.2應(yīng)用說(shuō)明
5.3.3案例說(shuō)明
5.4產(chǎn)品待辦列表
5.4.1定義和特性說(shuō)明
5.4.2應(yīng)用說(shuō)明
5.4.3案例說(shuō)明
5.5用戶故事
5.5.1定義和特性說(shuō)明
5.5.2應(yīng)用說(shuō)明
5.5.3案例說(shuō)明
5.6TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))
5.6.1定義和特性說(shuō)明
5.6.2應(yīng)用說(shuō)明
5.6.3案例說(shuō)明
5.7單元測(cè)試
5.7.1定義和特性說(shuō)明
5.7.2應(yīng)用說(shuō)明
5.8演進(jìn)式架構(gòu)
5.8.1定義和特性說(shuō)明
5.8.2應(yīng)用說(shuō)明
5.8.3案例說(shuō)明
5.9重構(gòu)
5.9.1定義和特性說(shuō)明
5.9.2重構(gòu)的原則
5.9.3案例說(shuō)明
第6章 企業(yè)敏捷轉(zhuǎn)型參考框架
6.1企業(yè)敏捷轉(zhuǎn)型參考框架總體介紹
6.2為什么采用敏捷方法
6.2.1敏捷思維
6.2.2企業(yè)敏捷轉(zhuǎn)型主要收益說(shuō)明
6.3基于現(xiàn)狀選擇敏捷方法和實(shí)踐
6.3.1現(xiàn)狀分析
6.3.2選擇敏捷方法和實(shí)踐
6.4如何實(shí)施敏捷轉(zhuǎn)型
6.4.1統(tǒng)一認(rèn)識(shí)
6.4.2明確敏捷轉(zhuǎn)型模式
6.4.3選擇敏捷工具
6.4.4改進(jìn)組織和研發(fā)流程
附錄A國(guó)外敏捷轉(zhuǎn)型實(shí)踐參考
附錄B敏捷開(kāi)發(fā)術(shù)語(yǔ)表
附錄CSPI China服務(wù)介紹
附錄D中國(guó)敏捷軟件開(kāi)發(fā)聯(lián)盟
參考文獻(xiàn)