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