如何在敏捷開發中成為合格的Scrum Master?

Scrum 敏捷開發有三個主要角色:

The 3 Scrum Roles

Scrum Master 是最重要的角色之一。今天我們將討論如何成為合格的 Scrum Master。

什麼是 Scrum Master?

在許多開發專案中,Scrum Master 常被誤認為是專案經理。同時,我經常看到有人堅持認為 Scrum Master 與專案經理是完全不同的角色。我不同意。在我的觀點中,雖然 Scrum Master 不是傳統的專案經理,但他們仍執行許多相同的職能。那麼,Scrum Master 的具體職責究竟是什麼?我們該如何才能成為合格的 Scrum Master?

What is a Scrum Master

以下是六個可供參考的關鍵面向:

1. 管理 Scrum 流程

這是 Scrum Master 的核心職責,也是他們與傳統專案經理的主要區別:Scrum Master 必須在每個Sprint期間維持流程,並確保團隊遵守 Scrum 的價值觀與最佳實務,以確保專案能順利執行並完成。

首先,Scrum Master 會主持 Sprint 期間的每一場會議,包括:

此外,Scrum Master 協助產品負責人建立並完善產品待辦事項清單以及Sprint 待辦事項清單,並透過持續的待辦事項精煉會議來優先排序故事。

最後,Scrum Master 協助Scrum 團隊在開發過程中排除障礙。Scrum Master 應建立障礙日誌,記錄團隊在開發過程中遇到的問題與阻礙。此日誌由 Scrum Master 自行管理,清單上的每一項都應及時處理並解決。

2. 保護團隊

Scrum Master 應盡最大努力保護團隊免受外部干擾——尤其是來自產品負責人的干擾。那麼,Scrum Master 如何保護團隊?在哪些情況下團隊需要保護?

Scrum Master Protecting the Team

  • 避免過度承諾
    在每個 Sprint 開始時,Scrum Master 應協助團隊根據其能力與過去表現,承諾一個現實的工作量。切勿盲目或樂觀地向產品負責人承諾過多。有些 Scrum Master 可能高估團隊能力,或試圖透過過度負荷團隊來討好管理層,導致必須不斷加班才能達成 Sprint 目標。這嚴重降低團隊效率。同時,為了趕在緊迫期限內交付,往往導致產品品質極低,形成惡性循環。
  • 均衡的工作負荷
    一位優秀的 Scrum Master 懂得如何與產品負責人「協商」,以確保合理的工時負荷。這種「協商」並非被動地減少工作量或刻意降低團隊負荷,而是安排一個均衡的工作量,讓團隊在不犧牲動機的情況下達到最大效率。這將形成良性循環。
  • 抵禦外部干擾
    我們都知道,變更需求對開發人員來說是一場噩夢。敏捷方法誕生的主要原因之一,就是為了解決這個問題,幫助開發人員接受變更。然而,你經常會遇到產品負責人繞過 Scrum Master,直接向團隊下達新指令。在這種情況下,Scrum Master 必須保護團隊,避免打斷當前進行中的工作。變更固然重要,但不應在活躍的 Sprint 中干擾團隊。變更可以在每日站會或 Sprint 規劃會議中提出並協商。我相信,Scrum Master 應始終秉持著團隊「護腿者」的思維。

3. 有效溝通

通常情況下,Scrum Master 担任利益相關者(管理層、產品負責人)與開發團隊之間的橋樑。很容易讓人覺得 Scrum Master 只是在夾縫中求生存,避免得罪任何人。因此,溝通藝術的重要性不言而喻。如何說服產品負責人、滿足管理層,同時讓開發團隊保持滿意——這是一段需要不斷學習與掌握的旅程。

Effective Scrum Team Communication

以下是一些參考要點:

  • 與管理層溝通:
    定期且及時地向利益相關者報告專案進度與成果。不要等他們詢問。透過電子郵件或儀表板發送簡明的進度更新——著重於進展,避免過度細節。若出現問題,應及早報告,以便受到重視並及時解決。等到最後期限才傳達壞消息,管理層將別無選擇,只能對你的團隊進行微觀管理。
  • 與團隊協調:
    以正確態度樹立榜樣。充分了解每位團隊成員的能力,避免盲目承諾。透過每日站會,確保團隊每位成員都清楚掌握最新進度與狀態。當問題出現時,專注於解決問題,而非責怪個人。

4. 確保品質

品質決定產品的命運。那麼,如何確保品質?以下是一些來自敏捷實踐的實際經驗:

  1. 不要過度強調速度——應著重於可持續且合理的開發節奏。這能確保產品品質的一致性。每個 Sprint 都應穩定完成 Scrum 流程,幫助團隊建立良好習慣,最終達成健康的開發節奏。
  2. 建立並執行編碼標準,定期進行代碼審查。乾淨且一致的代碼能大幅提升團隊的開發與溝通效率。優質的代碼不言自明——代碼審查可採用成對方式進行,且代碼必須通過審查後才能提交。合併至主代碼庫前,應使用拉取請求進行代碼審查。
  3. 撰寫單元測試——我相信每個人都理解其重要性,但許多開發者覺得這過程痛苦且耗時。單元測試讓你的代碼具備可測試性。
  4. 自動化測試。好處不言而喻——使用過的人自然明白。
  5. 盡早且頻繁地整合,以獲得快速反饋——這讓我們能及時取得使用者反饋,並及早修正問題。
  6. 最後,我想強調一件事:不要加班,不要加班,不要加班。

Scrum Quality Check

5. 跟蹤進度

進度追蹤是傳統上由專案經理負責的另一項職責——也是 Scrum Master 的必要要求。有許多監控 Scrum 進度的工具非常有效,例如燃盡圖、任務看板、Excel 待辦事項清單、Scrum 看板,以及其他工具。然而,這些工具大多由不同供應商分別提供。

其中最強大的 Scrum 解決方案之一是「Scrum流程圖板,讓您能在一個設計精美的圖板中,全面管理整個Scrum專案:

Scrum Process Canvas

Visual Paradigm的Scrum流程圖板讓您的團隊能在一個設計完善的圖板中,順暢地完成整個Scrum流程。快速、輕鬆且順利地執行Scrum活動,充分激發全體團隊成員的參與。我們的敏捷軟體讓敏捷專案變得簡單且高效。

6. 團隊建設

團隊建設是專案開發中絕對不可或缺的一環。團隊的凝聚力直接影響團隊的整體戰鬥力。因此,打造一支優秀的團隊,是每位Scrum Master的重要使命。

Scrum Team Building

那麼,要如何有效地打造一支強大的團隊呢?

  1. 敏捷開發最重要的特徵之一是團隊的自我組織。自我組織團隊的優勢在於,賦予團隊成員在無干擾的情況下自主思考、設計與開發的權利,讓每位成員都感受到成就感,從而大幅提升團隊的主動性與動力。
  2. 打造一個學習型團隊。一種有效的方法是定期舉辦內部知識分享會,讓每位成員都能學習新知識,共同成長。
    例如,每週五下午4點,專門安排一小時進行團隊知識分享。只要主題有趣,不一定要技術性,甚至可以是有趣或休閒的內容,每位成員都會充滿動力。這種做法的優點在於,不僅提升技術能力,還能大幅改善團隊溝通,進而增強凝聚力與整體團隊實力。
  3. 最後,提升團隊效能最有效的方法之一,可以用一個字總結:「吃」。總是有一個好時機讓團隊享用美食。當然這需要預算——但總是有辦法的,對吧?

Leave a Reply