作 者:叢斌 著
定 價:79
出 版 社:人民郵電出版社
出版日期:2017年10月01日
頁 數:266
裝 幀:簡裝
ISBN:9787115465566
無論是從大的框架角度、開發管理原則角度、具體實踐角度,還是企業實施效果角度,敏捷和精益在軟件實踐中都已經形成了一套相對完整、具備指導意義、具備繫統性的新一代軟件開發方法。真正的敏捷和精益方法會時刻把握住軟件開發中核心的經濟指標,避免盲目追求可能沒有價值的替代度量指標,這是走出“形似神不似”的敏捷和精益實施誤區的關鍵。通過技術債務和質量債務的管理,追求健康迭代而不是帶病迭代,敏捷和精益給我們帶來了新的質量理念。近年業界的經驗證明,CMMI是敏捷開發的安所有渠道,二者高度互補。CMMI環境下的等
●目錄第一部分 神形兼備的敏捷開發模式第1章 從“先知後行”到“知行合一”——從傳統開發模式到敏捷開發模式 21.1 重新審視項目成功的標準 31.1.1 傳統的三要素不一定能客觀度量項目的成功與否 31.1.2 新的項目管理鐵三角 51.1.3 敏捷讓我們實現價值驅動管理 81.2 重新審視瀑布模式為代表的傳統開發方法 91.2.1 來自制造業的接力式開發模式 91.2.2 瀑布開發模式的不合理之處 111.3 復雜軟件項目的共性:需求的不確定及技術的不確定 111.3.1 客戶對自己真正需要的產品需要一個認識的過程 121.3.2 實現每個客戶需求都有代價,但不是每個需求都有價值 131.3.3 技術平臺的不確定性 141.3.4 團隊一開始不了解自己的效率 151.3.5 傳統方法不能高效解決這些不確定性帶來的問題 151.4 從“先知後行”到“知行合一” 161.4.1 知行合一是自然的結論 161.4.2 敏捷就是在開發中學習、成長、調整和完善 181.4.3 敏捷是實現價值驅動管理的好方法 19兩個團隊的故事 20第2章 敏捷開發方法——摸著石頭過河的智慧 242.1 經常被錯誤解讀的敏捷宣言及敏捷原則 252.1.1 敏捷宣言是價值宣言 252.1.2 敏捷的12原則背後的故事 262.2 敏捷開發架構與Scrum:調整中增量開發 312.2.1 敏捷開發架構 312.2.2 用一分鐘來解釋一下Scrum以及Scrum中的3個角色、3個文檔和5個會議 342.2.3 敏捷框架下看Scrum 382.2.4 Scrum和極限編程的結合使用 382.3 Scrum是一個實現敏捷價值及原則的開發管理架構 392.3.1 Scrum讓敏捷價值的實現變得自然 392.3.2 Scrum是敏捷原則的具體體現 40一個團隊的兩個故事 40第3章 形神兼具——實現敏捷的核心價值 433.1 形似神不似的Scrum實施 443.1.1 Scrum不能保證解決問題,但能保證暴露問題 443.1.2 沒有本地化的適配,敏捷過程很難落地生根 453.1.3 不要因為錯誤的原因引入Scrum,要明確引入敏捷的目的 453.2 使用Scrum的藝術 463.2.1 Scrum中的自我管理及實現方式 463.2.2 管理者從監控型到服務型的轉變 483.2.3 追求問題的解決而不是很好解決方案 493.2.4 對工程人員能力提升及自律的要求 503.2.5 Scrum實踐的互補,完整的Scrum纔最有價值 513.3 極限編程是Scrum優選的伙伴 543.3.1 技術債務:Scrum的殺手 553.3.2 極限編程的4個核心價值 553.3.3 極限編程的原則 573.3.4 極限編程的4個核心工程活動 583.3.5 極限編程的12條實踐 593.3.6 極限編程+Scrum:1+1>2 603.4 引入Scrum等敏捷方法是一場需要勇氣的變革 613.4.1 精益組織與敏捷團隊 623.4.2 管理者的勇氣:做有遠見的智慧型領導者 633.4.3 工程人員的勇氣:合奏與獨奏 653.4.4 過程改進人員的勇氣:找到你的定位 653.5 變革之路:從瀑布模式到敏捷模式的轉化 663.5.1 瀑布模式到敏捷模式中人和組織的轉化 663.5.2 瀑布模式到敏捷模式中企業文化及習慣的轉化 673.5.3 瀑布模式到敏捷模式的轉化過程 68兩個團隊的故事 69第二部分 建立以Scrum為框架的軟件開發管理體繫第4章 布好自己的局——確定Scrum中的角色、文檔和活動 764.1 敏捷轉型的布局規劃 764.2 建立自己的敏捷過程 764.2.1 建立一個端到端的敏捷過程 774.2.2 進入Scrum迭代的準備過程 794.2.3 敏捷迭代過程及驗證過程 804.2.4 敏捷的改進過程 824.2.5 選擇敏捷實踐 824.3 確定Scrum的角色 844.3.1 豬和雞合作創業的對話 854.3.2 選擇Scrum產品經理 854.3.3 選擇Scrum過程經理 884.3.4 選擇Scrum團隊成員 904.3.5 架構師在Scrum團隊中的定位 914.3.6 Scrum of Scrum (大敏捷項目的管理)的安排 924.3.7 Scrum中的共享團隊資源 954.4 敏捷過程對文檔的要求 954.4.1 文檔的價值及應用 954.4.2 敏捷文檔制作指南 964.4.3 敏捷過程的需求文檔 974.4.4 敏捷環境下的工程文檔 994.4.5 必要的維護文檔 994.4.6 敏捷(Scrum)的管理文檔 1004.5 建立一個成熟的Scrum過程 1004.5.1 什麼是成熟的敏捷過程 1014.5.2 保證敏捷過程的執行力 1014.5.3 保證敏捷過程的改進力 1024.6 敏捷工具 102兩個敏捷角色的故事 103第5章 迭代管理亦有道——執行Scrum項目管理 1065.1 應對變化的敏捷計劃:波浪式的版本規劃 1065.1.1 掌握你的團隊速率 1075.1.2 允許項目需求範圍有一定的靈活性 1095.1.3 遵循“最小有市場價值”原則制訂產品版本計劃 1115.1.4 制訂第一個版本計劃 1125.2 Scrum迭代中的管理:頻繁反饋,及時調整 1145.2.1 細化版本需求列表中的用戶故事:準備好下一輪迭代的工作 1145.2.2 計劃下一輪迭代 1165.2.3 開好每日站立會議 1175.2.4 展示團隊的迭代成果:開好迭代評審會議 1195.2.5 不斷完善Scrum過程:開好迭代回顧會議 1205.3 建立、維護你的敏捷島 1225.3.1 迭代任務狀態板塊 1225.3.2 其他信息板塊 1255.3.3 白板是有效的溝通方式 1285.4 Scrum中的風險管理 1295.4.1 軟件項目的5大風險來源 1295.4.2 把握你的進度風險 1305.4.3 把握好需求使之自然完善而不是遍地蔓生 1315.4.4 建立一個T字型能力團隊緩解團隊不穩定風險 1325.4.5 建立維護好產品規格 1325.4.6 克服低效率風險的幾個法寶 133兩個團隊的故事 134第6章 把握好敏捷的度——敏捷工程及質量控制實踐 1396.1 再議技術債務 1396.1.1 技術債務的來源 1406.1.2 管理技術債務 1406.1.3 減少技術債務的實踐 1426.1.4 減少技術債務的具體步驟 1436.1.5 技術債務的度量 1446.2 敏捷中的需求開發及管理 1456.2.1 敏捷四級產品計劃 1466.2.2 用戶類型的識別過程 1466.2.3 建立維護典型用戶檔案 1486.2.4 從用例到用戶故事 1486.2.5 貫穿整個開發過程中的需求澄清:串講及反串講 1496.3 敏捷中的設計和開發 1506.3.1 簡明設計原則 1516.3.2 設計決策的時機 1536.3.3 再議程序開發中的代碼重構 1546.3.4 敏捷中的評審 1566.4 敏捷中的測試 1576.4.1 測試驅動開發的價值及方法 1586.4.2 持續集成:提高開發效率的重要保證 1586.4.3 敏捷測試策略及方法 1606.4.4 讓發現的缺陷的價值優選化 1626.5 健康迭代比速度更重要 163兩個團隊的故事 165第三部分 CMMI框架下的敏捷實施第7章 盲人摸像——關於敏捷和CMMI的錯誤偏見 1707.1 來自兩個陣營的偏見 1707.2 CMMI的核心和價值 1727.3 CMMI+敏捷:解決軟件開發問題之匙 1757.4 來自敏捷宣言起草者及CMMI作者的近期新聲音 178敏捷和CMMI的故事 180第8章 建立敏捷的保護網——CMMI架構下的敏捷實施 1878.1 從使用角度看CMMI 1878.1.1 一個產品開發很好實踐的集合 1878.1.2 CMMI的4條主線 1888.1.3 正確解讀CMMI評估 1908.1.4 CMMI對工作產品(文檔)的要求 1918.2 完善Scrum實現CMMI項目管理的要求 1928.2.1 需求管理和“Scrum+極限編程” 1938.2.2 項目計劃和“Scrum+極限編程” 1948.2.3 項目監督與控制和“Scrum+極限編程” 1958.2.4 供方協議管理和“Scrum+極限編程” 1968.2.5 集成項目管理和“Scrum+極限編程” 1978.2.6 風險管理和“Scrum+極限編程” 1988.3 用敏捷實踐實現CMMI工程活動的要求 1998.3.1 需求開發和“Scrum+極限編程” 1998.3.2 技術解決方案和“Scrum+極限編程” 2018.3.3 產品集成和“Scrum+極限編程” 2028.3.4 驗證和“Scrum+極限編程” 2038.3.5 確認和“Scrum+極限編程” 2058.4 用敏捷手段實現CMMI支持活動的要求 2068.4.1 敏捷環境下的過程與產品質量保證 2068.4.2 敏捷環境下的配置管理 2108.4.3 敏捷環境下的度量與分析 2128.4.4 敏捷環境下的決策分析與解決 2148.5 敏捷環境下實現CMMI過程管理的要求 2158.5.1 敏捷環境下的組織級過程關注 2158.5.2 敏捷環境下的組織級過程定義 2178.5.3 Scrum環境下的組織級培訓 2188.6 敏捷環境下實現CMMI高成熟度的要求 2198.6.1 敏捷下的量化管理:QPPO、基線及模型(OPP和QPM) 2198.6.2 敏捷環境下過程優化管理:CAR和OPM 2218.7 敏捷環境下的CMMI評估應關注的兩個問題 2248.7.1 實施選擇還是模型要求 2248.7.2 理解模型的目的 225敏捷環境下的兩個CMMI實施和評估故事 226第四部分 新一代精益軟件工程第9章 敏捷不是解決軟件開發問題的銀彈 2329.1 再議軟件過程的特殊性 2339.1.1 軟件過程公理 2339.1.2 軟件過程體繫應追求的價值 2359.2 敏捷的局限及挑戰 2369.2.1 如何盡早獲取有價值的用戶反饋 2369.2.2 如何設計軟件架構支持快速迭代開發 2379.2.3 缺乏具體有效方法實現敏捷原則 2389.2.4 忽略了開發中的等待隊列 2389.2.5 忽略了開發過程中的變異管理 2399.3 有效軟件開發借鋻之源及應具備的特點 2399.3.1 軟件開發借鋻之源 2399.3.2 有效軟件開發模式應具備的特點 240第10章 軟件開發的新模式——新一代精益軟件工程 24210.1 初級軟件精益開發模式:看板方法 24310.2 精益軟件開發框架 24410.3 用經濟指標指導軟件開發 24510.4 用基本隊列理論、統計方法管理軟件開發過程 24710.4.1 管理好軟件開發中的等待隊列問題 24810.4.2 軟件開發過程中變異量的管理 25110.5 兩個關鍵關注點 25410.5.1 控制好軟件批量開發規模 25510.5.2 控制好軟件開發隊列的WIP個數 25610.6 精益管理控制實踐 25710.6.1 在充滿不確定的環境下,盡可能保持流暢的軟件開發通道 25710.6.2 充分、及時、有效地利用開發過程中的反饋信息 25910.6.3 軟件開發中集中與分散協調控制機制 26010.7 實踐出真知 262參考文獻 264
《知行合一 實現價值驅動的敏捷和精益開發》是作者幾十年從事軟件工程教學、咨詢和研究的一個總結,它從軟件產品開發的“軟”“易變”“非線性增長復雜度”“創新”等特點入手,繫統討論了軟件工程自身的特殊性,清楚揭示了我們遵循幾十年的借鋻傳統行業開發模式的方法不能高效匹配軟件開發,導致軟件工程成為低效工程領域的原因。本書繫統探討了從瀑布模式到敏捷模式轉型的成功實踐,在特定企業環境下讓敏捷在組織、團隊、項目中落地,並使其價值優選化,擺脫常見的“形似神不似”的敏捷實施。本書關於CMMI和敏捷開發模式結合的內容對國內眾多的CMMI企業有很好的現實意義,二者的互補性使其結合彌補了各自的不足,使企業能更好地提升其開發過程的能力。如何將新一代精益開發的原則、實踐移植到軟件開發中的內容是本書另一個亮點。各類軟件組織的管理人員、技術人員、質量控制人員和過程改進人員都可以從《知行合一 實現價值驅動的敏捷和精益開發》等
叢斌 著
叢斌博士,早年畢業於南京大學,1984年公派留學去了美國,分別在杜克大學和德州大學獲得碩士和博士學位。目前是美國加州州立大學軟件工程終身教授,領導建立了全美排名前列的軟件工程碩士學位課程。發表過100多篇論文,解決過一些經典的算法問題。作為國際知名的計算機和算法專家,叢斌博士也是CMMI研究院第一批高成熟度主任評估師、講師之一。在產品開發體繫建設及改進、敏捷和精益開發、質量控制及CMMI模型驅動改進等方面有豐富的理論知識及實戰經驗,曾為國內外許多知名企業,如雷神、華為等提供過軟件開發方面的咨詢、培訓和評估。曾入選1997年國際IT名人錄,也是加州州立大學富勒頓分校工學院2011年度傑出教授。