第1部分 軟件研發(fā)模型介紹
1.1 信息化建設(shè)發(fā)展趨勢
1.2 軟件研發(fā)模式分析
1.3 傳統(tǒng)的軟件開發(fā)生命周期模型及其特點
n 迭代模型
n 瀑布模型
n 增量模型
n 原型模型
n 極限模型
n 螺旋模型
課堂提問:各種軟件研發(fā)模型的優(yōu)缺點分析,以及軟件開發(fā)模型選擇的思考。
1.4 軟件項目生命期概念
n 項目管理生命期
n 軟件研發(fā)生命期
n 產(chǎn)品實施生命期
課堂提問:生命期的比較分析,以及項目經(jīng)理/軟件開發(fā)工程師關(guān)注度分析比較
第2部分 敏捷開發(fā)簡介
1.5 敏捷思維
n 什么是預(yù)定義過程
n 軟件項目中的復(fù)雜性與簡單性
n 預(yù)定義過程控制VS經(jīng)驗性過程控制
n 敏捷認為軟件研發(fā)過程是經(jīng)驗性過程
n 軟件企業(yè)使用瀑布模式普遍面臨的問題
n 傳統(tǒng)項目管理的三角形與八邊型
n 傳統(tǒng)的軟件開發(fā)方法基于了一個錯誤的假設(shè)
n 敏捷方法認為需求是涌現(xiàn)式的,范圍是不確定的
1.6 什么是敏捷
n 敏捷概念
n 敏捷宣言的由來
n 敏捷宣言/敏捷原則
1.7 課程研討:敏捷開發(fā)Agile與CMMI研發(fā)管理、傳統(tǒng)軟件工程的分析比較及優(yōu)劣勢分析
第3部分Scrum概述
1.8 Scrum概要、框架及流程
n SCRUM價值觀、起源、歷史
n SCRUM概要、框架、流程
n Sprint燃盡圖
n Sprint評審會
n Sprint回顧會
n 潛在可交付的產(chǎn)品增量
n SCRUM三大支持
n 知識比較:Scrum項目管理與一般意義上項目管理的比較分析。
1.9 Scrum精要
n Sprint破解
n Sprint誤用
n Scrum會議
n Scrum團隊
n ScrumMaster
n 產(chǎn)品負責人
1.10案例分析:簡單的陷阱
第4部分 敏捷需求管理
1.11敏捷需求概述
n 從一個經(jīng)典的例子看需求
n 在我們的需求體系中會遇到什么?
n 需求是涌現(xiàn)式的
n 需求管理是一個知識發(fā)現(xiàn)的過程
n 需求管理是一個依賴于溝通協(xié)調(diào)的活動
n 需求管理的本質(zhì)
n 使用用戶故事作為需求管理的載體
1.12用戶故事
n 用戶故事定義
n 用故事的特點
n INVEST用戶故事
n 一個卡通產(chǎn)品電子商務(wù)網(wǎng)站的例子
n 練習(xí):編寫用戶故事
n 如何描述需求細節(jié)?
n 細節(jié)通過更小的子故事實現(xiàn)
n 細節(jié)通過驗收條件來表現(xiàn)
n 如何分解用戶故事
n 用故事樹把故事串起來
n 用戶故事的大小
n 為什么要使用用戶故事
1.13產(chǎn)品BACKLOG
n 產(chǎn)品BACKLOG
n 一個產(chǎn)品BACKLOG的例子
n 產(chǎn)品BACKLOG的金字塔
n 產(chǎn)品BACKLOG優(yōu)先級排列技巧
n 梳理產(chǎn)品BLACKLOG
n 優(yōu)先級排列需要考慮到因素
n 優(yōu)先級計量方式
n 練習(xí):產(chǎn)品BLACKLOG優(yōu)先級的排列
n Sprint計劃會議與Sprint Backlog高階技巧
n Sprint評審會議與Sprint回顧會議高階技巧
n 產(chǎn)品負責人與產(chǎn)品Backlog高階技巧
n 發(fā)布計劃會議高階技巧
n ScrumMaster高階技巧
第5部分 敏捷估算與計劃
1.14敏捷估算
n 討論:估算以下四個案例要花費多少時間?
n 敏捷估算的基本策略:估算規(guī)模
n 通過規(guī)模推算時間表
n 用戶故事估算
n 用戶故事規(guī)模的計量單位
n 估算的技巧
n 估算的方法
n 練習(xí):使用估算撲克進行估算
n 如何將用戶故事拆分到任務(wù)
n 任務(wù)估算及計量單位
n 任務(wù)估算的特點
1.15敏捷計劃
n 敏捷計劃的特點
n 多層次的計劃
n 產(chǎn)品/發(fā)布/Sprint計劃
n 滿意條件驅(qū)動計劃的執(zhí)行
n 發(fā)布計劃
n Sprint計劃
n Scrum項目的進展跟蹤及報告機制
l 任務(wù)板的作用及示例
l 關(guān)于卡片
l Sprint燃盡圖及反映Sprint進展狀況
1.16練習(xí)(1.5小時):Scrum項目管理實踐
1.17知識練習(xí):《敏捷開發(fā)知識知多少》?
第6部分 敏捷開發(fā)管理最佳實踐
1.18敏捷工程實踐
n XP的12個有效實踐
n 持續(xù)集成(客戶特別關(guān)注點,代碼需要重構(gòu))
n 自動化測試
n 結(jié)對編程(客戶特別關(guān)注點,結(jié)對編程)
n 看板管理(客戶特別關(guān)注點)
1.19思想
u架構(gòu)設(shè)計的發(fā)展趨勢
u架構(gòu)設(shè)計決策的未來性
u減法設(shè)計 vs. 加法設(shè)計
u造形(Form)設(shè)計:領(lǐng)悟唐代的”詩同形”意義
1.20方法
n 架構(gòu)設(shè)計階段
n 代碼開發(fā)階段
l 重構(gòu)技術(shù)(客戶特別關(guān)注點,重構(gòu)技術(shù))
l 編碼有效性(客戶特別關(guān)注點,持續(xù)重構(gòu))
1.21模式
n 架構(gòu)模式
n 測試模式
l 自動化測試工具Jmeter
l 測試驅(qū)動開發(fā)(ATTD)
第7部分 敏捷團隊建設(shè)
1.22團隊規(guī)則與紀律
1.23團隊合作模式
n 典型的敏捷TDD驅(qū)動模式
n CMMI合作模式
n ToGAF的ADM合作模式
1.24Scrum團隊
n ScrumMaster
n 產(chǎn)品負責人
n 案例分析:簡單的陷阱
1.25大型團隊的Scrum實施
n 產(chǎn)品負責人團隊
n 多Scrum團隊的Sprint計劃會議
n Scrumof Scrums 進行溝通和協(xié)作
1.26Scrum Of Scrum與多項目管理的比較分析
1.27角色轉(zhuǎn)換
n 分析員
n 項目經(jīng)理
n 架構(gòu)師
n 職能經(jīng)理
n 程序員
n 測試員
n 角色轉(zhuǎn)換的共同挑戰(zhàn)
第8部分 敏捷開發(fā)實踐導(dǎo)入
1.28Scrum導(dǎo)入模式
n 成立實施推進小組
n ETC職責
n 改善計劃的Backlog示例
n 制定Backlog的基本方針
n 設(shè)置和管理期望
n Scrum實施評估
n 全面轉(zhuǎn)型VS小團隊試點
1.29導(dǎo)入敏捷工程實踐的建議
n 案例名稱:Sales Force的全面轉(zhuǎn)型
n 選擇什么項目試點
n 在CMMI軟件研發(fā)模式下的敏捷成功之路
n 我們該如何進行敏捷的成功之路
第9部分 敏捷開發(fā)體系構(gòu)建
1.30軟件研發(fā)管理體系文檔的建設(shè)
n 體系的來源
n 體系文檔的層級及結(jié)構(gòu)
n 各層級文檔的作用間義
n 層級文檔案例說明
n 文檔的質(zhì)量評估標準
1.31敏捷文檔的評估分析
n 組織級文檔評估分析;
n 項目組文檔評估分析;
n 工程類文檔評估分析;
第10部分敏捷開發(fā)體系案例分析
1.32敏捷開發(fā)體系案例分析
ZJRC敏捷開發(fā)體系文件分享。
1.33研發(fā)管理體系案例分析
一個“龐然大物”是如何構(gòu)建“基于IPD+CMMI+AGILE”研發(fā)管理體系,從而用AGILE激活整個研發(fā)管理體系。