l

2015年12月17日 星期四

長大的感覺

Dec. 16 14:15~15:36


有一次到某公司觀察Scrum團隊的運作,觀察的那個sprint團隊剛好要開發一個新功能,這個新功能和以前某個系統很類似,但又不完全一樣。於是團隊遇到一個問題:「要把舊系統直接copy一份過來改,還是參考舊系統的程式碼重新開發?

兩個方案各有其優缺點:
  • 直接copy:最省時間,而且可以立即讓系統「看起來」可以動。缺點是原本的舊系統本身架構就不是切割的很好,整坨拿過來包含了不必要的相依性元件,也不曉得日後有沒有時間去處理這個問題。換句話說用「欠技術債」換取「一時爽快 時間」。
  • 重新開發:參考舊有程式碼重新開發,可以邊寫邊整理舊有系統的元件相依性。雖然比較花時間,但對於日後的維護甚至是對自動化單元測試的支援會比較容易一些。缺點就是可能改動幅度較大,無法在單一sprint裡面完成。

在sprint planning meeting團隊花了點時間討論這個問題,看起來似乎有結論但實際上並非所有團隊成員都贊同這個結論,因此隔天在實作這個story的時候團隊成員剛開始還是花了點時間繼續昨天的討論。雖說是討論但只是兩方人馬把昨日sprint planning meeting所說的話一再重複,並沒有說服或被說服的準備。

但神奇的是,沒過多久這個討論就突然結束,開始進入實作。此時旁觀的Teddy內心就在想:「耶,這樣就可以開工,團隊有意識到這可能會是一個問題嗎?

***
還好這次觀察Teddy參加的時間比較長,不然對團隊可能形成錯誤的印象。到了retrospective的時候,團隊成員自己提出和Teddy類似的觀察,並且自行討論出改善的行動方案(action plan)。此時Teddy心中泛起一種「團隊長大了」的安慰感XD。

寫文章或說話最怕有心人斷章取義,沒看到全貌只擷取片段就加以批評。輔助敏捷團隊也是一樣,如果沒有較長時間「現時」、「現地」貼近團隊觀察,很難了解團隊實際的狀況。取樣次數太少只看到表面與片面的資訊,給出的建言就算是好意也可能變成是來「喇豬屎」,反而幫倒忙。

有鄉民可能會問:「你可以在發現問題的當下就詢問團隊啊?」這當然也是一種作法,但要看問題的種類來決定立即干預或是持續觀察團隊是否具有自省的能力。「測不準原理」告訴我們,觀察者會影響被觀察者的行為,如果目的是在觀察,過多的即時干預便會影響被觀察者的行為,也就觀察不到原本想觀察的行為(好繞口啊XD)。

難就難在,介入與不介入的取捨啊。

***
 
友藏內心獨白:原來看著小孩長大的感覺是這樣子啊。

沒有留言:

張貼留言