今天實在是很漫長,到重構練習完成,我們還有時間做下一個活動的演練:計劃游戲。
作為一個最不專業的解釋,計劃游戲就是在現場客戶、開發人員、相關負責人員的參與之下,分解、分配和估計任務的活動。之所以可以稱之為游戲,因為這個活動充滿了游戲性:由客戶編制一些“故事卡片”,并初步標明一些優先級,用于描述自己的需求,然后開發人員估計它們;客戶可以選擇自己最想要實現的“故事”是哪些,并和開發人員一起商定能夠實現的時間,開發人員通過不斷的優化對故事的任務分解和協調每個人具體的任務來盡可能滿足客戶的要求。每個開發人員都有選擇任務的權利,實際上,任務在最開始都應該是自主選擇的,而不是強制指定的,就算選擇任務的人并不是“最適合”的人。不過為了滿足客戶的一些急切的愿望,引導者應該能夠兼顧興趣和效率之間的關系。
根據比較官方的說法,計劃是持續的、循序漸進的,每2周,開發人員就為下2周估算候選特性的成本,而客戶則根據成本和商務價值來選擇要實現的特性。不過實際操作中,到底要計劃到什么程度倒可以由引導者來指定,例如,發現任務提前快完成了,當然應該就可以準備下一步要做的事情了。
在演練計劃游戲中,我是作為現場客戶存在的,我今天說的故事比較簡單,就是我們項目中的一些前期分析的工作(嗯,其實準確來說,我不是在說故事,而是直接開始指定任務并要求分解了,但作為演練應該還是夠了)。大家分解這個任務,并把小的任務寫在白板上,每個人每選一個任務就對它進行一次估計,一會就分解完成。XP里面推薦的估計方法是通過“點數”來算的,但這個似乎比較難操作,所以我們是通過“理想工作小時數”來估計的。每個人每天有4個小時的理想小時,然后想想自己如果專心致志的做這個任務需要多少個小時。這個演練要持續一天,所以每個人能夠做的就只有4個小時的事情,當選完4個小時之后也就是用完自己所有可用的時間,這樣也就不能再多選了。另外,還需要為任務分級,這是從開發的角度上進行的估計,分為任務的架構意義、風險和重要性三項,每項有1到3的權值,3為最高。當所有任務分解完畢,而大家手上還有空閑時間,那么我們就可以請求客戶增加任務(嗯,這種情況比較少);當所有時間分配完畢,而還有任務沒人認領,那么我們就要考慮重新調整任務的認領人來獲得更多空余時間,或需要和客戶交流適當把一些低優先級的任務刪減掉,保證總時間點在忍受范圍內。
由于這只是一個演練,所以事情很簡單也很順利,我們恰好分解完所有任務,然后興致勃勃準備投入到明天的工作中去。(噢,原來今天結束了。。
文章來源于領測軟件測試網 http://www.kjueaiud.com/