跑Scrum的團隊應該都對Sprint Commitment不陌生。
怎麼解釋Sprint Commitment的概念呢?
就是開發團隊在Sprint Planning上依照Product Owner(PO)給的Items(又稱Story)優先順序,從最高的開始拿,一直拿到『啊,這個我們這次做不完』為只。
開發團隊所拿取的所有Items就叫Sprint Commitment(衝刺承諾),有些團隊還會定出Sprint Goal(衝刺目標)來讓這段時間團隊可以聚焦。很多PM或主管聽到Sprint Commitment這東西都會眉開眼笑,終於可以讓產品可以逼著團隊吞掉準時完成啦,但,案情真的那麼單純嗎?
常見的場景是所謂的Scrum Master,在Sprint Review的時候,拿著一疊Commit Items,指著大家鼻子說,為什麼沒做完,你們不是已經承諾要做完了嗎?
其實Sprint Commitment的效果跟山盟海誓是差不多的,年輕時在熱戀時許下相愛到老的感情債,可能要十輩子都還不完。但沒多少人在分手後會去質疑,當初你口口聲聲說要葬在我家墓園,為什麼墓園還沒蓋好就變心了。因為有智慧的人都知道環境和心境都是會隨著時間改變的,承諾只要在當下有用,許下的下一秒隨時都會變卦。
同樣的,Sprint Commitment也是在Sprint Planning的當下,依照目前所知的訊息,作出有根據的猜測(Educated Guess)。在Sprint進行中,可能因為做不出來(能力局限),需求不對(訊息錯誤),網站被攻擊(外在環境改變),工程師失戀(人員變動)種種原因而造成當初的猜測不符合現實。所以Sprint Commitment達成與否,是用來改善的依據,而不是用來指責的工具。
PO聽到這可能都要哭了,如果我有東西一定要上怎麼辦,先擦擦眼淚,事情沒那麼悲觀。敏捷開發的模式是確保價值高的功能先被產出,而誰決定價值高低呢?是PO決定,所以價值高,時程緊的Item要往上面排。開發團隊實作時候要從價值最高的開始進行,不可以選自己最喜歡的開始做,最不應該的是一起開始做(就算都可以完成也一樣,這是Mini Waterfall的Smell)。
什麼?我的事情都非常重要?不可以沒做完?
我也想要老婆長的像是徐若瑄,身材像天心,唱歌High過Jolin,跳舞逼走By2,出的了廳堂,下的了廚房,但是無奈生活總是充滿了決擇啊(煙)。
搞清楚事情的輕重緩急是PO必備的核心能力,可以善用時間管理矩陣來排出先後順序。
從另一面來看,永遠可以達成Sprint Commitment的開發團隊就代表沒問題嗎?在神啊,請讓我估的準一點吧中提到,這是團隊打安全牌的怪味道,表示團隊不願意去挑戰自己的能力,選擇待在舒適圈中。而打安全牌的團隊,距離自組織是有段距離的,利用外部的壓力強迫開發團隊吞下Sprint Commitment,只會增強團隊打安全牌的行為。
所以所有人面對Sprint Commitment和Sprint Goal的心態應該是盡人事,聽天命。當大家都盡了力向目標衝刺,就算沒達到也是個美好的記憶和學習的機會。
不管Sprint Commitment達成與否,團隊該自問的問題是,這次發生了什麼,我們已經盡力了嗎,我們下次要怎麼改善?
也許有些開發團隊的成員會想,反正Sprint Commitment做不到也無所謂,那就隨便說吧。小心,亂給承諾可是負心漢的行為啊,歷史上頭號負心漢陳世美的下場,可以借鏡。
圖片:http://www.tpwang.com/movie/%E6%A2%81%E5%B1%B1%E4%BC%AF%E4%B8%8E%E7%A5%9D%E8%8B%B1%E5%8F%B0-2/photo-%E6%A2%81%E5%B1%B1%E4%BC%AF%E4%B8%8E%E7%A5%9D%E8%8B%B1%E5%8F%B066921