Srum初體驗工作坊

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

1
Features | ToDO | DOING | DONE

Sprint Planning

釐清每一項的標準

分解feature為任務,貼在task board上

問問自己,我們能做什麼

Daily Scrum Meeting

輪流回答三個問題

昨天我做完什麼

今天我將要做什麼

有什麼困難阻礙,需要幫助

Progress Report & Burndown chart

SM更新Scrum Board

1
2
ToDo | Doing | Done每天的數量
-----|-------|--------------

回顧會議 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