“當你為錯過太陽而哭泣的時候,你還會錯過月亮和星星。”
每當我們做錯一個決定、做錯一件事或者沒有達成自己想要的結果時,總會懊悔不已,但是過去的事情我們是無法改變的,如果總沉浸在過去的世界里,我們不僅會失去太陽,還會失去月亮和星星。我們唯有收拾心情,把每一次錯誤當成學習的機會,及時復盤,才能讓未來的自己少出錯,才能在將來把我們失去的成倍地賺回來。
什么是復盤呢?舉個例子,我今天早上上班的時候騎了一輛小黃車,非常難騎,估計是輪胎氣不足了,前幾天也碰到類似的情況,痛定思痛,我決定下次騎車前一定先捏一捏輪胎,選一輛輪胎氣足的小黃車。其實這就是復盤,對過去的事情進行回顧與分析,找到改進的方法。
復盤可以分為以下三個關鍵步驟:
- 過程回放,盡可能完整地回放整個過程,尤其不能放過那些會影響結果的關鍵步驟和關鍵想法。
- 深度反思,反思到底是什么原因導致了預期結果沒有達成,不僅要反思,還要深度反思,思考原因背后的原因是什么?
- 行為改變,總結提煉如果再重來一遍,我會做哪些行為改變?
復盤不僅可以自己做,而且可以引導他人做,上個星期我們就引導了一位同事對一個線上的bug做了復盤:
- 過程回放,“上周一的時候系統在升級后出了一個bug,我查了一段時間,但是沒有找到原因,因為要處理其它問題,暫時擱置了這個bug;周四下午我終于重現了這個問題,并修復了這個bug,但是代碼改動比較大,引入了新的問題(直到上線后才被發現);周五下午QA發現一個javascript錯,是周四的修復引入的問題之一,修掉這個錯以后,我又開始忙其它的事情,系統上線后,我的代碼改動所引起的bug影響了用戶的正常操作”。
- 深度反思,“我想主要原因是周一出現的問題到周四下午還沒有完全修復,導致測試時間緊張,改動的代碼又多,沒有測試所有影響到的功能。這個原因背后的原因是沒有把線上的問題設成第一優先級,還沒解決線上的問題就開始解決其它問題,而且抱有僥幸心理,對代碼改動的風險視而不見。”
- 行為改變,“如果給我一個機會,重新再來一次的話,我會把線上的問題設為第一優先級,盡早解決問題,如果問題不解決,就不開始下一項任務;根據代碼的影響來測試,影響到的地方都要測試到,主動通知QA代碼改動對已有功能的影響,借助QA的力量做相關的回歸測試。”
最近我開始要求我女兒對每一道錯題進行復盤,并把復盤的結果記錄下來,因為之前我們已經說了無數遍“不要粗心!”但是2年過去了,收效甚微。希望這次的復盤能讓她認真地對待每一道題,不在同一個地方摔倒兩次。
最后,我突然想起小時候最愛看的動漫《圣斗士星矢》,黃金圣斗士們經常說的一句話就是:
同樣的招式在我們身上使用第二遍就無效了。
現在想想,黃金圣斗士們都是復盤的高手啊,學會復盤,你也能像黃金圣斗士一樣酷。
黃金圣斗士