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