敏捷開發中SCRUM的實作方式

Scrum 的理論

Scrum 建立在經驗主義和精實思維之上。 經驗主義堅信,知識來自經驗,以及根據觀察到的事物做出決策。精實思維減少浪費,專注於根本。
Scrum 採行迭代和增量的方法來優化對未來的預測性並控制風險。Scrum 讓一群共同擁有全部所需之技能與專長的人員從事工作,並視需要分享及獲得這些技能。
Scrum有三根支柱支撐了所有經驗導向的流程控制的實行:透明性,檢視性,調適性

透明性(Transparency)

湧現的流程和工作必須對執行工作和接受工作的人員都是可見且透明的。在 Scrum 裏,重要的決策是基於對其三個正式產出物(Artifacts)的感知狀態。透明性低的產出物(Artifacts)會導致做出讓價值減少且風險增加的決策。
透明性促成檢視性。 没有透明性的檢視會產生誤導和浪費。

檢視性(Inspection)

必須要經常用心地檢視 Scrum 的產出物(Artifacts)與一致同意的目標進度,以便發現潛在的誤差和問題。為了有助於檢視性,Scrum 以六個事件(Events)的形式提供了穩定的節奏。檢視性促成調適性。 沒有調適性的檢視是沒有意義的。Scrum 的事件旨在激發改變。

調適性(Adaptation)

若是流程的任何方面已偏離且超出可接受的範圍,或是所得的產品無法被接受,則必須將所採用的流程或其打造出來的材料進行調整。調整工作必須盡快執行,以減少未來更多的偏差。當相關人員未獲得授權,或無法自我管理時,調適性將變得更加艱難。一個 Scrum 團隊透過檢視而學習到的新事物之當下,應當立刻調適。

Scrum 的價值觀

Scrum 的成功應用取決於人們更完善的執行五項價值觀:承諾、專注、開放、尊重、與勇氣。Scrum 團隊致力於達成其目標並彼此相互支援。他們主要專注在 衝刺(Sprint) 的工作,盡可能地朝向目標前進,以獲取最好的進展。Scrum 團隊與其利害關係人對於工作及挑戰抱持著開放的態度。Scrum 團隊的成員們互相尊重對方是個有能力和獨立的人,同時也受其他同事同等的尊重。Scrum 團隊的成員們有勇氣去做對的事情、並處理棘手的問題。

這些價值觀指引了 Scrum 團隊的工作、行動與行為。所做出的決定、所採取的步驟與如何使用 Scrum 都應該反覆的加強這些價值觀,而不是削弱或破壞這些價值觀。Scrum 團隊成員們依照 Scrum 的事件和工件來學習並探索這些價值觀。當 Scrum 團隊以及與工作的同事們展現了這些價值觀,就能活現出 Scrum 經驗的支柱:透明性、檢視性與調適性,並在每個人之間建立信任。

Scrum的實作方式

敏捷開發管理是一套開發專案管理的哲學,有助於團隊持續改善。敏捷團隊深信迭代漸增式開發的做法有助團隊回應改變和因應不確定性。Scrum 和看板都是敏捷法其中的一種方法,可把敏捷法視為Scrum 和看板的總稱。
Scrum實作方式包含角色、產出物、事件。

圖一、Scrum實作方式

SCRUM團隊的角色

Scrum只有3種角色:產品負責人(Product Owner)、Scrum教練(Scrum Master) 和團隊成員。沒有業務分析師、技術主管或是資深Scrum大師;就只有以上3種角色組成能夠獨立提供價值的Scrum團隊。「團隊」是Scrum裡最小的組織單位,它要在很短的「衝刺」(Sprint)時期迅速為客戶提供價值。

  • 產品負責人(Product Owner):其實,產品負責人這個角色有點像是客戶代表。他會站在比較接近客戶的立場,去設定產品待辦項目的優先順序,以及為團隊說明客戶的需求。
  • Scrum教練(Scrum master):顧名思義,Scrum教練必須熟知整個Scrum敏捷開發,以便能夠協助產品負責人和團隊的運作。
  • 團隊(Team):就是一般的開發團隊,通常是跨職能的組成,也就是團隊成員混合著架構師、分析師、設計師、程序員、測試員等等。

