Scrum是一個包括了一系列實踐和預定義角色的過程骨架。Scrum中的主要角色包括:
Scrum Master 是Scrum教練和團隊帶頭人,確保團隊合理的運作Scrum,並幫助團隊移除實施中的障礙;
產品負責人(Product Owner),確定產品的方向和願景,定義產品發布的內容、優先級及交付時間,為產品投資報酬率(ROI)負責;
開發團隊(Team),一個跨職能的小團隊,人數5-9人,團隊擁有交付可用軟體需要的各種技能。
在每一次衝刺(一個15到30天的周期,其長度由開發團隊決定)當中,開發團隊創建可用的(可以隨時推出)軟體的一個增量。
每一個衝刺所要實現的功能來自產品訂單(product backlog)。產品訂單是按照優先級排列的要完成的工作的概要的需求,哪些訂單項會被加入一次衝刺將由衝刺計劃會議決定。
在會議中,產品負責人告訴開發團隊他需要完成產品訂單中的哪些訂單項。開發團隊決定在下一次衝刺中他們能夠承諾完成多少訂單項。在衝刺的過程中,沒有人能夠變更衝刺訂單(sprint backlog),這意味著在一個衝刺中需求是被凍結的。
管理Scrum過程有很多實施方法,從即時貼、白板,一直到軟體包。
Scrum最大的好處之一是它非常容易學習,而且啟動Scrum應用並不需要太多的投入。
比較
台灣較常用PMP,CMMI
Agile,Srum對國外來說是標準規格
專案開發常遇到的問題
- 客製需求過多
- 錢太少
- 溝通不良
- 開發完不符合要求
我們將輸掉這場“接力賽”
接力賽式的開發違背了我們最大化速度及彈性的目標
相反的透過像橄欖球隊合作無間,並像一個整體迅速的適應於各種需求
敏捷開發的價值觀
個人與互動 > 流程與工具
可用的軟體 > 完善的文檔
與客戶合作 > 合約的談判
對變化的回應 > 執行固定的計畫
什麼是Scrum
敏捷開發的一種派別
從人的互動入手,不只在軟體開發,可用於各種領域如教學
特色
- 容易上手
- 協調溝通
- 自我管理
- 最短時間發揮最大價值(對於使用者)
多能分組
Team具備各種才能的人
Product Owner
- 定義產品瞭解客戶
- 專注市場價值
- 決定先後順序
- 回答Team提出的關於產品特色的問題
Scrum Master
- 為團隊服務
- 幫助大家專注,收斂排除障礙
- 確保大家遵守規則
- 控制時間
- 追蹤進度
Product Features
- 幫特色做排序
- 使用者是誰
Task Board
|
|
Sprint Planning
釐清每一項的標準
分解feature為任務,貼在task board上
問問自己,我們能做什麼
Daily Scrum Meeting
輪流回答三個問題
昨天我做完什麼
今天我將要做什麼
有什麼困難阻礙,需要幫助
Progress Report & Burndown chart
SM更新Scrum Board
|
|
回顧會議 Retrospective
- What worked well?
- What didn’t?
- What experimnet will we try next sprint
- Output = imporved team
Learn More
- Books about Agile and Scrum
- Community
- Meetup
- Trainging