淺談敏捷思想-10.Scrum概論

Scrum概論

本文並非Scrum的教學文章,而是對PMI-ACP中與Scrum相關的主要考點,進行結構化輸出和知識點整理。
Scrum入門可以參閱Scrum創始人Ken Schwaber和Jeff Sutherland撰寫的《Scrum指南》。

什麼是Scrum?

1995年,Ken Schwaber和Jeff Sutherland提出了Scrum方法並且在OOPSLA工作坊中進行了初步的實踐。

Scrum 是一個框架,在此框架中人們可以解決複雜的自適應難題,同時也能高效並創造性地交付可能最高價值的產品。

Scrum

實施Scrum對組織和項目的好處:

  • 更高的生產力和更低的成本。
  • 員工的參與度與工作滿意度增強。
  • 更快的產品上市時間。
  • 更高的質量。
  • 項目干係人的滿意度提升。

Scrum框架

從整體來說,SCRUM這個框架裏面包含了這幾個核心的要素,就是我們說的3355。

三種角色:

  • Product Owner
  • Scrum Master
  • Dev Team

三種工件:

  • 產品待辦列表 Product Backlog
  • Sprint待辦列表 Sprint Backlog
  • 產品增量 Product Increment

五種事件:

  • 迭代 Sprint
  • 迭代計劃 Sprint Plan
  • 每日站會 Daily standup meeting
  • 評審會議 Sprint Review
  • 迭代回顧 Retrospective

五種價值觀:

  • 勇氣 Courage – 勇於承諾,履行承諾,敢於說不
  • 開放 Open – 團隊內所有信息對所有人開放
  • 專注 Focus – 全身心都用到你承諾的工作上去
  • 承諾 Commitment - 願意對目標做出承諾
  • 尊重 Respect – 每個人都有他獨特的價值和經驗

Scrum三大支柱

透明性 Transparency
  1. 過程或者項目的各個方面必須對結果負責人的透明的。

  2. 運用信息發射源,讓這些關鍵信息,如產品待辦事項列表,衝刺代辦事項、障礙、風險和項目進展對所有的利益相關者是透明的。

檢視 Inspection
  1. 團隊根據項目目標定期檢查他們的績效和進展。

  2. 他們不斷尋找問題和計劃的偏離。

適應 Adaptation
  1. 基於觀察期間的檢查,採取必要的變更流程,以避免問題再次發生,提供項目交付成功率。

三種角色

Scrum團隊由5~9個團隊成員組成。有三種類型角色:

  • 產品負責人 Product Owner
  • Scrum Master
  • 開發團隊 Dev Team

Scrum 團隊角色

Product Owner

產品負責人的職責是將開發團隊開發的產品價值最大化。(產品負責人是一個人,而不是一個委員會。)

  • 清晰地表述產品待辦列表項;
  • 對產品待辦列表項進行排序,使其最好地實現目標和使命;
  • 優化開發團隊所執行工作的價值;
  • 確保產品待辦列表對所有人是可見、透明和清晰的,同時顯示 Scrum 團隊下一步要做的工作。
  • 確保開發團隊對產品待辦列表項有足夠深的瞭解。
Scrum Master

Scrum Master負責確保所有人都能正確地理解並實施Scrum。因此Scrum Master要確保Scrum團隊遵循Scrum的理論、實踐和規則。

  • 促進團隊的工作
  • 幫助團隊熟悉與掌握 Scrum 價值觀與框架
  • 幫助團隊排除影響生產力的障礙
  • 保護團隊不受打擾
Scrum Master 服務於產品負責人

Scrum Master 以各種方式服務於產品負責人,包括:

  • 確保 Scrum 團隊中的每個人都儘可能地理解目標、範圍和產品域;
  • 找到有效管理產品待辦列表的技巧;
  • 幫助 Scrum 團隊理解爲何需要清晰且簡明的產品待辦列表項;
  • 理解在經驗主義的環境中的產品規劃;
  • 確保產品負責人懂得如何來安排產品待辦列表使其達到最大化價值;
  • 理解並實踐敏捷性;
  • 當被請求或需要時,引導 Scrum 事件。
Scrum Master 服務於開發團隊

Scrum Master 以各種方式服務於開發團隊,包括:

  • 作爲教練在自組織和跨職能方面給予開發團隊以指導;
  • 幫助開發團隊創造高價值的產品;
  • 移除開發團隊工作進展中的障礙;
  • 按被請求或需要時, 引導 Scrum 事件;
  • 在 Scrum 還未完全採納和理解的組織環境中,作爲教練指導開發團隊。
Scrum Master 服務於組織

