l

2013年2月4日 星期一

專案Bug太多要不要導入Scrum?

Feb. 04 10:22~23:26

螢幕快照 2013-02-04 上午11.31.21

Teddy有一位朋友對Scrum很有興趣,請Teddy當面跟他介紹,講到一半的時候朋友突然說…

朋友:什麼,deadline到了如果有做不完的需求要把這些需求移到下個版本?!

Teddy:對啊,只要Product Owner隨時都有注意product backlog裡面的需求有依照優先順序排列,而且每次sprint施工所選出來的需求都是優先順序比較高的,這樣子萬一釋出時間到了還有需求沒有做完,剩下來的也是比較不重要的需求。

朋友:可是我們的專案只要需求確定之後,就不能更改耶。

Teddy:啊?!

朋友:因為我們的產品有包含硬體跟軟體,在產品規格(需求)確認之前,行銷、業務、技術人員會先密集討論,但是一旦產品規格確定之後,接下來的開發時程就要依據專案經理拉出來的schedule來執行。規劃的上市時間到了產品就要釋出,而且規格與功能都不能縮水。

Teddy:請問你們的產品規格確認之後,需求會一直改變嗎?

朋友:幾乎不會。

Teddy:那開發過程中,所使用的技術會一直改變嗎?

朋友:也不會耶。

Teddy:那你幹嘛想改用Scrum?

朋友:因為我們的產品bug很多,導入Scrum不是會讓產品品質變好?

***

Teddy在《四種專案複雜度》介紹過一個觀念:「不同類型的專案,需要用不同的開發流程與管理方式」。Teddy這位朋友的專案,比較像是「簡單型專案(Simple)」,也許只要繼續沿用waterfall的專案管理與開發流程應該就可以了。也就是說,朋友真正最痛的問題,是bug太多,專案品質不佳。這個問題的解應該從軟體工程面或是導入實務做法著手,例如:

當然,專案bug很多非常有可能是「不合理的時程」所造成的結果。傳統「計畫驅動」的專案,在「固定產品功能(所有計畫中的功能,一定要全部做完產品才可上市)」的前提下,時程不准延後,開發成本又不能增加(開發人力有限),那怎麼辦?

螢幕快照 2013-02-04 上午11.11.28

除了加班以外,工程師還有另外一項法寶,那就是「降低產品品質。如果鄉民們一定要堅持自己的專案要採用上圖左方的「計畫驅動」管理方式,又希望產品能夠有不錯的品質。在時程固定的前提之下(上市時間不可延後),只有想辦法找到「高品質的開發人力」,或是提升現有開發人員的能力(也就是增加開發成本)。

如果只是因為bug太多這個原因而希望藉由導入Scrum來解決,但卻不想也不需要改變原本waterfall的專案開發模式,導入Scrum就不是合適的藥方。

***

友藏內心獨白:Scrum不是萬靈丹,無法治百病啊。

沒有留言:

張貼留言