我以前曾經認為,在每個軟體開發週期中的回顧、反省、以及對改善的規劃全部都只發生在自省會議(retrospective)的那1,2個小時,就像健達出奇蛋,三個願望一次滿足。 但事實上每次會議都那麼美好嗎? 我們會不會有時想不到有什麼事好說? 或是同樣的問題一再的被提出討論,卻沒有改善? 如果我們期待只在幾個小時內就能徹底完成那麼多事,那是有點把自省會議理想化。 團隊持續改善的關鍵在於團隊每個成員的覺察力和長期互動的努力,而自省會議只是持續改善中的一環。 我覺得借用教練(coaching) 的一些概念和做法,能解釋團隊有6個長期互動能達到持續改善的目標。
1. 確認改變的需求 不管是從團隊內部自發性的想要改善,或是從團隊外部的利益關係人觀察發現團隊需要改善,團隊都需要感受到改變的需求,持續改善的一切才會開始。
2. 觀察並收集需要改善的實例
平時團隊的每個成員就需要培養覺察的能力,反思目前的狀態,包括工作的流程和團隊成員之間的溝通以及互動,並且平時就收集需要改善的實例,而不只是靠會議剛開始的"冥想"就能把所有需要改善的實例一次從腦中倒帶播放出來。
3. 設定改善目標
有了需要改善的實例之後,就可以設定改善目標了。 團隊成員心目中理想的團隊是什麼樣子? 團隊每次設定的小目標跟團隊長期的大目標方向是不是一致? 假設每個團隊成員每天都是充實忙碌的,那我們是不是應該丟掉一些舊有的習慣,不做一些較低價值的事,空出時間和空間之後我們才能往新的目標發展?
4. 引導團隊計畫
這個角色有可能是Scrum Master, 也有可能是團隊中的任何一員。 有人需要跳出來引導大家做計劃。我們要做什麼事才能達到目標? 之後怎麼驗證我們的行動有沒有效? 誰會負責這個改善行動?
5. 觀察行動並提供反饋 當初在自省會議中決定做出的改善行動,執行了之後對我們有什麼影響? 從客觀的事實看,發生了什麼變化? 執行的過程中,大家的內在有什麼感受?
6. 協助面對挫折
計畫的改善行動,有時候無法帶來預期的效果。在遇到挫折的時候,我們需要對行動重新評估,重新調整。 需要其他資源? 行動需要在維持一段時間才有效果,延後評估? 雖然沒有預期的效果,但過程中有沒有人發現我們已經達到了那些成就?
我會把這6項定義為互動,是因為這些都不是一個人能完成的。這六項行動都需要經過溝通、討論、取得其他人的反饋。而這6個互動,有可能在一次的自省會議完成,也有可能是持續的在日常工作中發生。而自省會議,也不一定只能在開發週期結束的時候開。 我直覺的認為,催化著這6個長期互動是scrum master的責任。但在團隊接受的前提之下,任何人都可以催化著這一切的發生。他可能是其中一位團隊成員,或是團隊外持續在關心團隊成長的人。