Scrum Master 以各種方式服務於組織,包括:

  • 帶領並作爲教練指導組織採納 Scrum;
  • 在組織範圍內規劃 Scrum 的實施;
  • 幫助員工和利益攸關者理解並實施 Scrum 和經驗導向的產品開發;
  • 引發能夠提升 Scrum 團隊生產率的改變;
  • 與其他 Scrum Master 一起工作,增強組織中 Scrum 應用的有效性。
Dev Team

開發團隊包含各種專業人員,負責在每個 Sprint 結束時交付潛在可發佈並且“完成”的產品增量。 在 Sprint 評審會議上,一個“完成”增量是必需的。只有開發團隊成員才能創建增量。

開發團隊具有下列特點:

  • 他們是自組織的。沒有人(即使是 Scrum Master)有權告訴開發團隊應該如何把產品
    待辦列表變成潛在可發佈的功能增量;
  • 開發團隊是跨職能的團隊,團隊作爲一個整體, 擁有創建產品增量所需的全部技能;
  • Scrum 不認可開發團隊成員的任何頭銜,不管其承擔何種工作(他們都叫開發人員)。
  • Scrum 不認可開發團隊中所謂的“子團隊”,無論其需要處理的領域是諸如測試、架構、運維或業務分析;
  • 開發團隊中的每個成員也許有特長和專注的領域,但是責任屬於整個開發團隊。
“豬”與“雞”的寓言

豬與雞在散步,
雞:“我們一起開家餐館吧?”
豬:“好的,餐館起個什麼名字呢?”
雞:“火腿和蛋!”
豬:“我不和你一起開餐館了。因爲我得全身心付出,而你僅僅是牽涉入內。”

區分兩類人:對承擔項目的人賦予權力,使其完成必要工作,確保項目成功;無責任人員則無權對項目施加不必要的干涉。

敏捷項目的運作中,敏捷教練要保護團隊不受外部干擾。如果項目中的伸手過界的“雞”太多,則項目很難走向成功。

三種工件

Scrum 的工件以不同的方式表現工作任務和價值,可以用來提供透明以及檢視和適應的機會。 Scrum 所定義的工件是特別地設計的,是爲了給關鍵信息提供最大透明化,因此每個人對工件都需要有相同的理解。

  • 產品待辦列表 Product Backlog
  • Sprint待辦列表 Sprint Backlog
  • 產品增量 Product Increment
Product Backlog

產品待辦列表Product Backlog即產品視角的需求清單。

  1. 由 Product Owner 負責維護,包括增刪及優先級。
  2. 用戶故事是其中一種最佳實踐。
  3. 每項需求都需要描述其外部價值。
Sprint Backlog

Sprint 待辦事項 Sprint Backlog即此次衝刺週期內規劃要完成的內容。

  1. 來源於Product Backlog。
  2. 由團隊評估和選擇Product Backlog中哪些放入Sprint Backlog。
  3. 團隊需要一起定義“完成”的標準。
Product Increment

可交付產品增量Increment即衝刺結束後可對外發布的產品功能增量部分。

  1. 需要關注其是可工作的軟件功能增量。
  2. 需要要在Scrum Review會議上進行演示。

五種事件

迭代 Sprint

Sprint(衝刺、迭代)是一個特殊的事件,或者說其一個容器事件。後續四個事件包含在其中。

  • 2-4周
  • 固定週期,固定時間開始,固定時間結束
  • 時間盒是其一個重要的概念
迭代計劃 Sprint Plan

Sprint規劃會的核心議題是下一次衝刺要實現的目標和範圍。

  • 確定 Sprint 的目標
  • 對產品backlog 中 item 進行估算,以作爲是否放入下期的參考。
  • 對於需求不清楚的 item,請 Product Owner 說明。
  • 輸入是 Product backlog
  • 輸出是 Sprint backlog
每日站會 Daily standup meeting

站會的目標是促進信息在團隊內共享與透明。

  • 回答3個問題
    • 本次會議之前,我做了哪些事情?
    • 本次會議之後,我準備做什麼事情?
    • 目前我是否碰到障礙,阻礙我達成目標?
  • 每天15分鐘
  • 不是深入的問題討論
  • 每天固定時間召開
評審會議 Sprint Review

Sprint 評審會在衝刺末期召開,檢查本期的成果。

  • 團隊全體參與
  • 邀請相關干係人蔘與
  • 2-4小時
  • Product Owner可以拒絕接收成果
迭代回顧 Retrospective

團隊一起復盤本次衝刺的過程,總結經驗與教訓,並形成切實可行的改進清單。

  • Sprint評審會結束後召開
  • 時間2-4小時
  • 團隊全體參與

參考資料

[1] Ken Schwaber、Jeff Sutherland.《Scrum指南》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章