7 Tips for Improving the Daily Scrum
http://agilesoftwaredevelopment.com/blog/artem/7-tips-daily-scrum
- 所謂每日站立會議, 就是要站著舉行, 不可以坐著
- 保持儘可能的短, 不要超過15 分鐘
- 要站在工作白板面前舉行, 因為其內容可以幫助討論
- 團隊每個人都要出現
- 不需要一直紀錄談話內容, 要專心聽對話內容
- 專心在第二個和第三個問題, 而不是第一個.
- 要對團隊成員報告, 而不是Scrum master
1.每日站立會議的成功要件
Daily Scrum 在 Scrum 流程中, 是一個重要的會議. 在 "Scrum 用一半的時間做兩倍的事” 一書中, Jeff 提到好的每日例會應該具備以下條件:
- 每天同一時間, 同一地點舉行, 每個人都要參加
- 會議不能超過 15 分鐘
- 每個人要積極參與
前面兩點, 我想是大家都很清楚. 可是關於最後一點, 卻是很少有人提起.
如果你的團隊成員不積極參與, 不在意團隊會不會成功, 任何方法都沒有用.
很多團隊之所以無法把 daily scrum 實施的很好, 其根本原因, 是大家只在乎自己的事情, 只管自己做完沒做完, 可是專案能不能準時交付, 這東西能不能賣錢, 並不是他所在乎的.
你看看職棒選手, 哪個人破紀錄, 或者是拿到完全打擊, 可是球隊輸球, 他還能高興得起來. 球隊沒有贏球, 一切都是 nothing!!
所以每日立會成功的要件, 就是在於你團隊成員想贏的心態. 而關鍵是, 你如何打造出這樣的環境呢? …
2.每日立會不是流水帳
很多人不喜歡每日立會, 覺得他很無聊, 很浪費時間. 可是為什麼會這樣呢? 我想請大家思考幾個問題
1. 在不在乎你做的東西是否影響別人?
你做的東西都真的跟別人沒有關係嗎? 如果有關係, 為什麼別人不需要知道你做了什麼? 或者你改了什麼東西, 不會對他們有影響.
當然啦, 如果是負責多個專案的狀況, 或許就不該和在一起開, 應該要分開處理, 讓會議有專注性, 大家才會集中精神, 把會議給開好
2. 在不在乎專案是否成功?
你覺得專案成功, 是否會帶給你成就感? 是否會讓你覺得與有榮焉? 可是這些事情都不會無冤無故發生, 都是要你有所付出, 願意一起把它做好, 這才會發生.
3. 明明專案出了問題為何不說?
如果你常常加班加得很晚, 專案 spec 不清楚, 或是時程已經延遲,你為何不想說, 為何都只報平安. 明明你討厭官員這樣做, 可是你為何也如此呢?
4. 我們坐在一起, 所以我知道他所有事情
即使再親密的情侶, 都有可能會有對方不知道的小秘密. 有時候你覺得這些小事不重要不想說, 可是對方卻很在意. 所以你怎麼可以假設你知道同事所有事情呢?
講這些問題, 並不是要說這是誰的錯誤. 想說的一個 practice 的導入, 並不是要大家去照著步驟去實施, 而是要去思考, 當初這個 practice 想要解決的事情是什麼, 他所在的 context 是什麼? 這樣你在施行時, 你就能知道重點為何.
所以回到每日立會上面, 雖然每日立會要談的是三個問題:
- 你昨天做了什麼?
- 你今天打算做什麼?
- 你遭遇到什麼問題?
其實前面兩個問題, 都是在為第三個問題鋪陳. 想要跟大家說我做了什麼會影響到大家; 我遇到了什麼狀況, 你們可能也會遇到; 我延遲了, 專案可能因為它而有風險 ……
如果你沒有想清楚它問題背後想解決的問題, 沒有轉變你的思維, 那你的每日立會就會是流水帳, 你只是在 doing agile, 而非 being agile. 你的 agile 終究有天會失敗的
3.每日立會報告方式
在實施 Scrum 時, 最容易被人家採用的, 就是每日立會(standup meeting). 它主要是用來同步資訊, 互相幫助, 以及儘早解決所遭遇的問題.
在我待過的團隊, 通常有以下幾種報告方式:
1. 每個人輪流報告
說明: 大家站在一起, 不管是在站在 task board 面前, 或者不是, 但是在報告的時候, 就是大家輪流講自己的部分, 並不會看 task board, 或是某個檔案.
好處: 很容易就開始, 大多數人都這樣做.
壞處: 他講的東西, 跟 task board 上計劃的東西可能不同, 但是你無法比對
2. 針對每張 task 報告
說明: 大家站在 task board 面前, 針對自己負責的便利貼, 說明處理的狀況如何
好處: 每個 task 都不會漏掉, 每個人的狀態都無所遁形
壞處:
(1) 時間可能會有點久
(2) 每個 task 做好了, 但是不知道每個 feature 到底被處理得如何
3. 針對每個功能報告
說明: 大家站在 task board 面前, 由第一個功能開始, 由負責的人解釋, 跟這個功能有關的每一張便利貼, 目前處理的狀態如何
好處: 可以知道每個 feature 被處理得如何, 從客戶關心的角度出發, 而非只是自己做完就好
壞處: 有可能會報告多次, 如果有人同時負責多個功能.
4. 針對有問題的項目報告
說明: 大家站在 task board 面前, 針對有問題的工作來報告, 通常是已經延遲的, 風險比較大, 離 deadline 比較近, 或者是優先順序高的.
好處: 比較節省時間, 不需要全部的人或事情都講
壞處: 必須事前就檢視哪些是有問題的, 才能讓大家報告
5. 由流程的下游開始報告
說明: 大家站在 task board 面前, 從下游的工作開始報告, 讓下游的工作能夠順利被處理. 也就是 stop starting, start finishing.
好處: 讓每個故事能儘快完成
壞處: 需要改變大家心態, 願意互相幫忙, 否則大家會覺得都是在處理別人的事
那個比較好呢? 個人覺得不同時機, 你要採用不同做法, 沒有所謂的標準答案. 根據你的環境和需求, 不斷演進調整, 這才是 agile 要的.