軟件過程改進(Software Process Improvement,SPI)是指幫助軟件企業(yè)建立過程管理、識別改進點、持續(xù)優(yōu)化過程體系。CMMI表示Capabi lity Maturity Mode Integration(能力成熱度集成模型),提供了一個指導(dǎo)企業(yè)實施過程改進的框架,CMMI是實現(xiàn)過程改進標(biāo)的一種有效手段和方法。
《術(shù)以載道——軟件過程改進實踐指南》是作者軟件工程經(jīng)驗、過程改進經(jīng)驗與CMMI咨詢經(jīng)驗的總結(jié),從實踐者的角度出發(fā),涉及到了實施CMMI的方方面面,包括CMMI實施精要、敏捷方法實踐、過程體系建立、軟件項目的策劃、跟蹤和控制、需求工程、軟件設(shè)計與實現(xiàn)、測試和同行評審、質(zhì)量保證和配置管理、量化項目管理和人員管理等重要話題。
《術(shù)以載道——軟件過程改進實踐指南》作者具有20年的軟件工程經(jīng)驗和13年的質(zhì)量管理改進經(jīng)驗,創(chuàng)立了麥哲思科技咨詢公司,以其實效咨詢的風(fēng)格,在CMMI咨詢業(yè)內(nèi)具有很高的知名度!缎g(shù)以載道——軟件過程改進實踐指南》記錄了作者工作中的所做、所思、所見與所聞,給出了70多個實際案例,對于從事軟件過程改進、軟件企業(yè)管理咨詢、軟件項目管理的讀者具有較高的閱讀和參考價值。
二十年軟件工程經(jīng)驗之談,CMMI和軟件過程改進的真知灼見 軟件過程泰斗周伯生教授鼎力推薦,眾多行業(yè)領(lǐng)域?qū)<乙恢潞迷u 持續(xù)的過程改進是企業(yè)永續(xù)經(jīng)營的必備手段,而CMMI是最佳實踐的集合并給出了過程改進的路線圖! ⊥ㄟ^閱讀本書,你將了解: ◎CMMI實施精要; ◎敏捷方法實踐精要; ◎過程體系建立的方法; ◎軟件項目的策劃與監(jiān)控的方法; ◎?qū)嵱玫男枨蠊こ蹋弧 蜍浖O(shè)計與實現(xiàn)的最佳實踐; ◎測試和同行評審的最佳實踐; ◎質(zhì)量保證和配置管理的注意事項; ◎量化項目管理和人員管理的指南。
任甲林,山東大學(xué)計算機科學(xué)專業(yè)工學(xué)碩士, Scrum Master、CMMI主任評估師、國際通用軟件度量協(xié)會國際咨詢委員會(COSMIC IAC)成員。。從1993年到2013年,他積累了20年軟件工程經(jīng)驗。從程序員轉(zhuǎn)變?yōu)檠邪l(fā)總監(jiān),參與或管理過50多個項目。2005年開始從事軟件過程改進咨詢工作,為接近100家客戶提供過咨詢或培訓(xùn)服務(wù)。2007年創(chuàng)立麥哲思科技(北京)有限公司, 2008年至2011年度,他連續(xù)三年被評為“中國CMMI咨詢行業(yè)年度人物”。
第1章 CMMI實施精要
1.1 對CMMI的基本認(rèn)識
1.1.1 CMMI是什么
1.1.2 CMMI里有什么
1.1.3 CMMI的構(gòu)件
1.1.4 CMMI的表示方法
1.1.5 CMMI成熟度等級的比較
1.1.6 如何學(xué)習(xí)CMMI
1.2 EPG的工作指南
1.2.1 EPG成員選擇四要素
1.2.2 EPG的工作指南
1.2.3 EPG如何應(yīng)對企業(yè)政治
1.2.4 EPG常犯的10種錯誤
1.2.5 識別過程改進點的9種手段
1.3 如何實施CMMI 第1章 CMMI實施精要
1.1 對CMMI的基本認(rèn)識
1.1.1 CMMI是什么
1.1.2 CMMI里有什么
1.1.3 CMMI的構(gòu)件
1.1.4 CMMI的表示方法
1.1.5 CMMI成熟度等級的比較
1.1.6 如何學(xué)習(xí)CMMI
1.2 EPG的工作指南
1.2.1 EPG成員選擇四要素
1.2.2 EPG的工作指南
1.2.3 EPG如何應(yīng)對企業(yè)政治
1.2.4 EPG常犯的10種錯誤
1.2.5 識別過程改進點的9種手段
1.3 如何實施CMMI
1.3.1 實施CMMI時必須解決的7個認(rèn)識問題
1.3.2 軟件過程改進的11條成功策略
1.3.3 CMMI實施的4個重大失誤
1.3.4 CMMI成功的根本原因是什么
1.3.5 Infosys公司過程改進的18條經(jīng)驗
1.4 CMMI實施的難點與對策
1.4.1 CMMI.2級的難點
1.4.2 CMMI.2級難點之對策
1.4.3 二級的實效體現(xiàn)在哪里
1.4.4 CMMI.3級的難點
1.4.5 CMMI.4級的難點
1.4.6.為什么難以達到高成熟度
第2章 敏捷方法實踐精要
2.1 Scrum敏捷項目管理
2.1.1 Scrum.的3個角色
2.1.2 Scrum的3個文檔
2.1.3 4種會議
2.1.4 如何開每日站立會議
2.2 XP極限編程的12條實踐
2.3 時間箱管理
2.4 策劃撲克法
2.5 敏捷度量
2.6 關(guān)于敏捷方法的典型問題
2.6.1 什么是敏捷方法的“神”
2.6.2 如何建立團隊文化
2.6.3 如何運用敏捷實踐解決其他問題
2.6.4 如何理解平穩(wěn)的開發(fā)速度
2.7 敏捷始于客戶
2.8 軟件工程7原則與敏捷實踐
第3章 如何建立過程體系
3.1 過程的基本概念
3.2 過程體系的建立基礎(chǔ)
3.3 建立過程體系時的注意事項
3.4 過程體系建立的步驟
3.5 定義公司的過程大綱
3.6 確定項目的類型
3.7 確定描述規(guī)范
3.7.1 ETVX過程描述模式
3.7.2 過程描述的12個屬性
3.8 定義質(zhì)量方針
3.8.1 先定義方針,再定義過程
3.8.2 定義方針的原則
3.9 定義過程
3.10 如何定義文檔模板
3.10.1 模板定義的要點
3.10.2 控制模板數(shù)量的基本原則
3.11 如何定義檢查單
3.12 如何定義裁剪指南
3.13 如何執(zhí)行過程體系的評審
3.14 常被忽略的過程
3.15 小型項目的管理策略
3.16 維護類項目的管理策略
3.17 如何將過程敏捷化
第4章 項目策劃
4.1 項目策劃的9個基本要點
4.2 過程設(shè)計的4個層次
4.3 軟件項目的目標(biāo)管理
4.4 過程體系的裁剪步驟
4.5 WBS分解指南
4.5.1 WBS的基本概念
4.5.2 WBS分解方法
4.5.3 表示方法
4.5.4 分解方式
4.5.5 分解原則
4.5.6 分解步驟
4.5.7 WBS中容易遺忘的任務(wù)
4.6 白話軟件估計
4.7 做好軟件估計的六個原則
4.8 為什么要做規(guī)模估計
4.9 COSMIC-FFP規(guī)模估算方法
4.9.1 功能點度量方法簡介
4.9.2 COSMIC-FFP方法的基本原理
4.9.3 COSMIC-FFP的估算過程
4.9.4 COSMIC-FFP中的基本概念
4.9.5 COSMIC-FFP的規(guī)則
4.9.6 COSMIC-FFP的實踐綜述
4.10 Pert.Sizing估算方法
4.11 寬帶Delphi估計方法指南
4.12 軟件項目工作量估算指南
4.12.1 估算時機
4.12.2 可能的估算輸入
4.12.3 估算對象
4.12.4 估算方法
4.12.5 生產(chǎn)率的含義
4.12.6 多種場景下的估算步驟
4.13 風(fēng)險策劃
4.13.1 風(fēng)險來源與風(fēng)險分類
4.13.2 如何識別風(fēng)險
4.13.3 風(fēng)險計劃與跟蹤
4.14 項目計劃評審的檢查點
4.15 項目計劃書中的內(nèi)容
第5章 項目跟蹤與控制
5.1 軟件項目管理的實戰(zhàn)原則
5.2 為什么要記錄日志
5.3 如何保證日志的準(zhǔn)確性
5.4 如何開會
5.5 如何開項目組的周例會
5.5.1 周例會準(zhǔn)備活動
5.5.2 召開周例會活動
5.5.3 編寫與發(fā)布會議紀(jì)要
5.6 里程碑評審指南
5.7 如何做項目總結(jié)
5.8 組織級的項目管理例會的匯報要點
5.9 高層經(jīng)理監(jiān)控項目的11種思維模式
5.10 掙值管理
第6章 需求工程
6.1 需求獲取方法
6.1.1 需求獲取原則
6.1.2 需求調(diào)研的步驟
6.1.3 需求獲取的重點
6.1.4 需求獲取的注意事項
6.2 需求分析的思維方式
6.3 需求描述方法
6.3.1 需求必須文檔化
6.3.2 信息管理系統(tǒng)的需求描述方法
6.3.3 需求與設(shè)計的界線
6.3.4 需求文檔與設(shè)計文檔的區(qū)別
6.4 需求評審
6.4.1 軟件需求評審之道
6.4.2 同行評審培訓(xùn)練習(xí)點評
6.5 需求管理
6.5.1 需求管理的基本原則
6.5.2 需求控制組的構(gòu)成
6.5.3 需求變更的深入分析
6.5.4 需求跟蹤矩陣的常見疑問
6.5.5 需求管理過程域的要點
6.6 需求工程的12條最佳實踐
第7章 軟件設(shè)計與實現(xiàn)
7.1 白話軟件架構(gòu)與架構(gòu)師
7.2 設(shè)計模式
7.2.1 如何學(xué)習(xí)設(shè)計模式
7.2.2 3種工廠模式的比較
7.2.3 設(shè)計模式復(fù)雜度排名
7.3 設(shè)計評審檢查單
7.4 程序設(shè)計風(fēng)格
7.5 代碼評審
7.5.1 代碼評審的意義
7.5.2 代碼評審常見問題與最佳實踐
7.5.3 代碼評審的檢查要點
7.5.4 代碼評審檢查單
7.5.5 代碼走查改進案例
7.6 持續(xù)集成環(huán)境的構(gòu)建
7.6.1 Java環(huán)境下的持續(xù)集成平臺
7.6.2 .Net環(huán)境下的持續(xù)集成平臺
7.6.3 C++環(huán)境下的持續(xù)集成平臺
7.7 一次典型的重構(gòu)
7.8 改進代碼質(zhì)量
第8章 測試與同行評審
8.1 質(zhì)量管理的西藥與中藥
8.2 4種測試層次的比較
8.3 集成測試用例的案例
8.4 單元測試
8.4.1 如何推廣單元測試
8.4.2 單元測試培訓(xùn)練習(xí)總結(jié)
8.4.3 Checkstyle試用案例
8.4.4 測試驅(qū)動開發(fā)案例
8.5 性能測試策略的案例
8.6 不可重現(xiàn)缺陷的應(yīng)對策略
8.7 同行評審策略
8.8 同行評審的常見問題與對策
8.9 如何分析同行評審的度量數(shù)據(jù)
8.10 軟件開發(fā)的質(zhì)量紅線
8.11 產(chǎn)品的內(nèi)部質(zhì)量與外部質(zhì)量
第9章 質(zhì)量保證
9.1 質(zhì)量保證與質(zhì)量控制的區(qū)別
9.2 質(zhì)量保證的價值
9.3 質(zhì)量保證人員與項目經(jīng)理的質(zhì)量責(zé)任
9.4 質(zhì)量保證人員與過程改進人員的責(zé)任融合
9.5 質(zhì)量保證的組織結(jié)構(gòu)形式
9.6 質(zhì)量保證工作的8個原則
9.7 質(zhì)量保證人員的工作內(nèi)容
9.8 質(zhì)量保證例會的6個問題
9.9 如何消除對質(zhì)量保證的抵觸情緒
9.10 質(zhì)量保證人員配備
9.11 質(zhì)量保證人員的知識體系
第10章 配置管理
10.1 配置管理的基本概念
10.2 數(shù)據(jù)管理與配置管理的區(qū)別
10.3 如何組建CCB
10.4 納入基線管理的一般原則
10.5 配置控制的3個等級
10.6 配置管理的三庫
10.7 配置管理員的職責(zé)定義
10.8 配置審計的種類與區(qū)別
第11章 量化項目管理
11.1 如何識別度量元
11.2 如何設(shè)計數(shù)據(jù)的指示器
11.3 如何定義指示器與度量元
11.4 度量數(shù)據(jù)分析的3個層次
11.5 過程性能基線
11.5.1 什么是過程性能基線
11.5.2 應(yīng)該建立哪些PPB
11.5.3 如何建立PPB
11.5.4 建立PPB的注意事項
11.5.5 證明過程穩(wěn)定需要的樣本個數(shù)
11.5.6 何時重新計算PPB
11.5.7 如何判定PPB的可用性
11.5.8 項目級的PPB
11.6 控制圖在軟件管理中的應(yīng)用
11.6.1 控制圖的含義
11.6.2 什么是“特殊原因”
11.6.3 異常點的識別規(guī)則
11.6.4 異常點的刪除方法
11.6.5 控制圖典型錯誤案例一
11.6.6 控制圖典型錯誤案例二
11.7 箱線圖在軟件管理中的應(yīng)用
11.8 軟件過程性能模型
11.8.1 什么是過程性能模型
11.8.2 如何建立過程性能模型
11.8.3 過程性能模型的實例
11.8.4 為什么無法建立過程性能模型
11.9 為什么建立了性能基線還需要建立性能模型
11.10 如何度量項目的進度與進展
11.11 TSP中的10個量化法則
第12章 CMMI的評估
12.1 如何選擇參評項目個數(shù)
12.2 SCAMPI.V1.3的證據(jù)覆蓋規(guī)則
12.3 評估組員的資質(zhì)要求
12.4 如何準(zhǔn)備評估計劃
12.5 如何執(zhí)行就緒檢查
12.6 被訪談人員注意事項
12.7 高成熟度評估時常發(fā)現(xiàn)的問題
12.8 評估之后的CMMI怪相分析
第13章 人員管理
13.1 軟件企業(yè)以人為本的16項措施
13.2 如何選擇與使用項目經(jīng)理
13.3 職業(yè)程序員培養(yǎng)之道
13.4 職業(yè)程序員與業(yè)余程序員的區(qū)別
13.5 程序員敬業(yè)精神的具體表現(xiàn)
13.6 采用“師徒制”培養(yǎng)新員工
13.7 研發(fā)人員考核的10項基本原則
13.8 以人為本的People.CMM
后記
參考文獻