l

2010年7月28日 星期三

Story point 為何沒有單位:相對論篇

07/28 22:20~23:30

咳,咳,Teddy 不是物理學家,對於愛因斯坦的『相對論』,當然是完全不了解。相信懂相對論的鄉民們應該不會淪落到看這 搞屁 搞笑談軟工部落格。這幾天 Teddy 剛好看到兩篇滿有趣的文章,多多少少都和相對論有點關係,剛好可以用另一種角度來解釋 Scrum 裡面的 story point,以下請看。

故事一

請翻開『徐詩偉』所著『管得少,是我故意的』這本書第 184 頁:

近代有一位著名的天文學家 Fred Hoyel 認為,若從愛因斯坦相對論的這個理論出發,觀測者觀測標的之間的關係,都是相對的而人類所定義的真理,也都是基於所觀測的角度而來的。若一個人從地球上觀測太陽,太陽的確是繞著地球轉;但是從太陽系的角度來觀測,地球卻是繞著太陽周轉。從這個角度而言,教廷數世紀來所主張的地球中心論,其實和伽利略說的太陽中心論,都是正確的,也都是錯誤的。

從以上這個故事先得到第一個小觀念:觀測是一種相對的概念,觀測的結果取決於『觀測者』與『被觀測者』之間的相對關係。

故事二

請翻開本期(2010年7月號)『科學人』雜誌中文版,第 39 頁『時間只是幻覺嗎?』:

『卡』(還沒開講就被喊卡)。ㄟ,這個故事無法表達,Teddy 讀完之後雖然大部分都不懂,但是卻覺得很有趣。Teddy 敘述一下第 43 頁裡面的一張圖所表達的內容。

時間是描述物體運動或改變的快慢的一種方式,例如光波的速度,心臟的跳動,或是行星自轉的頻率...
  • 光速:每秒30萬公里。
  • 心跳:每分種75下。
  • 地球:每天自轉一周。
我們也可以去掉上面這三個事件的時間單位:
  • 地球每自轉一周,心跳10萬8000下。
  • 每心跳一下,光走24萬公里。
因此,有些物理學家認為,時間只是一種通用的貨幣,有了它,描述這個世界會較容易,但其本身無法獨立存在。以時間來測量過程就像以金錢而不是以物易物來買東西

從第二個故事得到另一個小觀念:藉由描述事件『彼此之間的關係』,我們可以不使用時間來描述事件。

***
通常講到這邊又該輪到路人甲上場了。

路人甲:這和 story point 有何關係?

Teddy 今年5月3日在『如何估算 story point?』中提到:

估算 story point 的目的是用來評估不同 story 之間的『相對大小』,並不是要得到一個精確的數值說 Story A 是 6.25 story points,Story B 是 5.125 story points ...。

舉例說明,老師叫學生去操場拔草,小胖身強體壯,『預估』只要 1 小時就可以拔完。如果是換成瘦小體弱的小英,則『預估』需要 3 小時。同樣一個 Story (操場拔草),小胖 1 個小時可以做完,小英需要 3 小時,我們需要重估這個 Story 的『大小』嗎?當然不需要,因為操場裡面的草,不會因為要去拔它的人不同而有任何改變。所以,只要在估算所有 story 時採用『相對大小』的方式來預估,那麼就不需要因為『預估』所需完成該 story 的 task 時間或是『實際完成』的 task 來重新調整 story point 了。

***

回想一下 Teddy 版的『亂談相對論』所開示的兩個重點:
  • 觀察的結果,取決於觀察者與被觀察者之間的相對關係。
  • 只要描述事件的相對關係,就可以不使用時間這個『貨幣』來描述事件。
Story point 的精神也是一樣,既然『一個 story』 要做多久(這是時間單位喔,例如三天或五天)取決於『誰來做這個 story』,所以直接用『時間單位』來估算 story 是沒有意義也無法估算準確的。所以,套用第二個重點,只要描述『不同 story 之間的相對關係(相對大小),就可以不使用時間單位來描述事件』。

當然啊,即使是『估算相對大小』都不是一件容易的事(這不是件容易的事,估不出來開會到死。讓它淡淡的來,讓它好好的去。到如今年復一年,我不能停止 delay,delay 一年,又過一年。但願那客戶瞎眼,爽快地趕快付錢,掐死你的 PM...XD),所以才會有人想出用『poker game』的方式集眾人的力量來 殺價 估算,以免不小心買貴了...

結論:經過 Teddy 的考證,證明這些搞 agile 的人物理都學的不錯喔。

***

友藏內心獨白:這種聯想力,就跟看香爐中的香灰去猜大家樂明牌有何不同?

4 則留言:

  1. 很有意思
    可以給剛開始估sotry point的學弟看

    回覆刪除
  2. 給學弟看之前先問他們『物理好不好』...XD

    回覆刪除
  3. 這問題還是會回到相對也不準的時候。
    Scrum 現在是顯學,但是某甲估算A=5,B=3,C=10,某乙則是A=10,B=1,C=4,都是相對單位,那要如何解呢?
    根據某Scrum大(講)師說,這樣就是要甲乙交流,然後每個story point都要交流嗎?
    等一下會回到CMMI整天做文件的樣子,改一個下拉選單要跑流程三個月(tata的真實案例)。

    回覆刪除
  4. To M. Jwo:

    YES,沒錯,如果團隊成員對於每一個 story 所估算的 story points 都不一樣,那麼是需要『交流』。首先,因為使用的點數只有 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100, 所以已經先限制可以出現的點數種類。其次,剛開始 run scrum 時,團隊成員的確會花比較多的時間在溝通 story points 上面,這其實是好事,因為通常這樣的現象代表大家對於這個 story 要做什麼其實不是很清楚。以 Teddy 的經驗,在一個 5 個人左右的團隊,長度為兩週的 sprint,平均完成的 stories 數目落在 4-6 左右。Sprint planning meeting 都可以在 4 - 5 個小時內完成,絕對不會搞的跟 CMMI 一樣滴。

    回覆刪除