l

2013年5月10日 星期五

同學,Story不是這樣寫滴

May 8 21:30~22:16

螢幕快照 2013-05-08 下午10.13.40

 

俗話說:「story哪要說透支,目屎就撥不離嚎啕大哭。請鄉民用《搞笑談軟工》部落格上面的「搜尋此網站」功能以「story」作為查詢條件搜尋一下,看看可以找到幾篇和story有關的文章。答案是…一大堆挑眉質疑老師在講你有沒有在聽,沒有嘛!(丟筆)

多說無益,看一個例子先。

Context:你的團隊採用Scrum來開發一套Web-based應用系統,你的PO(Product Owner)應開發人員要求,寫了以下這個technical story:

身為建構工程師,我可以安裝多份軟體系統,以縮短建構時間

Problem:請問上面這個technical story有何問題?

***

鄉民甲:沒有問題啊,story的格式:As a [role],I can [do something], so that [benefit],該有的元素都具備了。

鄉民乙:樓上這位都沒準時收看《搞笑談軟工》,Teddy兩個禮拜前在《C. C. Agile聚會Sprint 8精華報導》裡面有提到,可以改用這種新的格式啦:To [benefit], As a [role], I want [desire/goal]。

Teddy:樓上這兩位的答案,全錯挑眉質疑。請注意一下,原本story的格式:

As a [role],I can [do something], so that [benefit]

重點在於「因為做了某件事,所以可以得到某個好處」,請回頭再看一遍原本的technical story:

身為建構工程師,我可以安裝多份軟體系統,以縮短建構時間

Why?為什麼安裝多份軟體,就可以說短建構時間(built time)?這兩者並沒有必然的因果關係啊,嚴格講起來上面這句中文語意就是錯誤的。

PO:請容我澄清一下,因為我們每次建構的時候,都會執行「自動化驗收測試」。這份驗收測試案例會在IE、Firefox、Chrome這三個瀏覽器上面各執行一次,每執行一次要50分鐘,一共需要150分鐘。我們現在想要同時執行這三個瀏覽器的測試案例,為了怕測試案例彼此影響,因此需要安裝多份待測程式(我們的Web-based軟體系統)。

Teddy:喔,原來如此,很抱歉還是零分。照你所說的,這個technical story應該要這樣寫:

身為建構工程師,我可以同時透過IE、Firefox、Chrome執行自動化驗收測試案例,以縮短建構時間

或是寫的一般化一點,改成這樣:

身為建構工程師,我可以同時透過多個不同瀏覽器執行自動化驗收測試案例,以縮短建構時間

***

是「同時可以開啟多個瀏覽器來執行自動化驗收測試」這件事,使得「縮短建構時間」變得可能。至於要不要「安裝多份軟體系統」,這只是實作上的細節。寫到這裡又想到之前不知道在書上還是網路上看到的一句話:

Doing Agile VS. Being Agile

「喔,要採用Scrum,有啊,我們有寫story、有product backlog、有sprint planning meeting、有daily scrum、有taskboard,有sprint review、有retrospective。該有的,我們都有了,不該有的,我們也有。」

這樣充其量只算是達到「doing agile」,但卻不一定是「being agile」。要認真思考,活在當下,想一想,你正在做的這件事,真的是有符合設計者當初的原意嗎?還是只是你自己以為你在做這件事,但事實上卻完全不是那麼一回事

今天罵人的配額已經用完了,罵完收工挑眉質疑

***

友藏內心獨白:Story寫到最後變成Sorry,真的是「目屎就撥不離」…Orz。

1 則留言: