1 / 18

Mature Agile with a Twist of CMMI

Mature Agile with a Twist of CMMI. Presenter: 975202075  陳俊志. 大綱. 簡介 背景 改善 Agile 的作法 結論. 簡介. 分享將 Scrum 與 CMMI 成功結合的經驗 提出如何將部分 CMMI 的 practices 帶入到 Agile 專案,建立更牢固的軟體開發法. 背景 (1/3). Systematic 公司 致力於在資訊與通訊系統領域中的 IT 解決方案 通過 CMMI level 5 評鑑 能夠以漸進及創新方式不斷地修正以改善流程 CMMI 可維持一組織能夠預測及改善專案之實行.

Download Presentation

Mature Agile with a Twist of CMMI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mature Agile with a Twist of CMMI Presenter: 975202075 陳俊志

  2. 大綱 • 簡介 • 背景 • 改善Agile的作法 • 結論

  3. 簡介 • 分享將Scrum與CMMI成功結合的經驗 • 提出如何將部分CMMI的practices帶入到Agile專案,建立更牢固的軟體開發法

  4. 背景(1/3) • Systematic公司 • 致力於在資訊與通訊系統領域中的IT解決方案 • 通過CMMIlevel 5評鑑 • 能夠以漸進及創新方式不斷地修正以改善流程 • CMMI可維持一組織能夠預測及改善專案之實行

  5. 背景(2/3) • 只有Agile的情況 • 無一致的製作方式 • 管理流程不足 • 而CMMI可讓Agile制度化(Institutionalization)並於出現問題時提供該往哪方向解決 • 只有CMMI的情況 • 流程實作內容不足 • 而Agile提供有效符合CMMI流程需求的實作方式

  6. 背景(3/3) • Scrum角色之對應 • Product Owner→Project Manager、Software Architect或User Experience Engineer • Scrum Master→Team leader

  7. 改善Agile的作法建立好的初步product backlog(1/3) • CMMI中之Project Planning(PP)可作為Scrum的Sprint zero • CMMI中之Project Planning • Work Breakdown Structure(WBS) • 成本估計 • 資源規劃 • Stakeholder參與計畫 • 風險管理計畫 • … • PP之流程更新為須產生product backlog

  8. 每一activity會有描述說明如何實行、需要的輸入及輸出每一activity會有描述說明如何實行、需要的輸入及輸出 • 描述是基於過去經驗而定出 • 經Product Owner確認過計畫後才能進入執行

  9. 改善Agile的作法建立好的初步product backlog(3/3) • 二個層級的計畫及追蹤 • 進入執行後有 • Product Owner依據建立的專案計畫進行追蹤 • Scrum team追蹤目前的Sprint進度 • 相較於只有Sprint backlog,以上之計畫活動能夠更清楚定義Sprint的目標為何 • Scrum team可專注在Sprint上

  10. 改善Agile的作法風險(Risks)及阻礙(Impediments)改善Agile的作法風險(Risks)及阻礙(Impediments) • 計畫及風險管理活動降低了product backlog的風險 • 讓Scrum team去對product backlog中之項目用1至3點去估計難度 • 舉行風險辨識會議找出重要風險 • 風險管理可主動預防阻礙 • CMMI之風險管理著重在預防 • 計畫階段 • Project Plan為風險辨識之依據 • 執行階段 • 藉由二周一次的會議中報告已知及新的風險

  11. 改善Agile的作法確保高品質(1/3) • 在Scrum中是藉以下二點來確保高品質 • 短的回合(Iteration)及 • 顧客在Sprint的結束進行檢驗 • 精確的品質計畫 • Quality Assurance Schedule(QAS) • 需要被審查的story • 需要檢查的程式碼 • 哪種文件是需要哪種審查 • … • QAS能讓Scrum team了解到怎樣才叫完成

  12. 改善Agile的作法確保高品質(2/3) • 使用檢查清單確保story之品質 • 方式為 • 專注在早期測試的規格及設計 • 讓其他人審查所完成的story

  13. Story Completion Checklist可 • 幫助結構化開發Story的步驟 • 定義工作項目需要被審查員審查的日期

  14. 改善Agile的作法測試、整合、發布及configuration management(1/3) • 自動化測試是在Sprint中必備的 • 一旦有developer將code commit至共同的build server即馬上進行測試 • 每一專案需要有一標準的生產線讓專案能快速啟動 • 在持續整合中,當check in code時須要先滿足以下條件 • 在開發者電腦上,測試必須先能穩定地執行 • 經code分析工具(FxCop)檢查過

  15. 改善Agile的作法測試、整合、發布及configuration management(2/3) • 專注在“fix-time after failed build”,可帶來專案好的紀律 • 一旦有failed build發生即停止生產線 • 使用build管理工具(CruiseControl)告訴所有開發者build失敗發生

  16. 改善Agile的作法測試、整合、發布及configuration management(3/3) • 週期性地稽核configuration management系統 • 在每一Sprint中,work product evaluation(WPE)會舉行 • 在發布給顧客時,functional configuration audit(FCA)會舉行 • 主要目的在於 • 確保build出來的product是正確且完整,configuration management活動是被正確地執行 • 可讓Scrum team牢記configuration management的活動

  17. 結論 • 此篇論文討論到了 • 較詳細定義的Sprint zero • 風險管理 • 各種的檢查清單 • 作者認為所提出的方法可對大型或分散之專案帶來很大幫助

  18. 感謝收聽

More Related