8. 我們怎麼進行每日會議
 
 
我們每日會議都按照書中進行。它們每天會在同一個地方,同一時間進行。在剛開始的時候,我們都是在一間單獨的房間中,舉行Sprint規劃會議(在那個時候,我們還使用電子板的Sprint backlogs)。然而,現在我們都在任務板前面舉行每日會議,沒有什麼能比它有更好的效果。
 
我們通常都是站著舉行會議,因為它可降低會議時間超過15分鐘的風險。
 
每日會議真的很重要!它是一個時間點 ,來讓大部分的同步訊息發生,以及讓團隊提出重要的障礙 。無疑地,如果做得不好,它可能會真的真的很無聊 – 一堆人在那邊閒聊,可是卻沒人真的在聽。
 
Scrum Guide 最近更新了這三個問題,去反擊這樣狀況:
- 我昨天做了什麼,來幫助我們團隊去達成這個 sprint 的目標?
- 我今天打算做什麼,好幫助我們團隊去達成這個 sprint 的目標?
- 我發現了什麼障礙,會阻止我或是團隊去達成這個 sprint 的目標?
注意把重點放在 sprint 的目標,團隊所共享的高層次議題!如果你的每日會議開始感到單調時,嘗試詢問以下的問題或是 Dan North 版本的問題:”我們’今天’最棒的事情是什麼?” ,然後以開放方式進行討論。無論你怎麼做,不要讓每日會議很無聊。保持不斷嘗試!
 
 
我們如何更新任務板
我們通常在每日會議中更新任務板。每一個人都會說明他昨天做了什麼,今天要做什麼,然後一邊移動任務板上的便利貼。如果他有提到一個沒有規劃到的項目,他會加一張便利貼到任務版上面。如果他需要更新時間的估算,他會寫新的時間到便利貼上面,然後槓掉舊的。有時候Scrum master會在大家說話的時候,同時更新這些便利貼。  
 
81  
 
有些團隊會規定,每個人需要在會議之前更新任務板上的東西。這個方法也不錯。只要決定好規則後,堅持執行就可以。
 
在每日會議中,許多團隊花了很多時間在更新便利貼上的數字。真浪費!每日會議的目的是在取得同步,所以我發現最好的方式是”即時”更新白板(也就是,在事情發生時更新),並且完全忽略任務的估算。以這種方式進行,每日會議就變成是真的在溝通,而不是管理或監督。
 
不管你用什麼形式存放你的Sprint backlog,試圖讓整個團隊,一起保持Sprint backlog的內容是及時更新的。我們曾試過讓Scrum master扮演Sprint backlog的唯一維護者,因此他必須每天詢問大家,各自剩餘的時間估算為何。這個方法的缺點是:
 
•    Scrum master花太多時間在管理工作上,而不是對團隊提供支持,和消除他們障礙。
•    團隊的成員不再關心Sprint backlog的狀態,所以他們不再知道Sprint的狀態。缺少回饋,將會降低整體的敏捷性和團隊專注的程度。
 
如果Sprint backlog設計的很好,團隊中的每個人,都應該很容易去更新它。
 
在每日會議一結束後,要有人算出所有剩餘時間估算的總和,然後在Sprint 的燃燒圖上畫上一個新的點。
 
 
處理遲到的傢伙
有些團隊會準備一個存錢筒。當你遲到時,即使只有遲到一分鐘,你也要投錢到筒子裡頭,沒有人會關心為什麼。如果你在會議前打電話,說你會晚一點到,你也是要投錢。
 
除非你有很好的理由,像是預約去看醫生,或是你自己的婚禮等等,否則是無法倖免。
 
在筒中的錢,可以被使用在團隊中的一些活動,像是我們會在遊戲之夜,用這些錢來買些漢堡吃 :o)
 
這個方法效果不錯,但是,只有在有人常常遲到的團隊才需要,有些團隊不需要這樣的東西。
 
團隊使用各種方式來互相取笑,好讓大家可以準時出現 (如果需要的話)。只要確定是團隊他們自己想出來的,而不是強迫他們用上面或是外面人的方法。確定它很有趣。在某個團隊,遲到的人必須唱一首很白癡的歌。如果你遲到第二次,你必須還要加上跳舞。:o)
 
 
處理"我不知道今天要做什麼"的狀況
有時候,有人會說"昨天我做了這個那個,但是今天不知道該做什麼",這種狀況並不常見。那現在該怎麼辦?
 
