l

2012年11月13日 星期二

用 Kanban + Scrum 支援大型專案(3):三層式每日站立會議

Nov. 12 14:02~15:38

螢幕快照 2012-11-12 下午3.37.27

 

昨天在《用 Kanban + Scrum 支援大型專案(2):分組方式》中介紹了團隊分組的方式。團隊組好之後,接下來的問題就是如何讓團隊內部成員以及跨團隊成員彼此流暢的分工合作。要讓團隊成員可以分工合作,其中一個重點就是所有成員對於專案現況(內容、進度、遭遇阻礙與問題)有一定程度的理解。為了同步不同團隊之間的狀態,《Lean from the Trenches: Managing Large-Scale Projects with Kanban》一書的作者Henrik Kniberg建議團隊成員每天都要舉辦一個15分鐘的每日站立會議(類似Daily Scrum)。但是因為大型專案餐與的人數與團隊個數比較多,光是個別團隊舉辦每日站立會議,只能夠同步單一團隊之間的狀態,那要如何解決這個問題?

Teddy在《用 Kanban + Scrum 支援大型專案》有介紹Scrum of Scrums的雙層會議模式,團隊成員在開完Daily Scrum之後,各組再指派一位成員來開會。Henrik Kniberg則是建議採用三層式的每日站立會議,稱之為Daily Cocktail Party」(每日雞尾酒會)挑眉質疑

***

第一層:功能團隊每日站立會議

螢幕快照 2012-11-12 下午2.29.36

這個會議基本上就跟Daily Scrum會議差不多,不知道Daily Scrum如何進行的鄉民們請參考《Scrum 是什麼(7):Daily Scrum》。不同團隊舉辦每日站立會議的時間不一定要相同,例如Henrik Kniberg在書中提到,有些團隊從09:30-09:45,有些則是09:15-09:30。但是,因為Daily Cocktail Party是接續式的三層會議,第一層開完之後才可以開後續兩層的會議。也就是說,如果不同功能團隊舉辦每日站立會議的時間差異很大的話,那麼這個Daily Cocktail Party就搞不太起來。總不能說,你要參加一個雞尾酒會,有人早上9點就到會場,而有些人晚上7點才到,這樣這個雞尾酒會不是要搞一整天嗎 挑眉質疑

 

第二層:相同專長人員的同步會議

螢幕快照 2012-11-12 下午3.11.29

緊接著第一層每日站立會議,09:35分由各種不同專長的人(分析師、開發工程師、測試工程師)分別舉辦每日站立會議。這些人可以直接在專案看板前開會,例如,分析師看著專案看板的最前端關於需求這一部分的內容,開發人員看著Development的內容,測試人員看著System Test與User Acceptance Test的內容。當然虛擬團隊也可以自己建立自己的團隊看板(類似功能團隊的團隊看板),例如,測試團隊可以自己建立測試狀態看板,用來追蹤與管理更詳細的測試項目。一個完成的story可能需要好幾的測試案例來測試它,就好像功能團隊利用團隊看板來管理story與task的狀態,測試團隊也可以利用團隊看板來管理story與測試案例的狀態。如果測試團隊有自己的團隊看板,那麼測試團隊就可以在自己的團隊看板前開這個會議,不一定要全部的人都擠到專案看板前面。

附帶說明一下,並不需要每一位開發人員都參加開發同步會議(人數會太多),只需要領隊(Team Lead或是Scrum Master)與整個專案的開發經理參加就可以了。開發同步會議的討論內容可以參考傳統的Scrum of Scrums會議:「上次開會之後你的團隊做了什麼」、「下次開會之前你的團隊準備做什麼」、「團隊是否有遇到任何的阻礙」、「你的團隊正在工作的事項是否會影響到其他團隊」。

整個專案的專案經理則遊走於這些不同的會議之間,看看有沒有什麼需要關注的問題。

 

第三層:專案同步會議

螢幕快照 2012-11-12 下午3.14.33

 

這個會議由各個不同專長的人與各個功能團隊各派出一人參加(分析師一名、測試工程師一名、三個功能團隊各派一名),以及不屬於特定團隊的專案經理、敏捷顧問、建構管理工程師等等。專案同步會議的目的是要關注從需求到成品的過程中是否順暢,這個會議關注以下議題:

  • 每個團隊今天準備做什麼事情?
  • 在工作流程上是否有卡關的問題,如果有,卡在哪裡,要如何排除?
  • 我們是否有偏離原本規劃的產品釋出時程,如果有,要如何調整?
  • 有誰今天都沒有工作可做的嗎?

***

人月神話》這本書告訴我們:在一個已經延遲的專案中加入更多人的,只會讓這個專案延遲得更厲害。為什麼?因為新加入的人在對專案能夠產生真正的貢獻之前,會先造成團隊溝通成本增加,因而導致專案更加延遲。Daily Cocktail Party看起來每天都要開三次站立會議,好像花很多時間都在開會,而且一堆人同時在工作看板前開會,可能會很吵鬧。但根據Henrik Kniberg的經驗,這是一種很有效率的溝通方式,可以讓大型團隊免除傳統官僚體系之下的那種以文件為主的溝通模式所帶來的無效率。

***

友藏內心獨白:還好只有3層,而不是18層 挑眉質疑

2 則留言:

  1. 階層式的好嗎?何不試試分散式。:-)
    http://www.linux.org.tw/CLDP/OLD/doc/Cathedral-Bazaar-1.html

    回覆刪除
  2. Hi Mars:

    分散式Scrum也是另一種擃展Scrum的方式,Henrik Kniberg在書中提到,他認為團隊在同一個地點一起開發,是他的專案能夠成功的單一最重要因素。如果可以選擇『團隊成員在相同地點』或是『分散在不同地點』,我自己也會選擇前者,畢竟溝通起來容易許多。

    分散式Scrum以後有空再介紹。

    回覆刪除