mature agile with a twist of cmmi
DESCRIPTION
Mature Agile with a Twist of CMMI. Presenter: 975202075 陳俊志. 大綱. 簡介 背景 改善 Agile 的作法 結論. 簡介. 分享將 Scrum 與 CMMI 成功結合的經驗 提出如何將部分 CMMI 的 practices 帶入到 Agile 專案,建立更牢固的軟體開發法. 背景 (1/3). Systematic 公司 致力於在資訊與通訊系統領域中的 IT 解決方案 通過 CMMI level 5 評鑑 能夠以漸進及創新方式不斷地修正以改善流程 CMMI 可維持一組織能夠預測及改善專案之實行. - PowerPoint PPT PresentationTRANSCRIPT
Mature Agile with a Twist of CMMI
Presenter: 975202075 陳俊志
大綱 簡介 背景 改善 Agile的作法 結論
簡介 分享將 Scrum 與 CMMI成功結合的經驗
提出如何將部分 CMMI 的 practices帶入到 Agile專案,建立更牢固的軟體開發法
背景 (1/3)
Systematic公司 致力於在資訊與通訊系統領域中的 IT解決方案
通過 CMMI level 5評鑑 能夠以漸進及創新方式不斷地修正以改善流程
CMMI可維持一組織能夠預測及改善專案之實行
背景 (2/3) 只有 Agile的情況
無一致的製作方式 管理流程不足
而 CMMI可讓 Agile制度化( Institutionalization)並於出現問題時提供該往哪方向解決
只有 CMMI的情況 流程實作內容不足
而 Agile提供有效符合 CMMI流程需求的實作方式
背景 (3/3)
Scrum角色之對應 Product Owner→Project
Manager 、 Software Architect 或 User Experience Engineer
Scrum Master→Team leader
改善 Agile的作法建立好的初步 product backlog(1/3)
CMMI中之 Project Planning(PP)可作為Scrum 的 Sprint zero CMMI中之 Project Planning
Work Breakdown Structure(WBS) 成本估計 資源規劃 Stakeholder參與計畫 風險管理計畫 …
PP之流程更新為須產生 product backlog
每一 activity會有描述說明如何實行、需要的輸入及輸出
描述是基於過去經驗而定出 經 Product Owner確認過計畫後才能進入執行
改善 Agile的作法建立好的初步 product backlog(3/3)
二個層級的計畫及追蹤 進入執行後有
Product Owner依據建立的專案計畫進行追蹤 Scrum team追蹤目前的 Sprint進度
相較於只有 Sprint backlog,以上之計畫活動能夠更清楚定義 Sprint的目標為何
Scrum team可專注在 Sprint上
改善 Agile的作法風險( Risks)及阻礙( Impediments)
計畫及風險管理活動降低了 product backlog的風險 讓 Scrum team去對 product backlog中之項目用1至3 點去估計難度
舉行風險辨識會議找出重要風險 風險管理可主動預防阻礙
CMMI之風險管理著重在預防 計畫階段
Project Plan為風險辨識之依據 執行階段
藉由二周一次的會議中報告已知及新的風險
改善 Agile的作法確保高品質 (1/3)
在 Scrum中是藉以下二點來確保高品質 短的回合( Iteration)及 顧客在 Sprint的結束進行檢驗
精確的品質計畫 Quality Assurance Schedule(QAS)
需要被審查的 story 需要檢查的程式碼 哪種文件是需要哪種審查 …
QAS能讓 Scrum team了解到怎樣才叫完成
改善 Agile的作法確保高品質 (2/3)
使用檢查清單確保 story之品質 方式為
專注在早期測試的規格及設計 讓其他人審查所完成的 story
Story Completion Checklist可
幫助結構化開發 Story的步驟
定義工作項目需要被審查員審查的日期
改善 Agile的作法測試、整合、發布及 configuration management(1/3)
自動化測試是在 Sprint中必備的 一旦有 developer 將 code commit至共同的
build server即馬上進行測試 每一專案需要有一標準的生產線讓專案能快速啟動
在持續整合中,當 check in code時須要先滿足以下條件 在開發者電腦上,測試必須先能穩定地執行 經 code分析工具( FxCop)檢查過
改善 Agile的作法測試、整合、發布及 configuration management(2/3)
專注在“ fix-time after failed build”,可帶來專案好的紀律 一旦有 failed build發生即停止生產線 使用 build管理工具( CruiseControl)告訴所有開發者 build失敗發生
改善 Agile的作法測試、整合、發布及 configuration management(3/3)
週期性地稽核 configuration management系統 在每一 Sprint中,work product evaluation(WPE)會舉行
在發布給顧客時, functional configuration audit(FCA)會舉行
主要目的在於 確保 build出來的 product是正確且完整, configuration
management活動是被正確地執行 可讓 Scrum team牢記 configuration
management的活動
結論 此篇論文討論到了
較詳細定義的 Sprint zero 風險管理 各種的檢查清單
作者認為所提出的方法可對大型或分散之專案帶來很大幫助
感謝收聽