讓我們假設Joe和Lisa兩個人都不知道今天要做什麼。
 
如果我是Scrum master,我會讓下個人繼續講下去,但是會先記起來哪個人沒有事做。在每個人都說完後,我會和團隊從上到下檢視一下任務板,確認每件事已經同步,也就是確保每個人都知道,每個項目所代表的意思是什麼,等等。然後我會請人加上更多的便利貼。接下來我會跟那些覺得沒事做的人說: "現在我們已經看過任務板了,你們是否會對今天要做的事有些概念呢?",我希望他們會知道了。
 
如果還沒,我會考慮是否有採用搭檔編程(pair programming)的機會。假設Niklas將要去實做後端系統的使用者管理系統的GUI。我會有禮貌地建議,Joe和Lisa可能可以和Niklas去撘檔編程。通常這都會有效果。
 
要是這樣還不行,應該會採取下面的技巧。
 
Scrum master:"好的,誰要展示有Beta水準的這個版本給我們看一下?" (假設這是Sprint的目標) 
團隊:感到困惑,並保持沉默
Scrum master:"我們還沒有做完嗎?" 
團隊: "嗯……還沒" 
Scrum master:"哦,該死,為什麼還沒? 還剩什麼?"
團隊:"我們還沒有一個測試的伺服器,此外建構的腳本(build script)也有問題" 
Scrum master:"哈" (在任務的牆壁上加上兩張便利貼) "Joe和Lisa,你們今天可以幫我們什麼呢?"  Joe:"哦……我想我可以試著去找找,有沒有測試的伺服器"。
Lisa:"……我可以試著去解決建構腳本的問題"。
 
如果你很幸運的話,會有某個人真的展示出,你所要求的beta水準的版本給你看,那真的是太好了,你已經達到Sprint的目標。但是如果你的Sprint只進行到一半呢? 很簡單,先恭喜團隊做的不錯。然後從任務板中右下角的"next"區域,找出一到兩個故事,放到左邊"not checked out"的欄位中。然後重新開始每日會議,通知產品負責人,你已經加了一些項目到這個Sprint中。
 
或是利用時間去償還一些技術債,或者是做些技術上的探索。並確保產品負責人在這個訊息迴圈中。
 
但是如果團隊還沒有達到目標,Joe和Lisa仍然拒絕去做些有用的工作。我通常會考慮以下幾種方法(沒有一種是令人愉快的,但是已經是最後的手段了):
 
•    羞辱的方法:"如果你不知道你怎樣可以幫助團隊,我建議你回家去吧,或是看些書,或是怎樣都行。要不坐在旁邊,等到有人需要幫忙就過去幫忙"。
•    保守的方法:隨便指派一個任務給他們。
•    同事間施壓的方法:告訴他們: "Joe和Lisa,放輕鬆來選擇,我們大家站在這裡等你,直到你們找出可以幫助我們達成目標的工作為止"
•    奴役的方法:"你們可以幫忙做一些雜役,像是倒咖啡,幫人按摩,清理垃圾,煮午餐,或是一些我們可能要你們幫忙的事"(你可能很驚訝,一聽到這裡,Joe和Lisa在一瞬間就找出要做的技術性任務:o)
 
如果有人經常逼得你這樣做,你應該要把她叫到一旁,給他一些指導。如果這個問題持續存在,你需要評估一下,是否這個人對你的團隊很重要。
 
如果他不是太重要,試圖把他從你的團隊中移走。
 
如果他很重要,就試圖讓他和別人搭檔,讓那個人當他的"牧羊者"。Joe可能是一個優秀的開發人員和架構師,只是他比較需要讓其他人告訴他該做什麼。好的,給Niklas當Joe的牧羊者,或者你自己來做這件事。如果Joe 在你的團隊是非常重要,那這樣做非常值得。我們有過這樣的例子,多少有點效果。
 
對於剛接觸 Scrum 的團隊,”我不知道今天要做什麼”是常見的典型問題,因為過去是由其他人,為他們決定事情。當他們對於自組織有更多經驗後,這個問題就會消失。人們會學習去找出要做什麼。所以如果你是一個 Scrum master,並且發現你常常依賴上面那些方法,你應該考慮後退一步。儘管你有想幫忙的意圖,但你可能會變成,團隊停止去學習,如何做到自組織的最大障礙!
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kojenchieh 的頭像
    kojenchieh

    David Ko的學習之旅

    kojenchieh 發表在 痞客邦 留言(0) 人氣()