課程背景
21世紀是“快魚吃慢魚”的時代!
現(xiàn)代企業(yè)的競爭就是“速度”的競爭??!
誰能盡快開發(fā)出符合客戶需求的產品,誰就是大贏家??!
如何使產品開發(fā)周期顯著縮短?如何促使企業(yè)充分利用外部資源,,尋求合作設計,、開發(fā)和制造的機會,讓新產品上市時間更快,?
“敏捷化開發(fā)”是國外最新提出的著眼于速度競爭的新產品開發(fā)管理模式,,其基于一系列先進的研發(fā)管理方法,,采取產品開發(fā)與市場投入的速度領先戰(zhàn)略,以獲得產品開發(fā)的時間領先優(yōu)勢,,使企業(yè)在競爭日趨激烈的環(huán)境中獲取利益最大化,。
軟件系統(tǒng)的日益復雜化和用戶需求、軟件更新的頻繁化,,加之開發(fā)團隊分散的工作方式,,項目的溝通和平滑管理變得越來越困難。另一方面,,如何在多角色分工的情況下,,緊扣用戶提出的需求,監(jiān)控其實施,,確保用戶需求最終落實到產品的各個版本中去,,并在產品發(fā)行和用戶支持等方面提供幫助,響應用戶新的需求,,推動新的開發(fā)周期,。
新的開發(fā)方法-敏捷開發(fā),有助于開發(fā)人員,、測試人員和管理人員更快的適應客戶需求的變化,,快速的發(fā)布和提交版本。使得軟件的發(fā)布能更快捷的滿足客戶的需求,。
敏捷軟件開發(fā)過程中,,有一些新的開發(fā)手段,把開發(fā)活動和測試活動結合起來,。通過敏捷項目管理,,可以更好的發(fā)揮團隊特長,并行開發(fā),,合理控制軟件版本,,有效地提高生產率。
本課程在介紹了敏捷項目一般管理方法基礎上,,深入地討論了如何將敏捷化開發(fā)應用于其它行業(yè)的產品研發(fā)活動,,使學員同時掌握以上兩種方法,在實際工作中能按照實際情況靈活應用,。
講師具有近二十年軟件開發(fā),、軟件設計、需求分析及項目管理經驗,,長期戰(zhàn)斗在軟件項目錢眼,,精通SCRUM、極限編程及MSF并用于全公司的項目管理,,參加多次CMMI5級評估,,并有使用敏捷軟件開發(fā)通過CMMI評估的案例。講師有多年的授課經驗,,講課深入淺出,,注重引導學員思考,善于將主題內容融于簡單的例子中,,讓學員通過體會實例掌握知識,。
培訓收益
◇ 了解敏捷開發(fā)和測試的過程
◇ 了解敏捷開發(fā)過程中,測試用例的編寫和測試的執(zhí)行過程
◇ 介紹如何進行重構
◇ 了解敏捷項目管理
◇ 測試技術實戰(zhàn),,通過大量的實例演示使培訓人員能夠結合實際項目掌握測試技術在軟件測試各個階段的實際應用,。
課程大綱
1、 案例分析
2,、 什么是敏捷軟件開發(fā)
2.1 研發(fā)中項目管理的典型問題
◇ 質量
◇ 交付周期長
◇ 效率低下
◇ 交付延期
◇ 交付不被市場/客戶接受
2.2 軟件管理方法總覽
2.3 什么是敏捷項目管理
2.4 敏捷項目管理的解決之道
◇ 總體框架:“需求-構建-發(fā)布”的快速迭代
◇ 卓越交付:保證正確的構建正確的產品
◇ 自組織團隊
◇ 短周期迭代
◇ 可工作的完成標準
◇ 價值驅動
◇ 基于反饋的改進
◇ 風險前移
2.5 敏捷項目管理的精要
◇ 創(chuàng)造力來源于小而美團隊
◇ 短迭代的可工作的交付
◇ 客戶參與
◇ 響應變化
◇ 交付的價值優(yōu)于完成的任務
◇ 效率通過演進的流程獲得
2.6 核心價值觀
2.7 敏捷開發(fā)如何提升生產率,?
2.8 敏捷開發(fā)如何提升質量
2.9 我是否該敏捷?
2.10 敏捷對企業(yè)的價值
2.11 研討與演練:我們的痛點在那里,?
3,、 敏捷項目管理提升研發(fā)流程的具體實踐
3.1 項目團隊管理-人是最重要
3.1.1 敏捷團隊的三個核心角色
3.1.2 敏捷團隊的角色職責
3.2 敏捷項目管理
3.2.1 敏捷估計-估算撲克
3.2.2 Delphi估算
3.2.3 演練:我的故事要多少工作量?(使用客戶內部開發(fā)需求)
3.3 敏捷項目計劃管理
3.3.1 迭代計劃會
3.3.2 計劃會序曲-豬與雞的故事
3.3.3 豬與雞的行為模式
3.4 項目過程與風險管理
3.4.1 每日立會
3.4.1.1 為何站著開會,?
3.4.1.2 每日立會成功的關鍵
3.4.1.3 現(xiàn)場演練:明天的每日立會
3.4.2 燃盡圖
3.4.2.1 燃燒圖的團隊“指紋”
3.4.3 “迭代期內無變更”
3.4.3.1 擁抱變化還是恪守承諾,?
3.4.3.2 “迭代期內無變更”與研發(fā)心理學
3.4.3.3 對策:MoSCoW方法
3.4.4 故事板 Kanban
3.5 項目質量管理-高質量的交付
3.5.1 ? 評審會與反思會
3.5.1.1 ?評審會序曲
3.5.1.2 ?從外部理解團隊目標
3.5.1.3 ?“可運行軟件”的標準
3.5.2 ? 評審會
3.5.2.1 ?評審會的行為模式
3.5.2.2 ?引導客戶表達需求
3.5.2.3 現(xiàn)場演練:為三個故事設定完成標準
3.5.3 ? 反思會
3.5.3.1 ?現(xiàn)實世界的反思會
3.6 大型項目管理
3.7 研討與演練:基于客戶團隊的實際痛點進行討論,從敏捷項目管理的角度討論解決方案
4,、 敏捷軟件開發(fā)工程實踐
4.1 項目需求管理-用戶故事-交付最有價值需求
4.1.1 ? 用戶故事 = 用戶 + 功能 + 價值
4.1.1.1 ? 好故事的四個標準
4.1.1.2 ? 切分故事
4.1.1.3 ? 現(xiàn)場演練:將三個需求轉換為用戶故事
4.1.1.4 (使用客戶內部開發(fā)需求)
4.1.2 ? 用戶建模
4.1.2.1 ? 誰在用我的產品,?
4.1.2.2 ? 現(xiàn)場演練:針對三個需求進行用戶建模
4.1.2.3 (使用客戶內部開發(fā)需求)
4.1.3 ? 超越敏捷-現(xiàn)實世界的用戶故事
4.1.3.1 ? 用戶故事 = 需求文檔?
4.1.3.2 ? 復合型的需求文檔
4.1.3.3 ? 敏捷中的精益理念
4.1.4 ? 需求優(yōu)先級排序
4.1.4.1 ? 以團隊形式進行排序
4.1.4.2 ? 超越敏捷-敏捷生態(tài)系統(tǒng)
4.1.4.3 ? 用戶故事的進化
4.1.4.4 ? 敏捷生態(tài)系統(tǒng)初探:需求管理
4.1.4.5 ? 從客戶價值驅動到持續(xù)交付客戶價值
4.2 團隊結構與日常開發(fā)活動
4.2.1 辦公環(huán)境
4.2.2 ?“特性小組”
4.2.3 ?“松結對編程”
4.2.4 “松結對編程”的小組長責任
4.2.5 “松結對編程”的工作習慣
4.3 重構
4.3.1 重構的定義
4.3.2 為什么需要重構
4.3.3 何時需要重構
4.3.4 代碼的壞味道
4.3.5 各種重構的方法
4.3.6 重復的代碼
4.3.7 重構演練
4.4 敏捷測試
4.4.1 持續(xù)集成和每日構建
4.4.1.1 持續(xù)集成的概念
4.4.1.2 每日構建的概念和意義
4.4.1.3 每日構建的實施策略
4.4.1.4 每日構建和版本管理的集成
4.4.1.5 以每日構建為基礎的發(fā)布管理和試驗環(huán)境
4.4.1.6 Smoke Test和持續(xù)集成的關系
4.4.1.7 BVT Automation和Non BVT Automation是持續(xù)繼承的有力保證
4.4.1.8 通過每日構建和持續(xù)集成,,使得版本管理不僅僅記錄代碼的存在和歷史,,更保證代碼的正確性
4.4.1.9 典型案例分析
4.4.2 自動化測試
4.4.2.1 自動化測試概念,局限性
4.4.2.2 自動化測試基本理論
4.4.2.3 自動化測試實施
4.4.2.4 常用工具介紹
4.4.2.5 自動化測試成熟度
4.4.2.6 自動化測試評估
5、 敏捷開發(fā)過程中的測試和度量活動
5.1 測試驅動開發(fā)
5.2 持續(xù)集成
5.3 測試用例設計
5.4 構建管理 持續(xù)集成 發(fā)布管理
5.5 敏捷度量-規(guī)模
5.6 敏捷度量-工作量
5.7 敏捷度量-進度
5.8 實踐演練
6,、 組織級敏捷部署與績效管理
6.1 敏捷三步走
6.2 敏捷成功與否的衡量標準是業(yè)務結果(質量,、TTM)的改進
6.3 首次實施敏捷的參考步驟——八步曲
6.4 敏捷角色
6.5 項目組團隊的組建方式:特性項目組和模塊項目組優(yōu)劣對比
6.6 項目級敏捷通用過程模型
6.7 項目級敏捷過程樣例(版本中項目組全都實施敏捷)
6.8 敏捷團隊績效管理
6.8.1 誰來管理團隊中的個體?
6.8.2 敏捷團隊的目標
6.8.3 從團隊外部認識團隊目標
6.8.4 敏捷開發(fā)中的目標管理意識
6.9 執(zhí)行與實施層面的敏捷實踐
7,、 總結