1. 程式人生 > >敏捷開發一千零一問系列之十三:故事點好還是人天好?

敏捷開發一千零一問系列之十三:故事點好還是人天好?

這是敏捷開發一千零一問系列的第十三篇。(在這裡提問之一之二之三問題總目錄

問題

這是課堂上提的一個問題,這是一家外企,PO在國外,研發在國內;PO希望大家用故事點估算,而團隊習慣用人天估算,問用哪個好,或者兩個都用好?

分析

先分析,後出方案。

這個是一個典型的有關無我、無住的問題。

所謂無我,就是先弄清楚為什麼不同的人想要不同的東西,然後本著到底“誰應該要,應該優先滿足誰”而非“我應該要,應該優先滿足我”來分析問題。

所謂無住,就是故事點和人天估算本無優劣之分,否則就不應該並存在另外一個了,何時使用、為什麼使用才是問題的關鍵。

人天估算

人天估算的目的,是為了團隊進行溝通。在半年前寫的鬆結對程式設計共同估算篇(

http://blog.csdn.net/cheny_com/article/details/6587277)中曾提到過,若大家對一件事情的人天估算差別很大,表現了人們實現方法或實現能力的差異。而共同估算過程的重點,就是大家通過溝通,讓新手可以聽取高手的設計方法,從而以高手才能做出的設計完成自己的任務。

多數情況下,如果沒有外界的要求,團隊都應該優先考慮人天估算方法

故事點估算

為什麼人天不能完成這個目標?比如之前團隊10個人,開始一個月完成了150人天的工作,後來一個月完成了200人天的工作,只能說團隊後來有“200人天”可用而已,是時間可用率提升的表現,至於每個人天干的活是否多了,卻無法表現。

故事點則建立了絕對尺度的概念,比如這種故事原來需要10人天,現在5人天就能完成,那生產率就提高了一倍。

原問題分析

這樣看來,他們國外PO喜歡故事點的原因是,他們本來也不關心團隊的開發、內部溝通問題,但是很關心“大家在不在幹活啊,這個月乾的比上個月是不是多啊”這類生產率問題,畢竟工資是國外總部發的。

而本地開發團隊,則更關心“有沒有新手在發明輪子啊,高手是不是可以幫助新手提高效率啊”這類開發問題,所以大家會出現分歧。但是這本身不是零和博弈,畢竟是一個公司。

弄清楚這些問題,就比較好決策了,或者至少知道決策的過程了。

方案

方案0:與總部PO交流估算意圖

這個是個準備活動,千萬不要擔心別人會堅持己見什麼的,有時候所謂“己見”(自己的己)只是“已見”(已經的已),就是他之前就已經習慣了用這個了,沒想過別的。

總部的PO可能有很多原因喜歡故事點:1. 別的團隊都用的故事點,他理解和習慣了;2. 他很擔心大家的工作效率;3. 公司希望對中國研發部門進行效率考核(未必是發工資,極有可能是想知道是否值得在中國投資研發中心,興許越南那個研發中心價效比更高)……

如果答案是3這類本質的活動,那麼就沒什麼可說的了,這個問題很大很重要,不度量不行;但如果只是1,那麼我們還是可以向他說說我們的想法的。

方案1:根據當前的主要問題,確立估算方法

如果不知道問題是什麼,很難討論黃連素好,還是VC銀翹片好,因為不是治療一種病的,別看都是黃色糖衣包著白色藥粉。

方案2:根據估算方法,做好實踐準備

有些估算方法不是太容易推廣,比如故事點。

在前面的連結中有詳細說明,主要困難在於很難找到“標準故事”,如果人員的流動性很強,也很難保證大家對標準故事都很熟悉。

國外之所以使用故事點顯得容易一些,在於其產品研發數量多於專案開發數量,因此研發的延續性強一些,不會三天兩頭變話題;此外國外的流動率很低,不像咱們一半隊員都是新來的,任憑你標準故事多麼標準,他們一個不認識。

這種情況下,就要先解決好這些問題,再談實踐,否則很容易流於形式。