你的開發團隊採用 Scrum 而你是 Scrum Master。在 sprint demo (sprint review meeting) 的前一天 18:20, 正當你在培養下班情緒準備打包閃人的時刻,你的 team member 甲突然給你一個驚喜...
Team member 甲:這個 story 可能做不完了。
Scrum Master:那... 明天可以 demo 嗎?
Team member 甲:資料庫還沒接上去,但是可以在我的 Eclipse 開發環境裡面執行,用測試的假資料來 demo。
Scrum Master:可是這個 story 要真正連到資料庫,從資料庫抓真的資料來顯示這樣才算有串起來耶。
Team member 甲:...。
Scrum Master:那我看還是把這個 story 移到下個 sprint。
***
隔天 daily scrum 的時候...
Daily scrum 結束之後...
Scrum Master:那是不是用最新的安裝程式就可以看到這個新功能。
Team member 甲:可是這個功能的 link 還沒放到系統中....
Scrum Master:所以還是沒有把個 story 『完整做完』,那還需要 demo 嗎?
此時 Team member 乙 插了一句話...
Team member 乙:還是可以先看一下畫面。
Team member 甲:對啊,先看一下,大家討論一下,如果有需要修改下個 sprint 可以比較清楚要如何修改。
***
各位鄉民們,請問該如何處置?
這個問題以前有談過,簡單的二分法:
- 沒做完就是沒做完,把 story 移到下個 sprint 繼續做,或是。
- 把 story 範圍切小一點,在這個 story 中 demo 已經完成的部份。
原本的 story:身為使用者,我可以在 XXX 系統的網頁上看到股票趨勢圖。
修改後的 story:身為使用者,我可以看到 XXX 系統股票趨勢圖...的 prototype。
ㄟ,其實 Teddy 也不是很確定這樣改到底好不好,不過至少可以從 story 得知,該功能還沒有被整合到系統裡面,只是完成了 prototype。講了老半天看起來好像只是在玩『文字遊戲』,但是這其中的差別其實是很重大滴。Story 做完了,就表示客戶可以立即拿到一個包含該 story 的 running software。如果有人宣稱 story 做完了但是 sprint 結束之後卻『無法交貨』,那麼這種說法就是很有問題的。
現在不是很多賣電子產品的公司們都在搞什麼『預購』,宣稱 X月X日可以交貨,
***
Teddy 參加過好幾個不同軟體的 sprint demo,經常看到某個 story 是在開發環境中(例如 Eclipse)被 demo 的,根本不是用一個完整的系統來 demo。很可能是該 story 還沒被整合到系統中。這樣也就算了,但是從 story 的敘述來看,該 story 明明是已經做完了啊。這樣的 demo 方式(或是說,這樣的 Scrum run 法),是讓人(product owner 與 customers)很混淆的,而且離『每個 sprint 結束都完成一個潛在可發布的軟體』這個目標還好遠呢。
Story 沒做完,又想 demo,但是又讓別人看起來覺的這個 story 好像做完了,事實上是產生『Partially Done Work 』,這是一種浪費,要被消除(請參考『消除浪費 (1):Partially Done Work 』)。
結論:『同誰,九陰真經不是這樣子練滴』。
***
友藏內心獨白:有些事,該堅持還是要堅持。
為什麼team member是跟scrum master匯報呢?PO去哪了?
回覆刪除