不過,如果不特別組成一個Scrum團隊,而是從傳統的團隊成員:專案經理、分析師、設計師、程式工程師,挑選出來兼任上述的產品負責人和Scrum教練的話一些人的看法是:

  • 分析師兼任產品負責人:分析師或許可以兼任產品負責人,主要是因為分析師最了解客戶的需求。特別是很多軟體公司是專案型的公司,而非產品型公司,在並沒有出產自家產品的情況下,很難有所謂真正熟悉產品需求的產品負責人。所以,針對這種專案型團隊,我會建議試著讓分析師兼任產品負責人。
  • 專案經理兼任Scrum教練:專案經理也許可以兼任Scrum教練,或者尋找外面的顧問來扮演Scrum教練的角色。不過,專案經理若是打算自己兼任Scrum教練的話,在帶領團隊的心態上和作法上可能要有所轉變,不能再像過去只是想「管理」(manage)團隊,而是要換個角度來「協助」(assist)團隊。
  • Scrum 團隊致力於達成其目標並彼此相互支援。他們主要專注在 Sprint 的工作,盡可能地朝向目標前進,以獲取最好的進展。Scrum 團隊與其利害關係人對於工作及挑戰抱持著開放的態度。Scrum 團隊的成員們互相尊重對方是個有能力和獨立的人,同時也受其他同事同等的尊重。Scrum 團隊的成員們有勇氣去做對的事情、並處理棘手的問題。

Scrum的架構

圖二、Scrum架構

首先來了解Scrum架構:Scrum 是一個輕量化的框架,透過提供針對錯綜複雜問題的調適性解決方案,來幫助人們、團隊與組織產生價值。
簡而言之,Scrum 需要一位 Scrum Master 來營造一個開發環境:

  1. 由一位產品負責人將錯綜複雜問題所需之工作事項整理排列成為一份產品待辦清單。
  2. Scrum 團隊在一個衝刺( Sprint )中將所挑選的工作轉化為價值的增量。
  3. Scrum 團隊和利害關係人檢視結果,並為下一個 Sprint 進行調整。
  4. 重複1-3

Scrum 是易於理解的,試試 Scrum 的理論與架構是否可以幫助你達到目標與創造價值。Scrum 會故意框架留白、不完整,而只定義了實踐 Scrum 理論時所需要的部分;Scrum 是建立在 Scrum 使用者的群體智慧之上, Scrum 指南的規則提供的是對這些人之間各種關係與互動的指引,而不是給予詳細的使用說明。

在 Scrum 框架中可以使用各種不同的流程、技術,與方法。Scrum 將現行的實務做法包裝進來,或是使其變成非必要的。Scrum 凸顯當下關於管理、環境和各種工作技術的相對成效,以便可對其進行改善。

Scrum 事件(Scrum Events)

Sprint 是所有其他事件的容器。 包含衝刺規劃、每日Scrum會議、衝刺執行、衝刺產品審核、衝刺過程回顧。產品待辦清單修整 Scrum 中的每個事件都是用來檢視與調適 Scrum 產出物的正式機會。這些事件都是為實現所需要的透明性而特別設計的。未能按規定運作任何事件將導致失去檢視和調適的機會。 Scrum 使用事件來創造規律性,並以此減少 Scrum 中未定義的會議的需要。
最理想的是,所有事件都在同一時間同一地點舉行,以減少複雜性。

Scrum 產出物(Scrum Artifacts)

Scrum 的產出物產品代辦清單、衝刺代辦清單、可交付的軟體增量,所代表的是工作或價值。 它們的設計是為了使關鍵資訊之透明性極大化。因此,每個檢視這些產出物的人,對於調適,都會有相同的基礎。

每個產出物都包含一個承諾,以確保它提供可增強透明性和專注度,給以下可以進度量測的事物:

  • 對於產品待辦清單而言,它是產品目的;
  • 對於 Sprint 待辦清單而言,它是 Sprint 目的;
  • 對於增量而言,它是完成之定義。

延伸閱讀

學習AI和資料科學,你需要懂的職能和學習地圖

在AI和資料科學領域有哪些專業的工作職位?需要哪些關鍵工作和能力?

從認知角度來設計更好的學習體驗

線上學習,如何設計更好學習體驗的技能課程?

作者:劉德泰

現職:
1111人力銀行數位策略顧問
17Sharing.org公益知識分享平台發起人
經歷:
緯育股份有限公司 總經理
資訊工業策進會數位教育研究所 主任
經濟部工業局「國家型數位學習與典藏產業推動計畫」-協同計畫主持人
經濟部工業局「國際化軟體人才暨產業技師培育計畫」-計畫主持人
中華民國數位學習學會常務監事

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Scroll to Top