“以終為始”(Begin With The End In Mind),是史蒂芬·柯維在《高效能人士的七個習(xí)慣》中提到的一個習(xí)慣。它是以所有事物都經(jīng)過兩次創(chuàng)造的原則(第一次為心智上的創(chuàng)造,第二次為實際的創(chuàng)造)為基礎(chǔ)的。直觀的表達就是:先想清楚目標,然后努力實現(xiàn)。在工作中,很多RD往往只是埋頭走路,很少抬頭看天。每次季度總結(jié)的時候,羅列了很多項目,付出很多努力。但是具體這些項目取得了哪些收益,對業(yè)務(wù)有哪些提升,卻很難說出來。這就說明在工作中并沒有遵守“以終為始”這一原則。此外,很多同學(xué)在做需求的過程中,對于目標與收益關(guān)注不夠,系統(tǒng)上線之后,也沒有持續(xù)地跟進使用效果。這一點在技術(shù)優(yōu)化項目中體現(xiàn)的尤為明顯。例如在一個接口性能優(yōu)化的項目中,經(jīng)過RD的努力優(yōu)化,系統(tǒng)TP99縮短了60%,支持QPS提升了2倍。但是系統(tǒng)到底需要優(yōu)化到什么程度呢?是不是縮短60%,提升2倍就能滿足需求呢?在優(yōu)化之前,很多同學(xué)常常忘記設(shè)置一個預(yù)設(shè)的目標(TP99小于多少,支持QPS大于多少)。我們必須清楚,優(yōu)化一定是有原因的,比如預(yù)期某節(jié)假日流量會暴增或者某接口超時比例過高,如果不進行優(yōu)化,系統(tǒng)可能會存在宕機風(fēng)險。解決特定的問題才是技術(shù)優(yōu)化的最終目的,所以要根據(jù)問題設(shè)定目標,再進行優(yōu)化。“以終為始”,這一原則還可以作用于我們的學(xué)習(xí)中。很多同學(xué)看過很多技術(shù)文章,但是總是感覺自己依然一無所知。很重要的一個原因,就是沒有帶著目標去學(xué)習(xí)。在這個信息爆炸的時代,如果只是碎片化地接收各個公眾號推送的文章,效果幾乎可以忽略不計。在學(xué)習(xí)之前,我們一定要問自己,這次學(xué)習(xí)的目標是什么?是想把Redis的持久化原理搞清楚,還是把Redis的主從同步機制弄明白,亦或是想學(xué)習(xí)整個Redis Cluster的架構(gòu)體系。如果我們能夠帶著問題與目標,再進行相關(guān)的資料搜集與學(xué)習(xí),就會事半功倍。這種學(xué)習(xí)模式的效果會比碎片化閱讀好很多。
“事不過二”,是我們團隊一貫堅持的原則,它可以解讀為兩層含義。一層含義是“所有的評審與問題討論,不要超過兩次”。之所以有這樣的要求,是因為我們發(fā)現(xiàn),很多RD都把時間花費在一些無休止的評審與問題討論中,真正投入到實際開發(fā)中的時間反而很少。在實際工作場景中,我們經(jīng)常會遇到一些不是很成熟的需求評審。這些需求文檔,要么是背景與目標含糊不清,要么是產(chǎn)品方案描述不夠細化,或者存在歧義。RD與PM被迫反復(fù)進行討論,我曾經(jīng)遇到過一個需求評審,進行了三次還被打回。同樣的問題,在設(shè)計評審中也屢見不鮮。方案固然需要經(jīng)過反復(fù)的討論,但是如果遲遲不能達成一致,就會耗費很多RD與PM的寶貴時間,這就與提升研發(fā)效率的理念背道而馳。因此我們團隊規(guī)定:所有的評審最多兩次。通過這種方式,倒逼利益相關(guān)方盡可能地做好需求與方案設(shè)計。評審會議組織前,嘗試與所有相關(guān)人員達成一致,詢問對方的意見,并進行有針對性的討論,這樣能夠大大提升評審會議的效率和質(zhì)量。如果在第一次評審中不通過,那么就只有一次機會進行復(fù)審。一旦兩次不通過,就需要進行Casestudy。“事不過二”原則的另一層含義,是“同樣的錯誤不能犯第二次”。每次故障之后,Casestudy都必須進行深刻的總結(jié)復(fù)盤,對故障原因進行5Why分析,給出明確可執(zhí)行的To Do List。每次季度總結(jié)會,大家自我反省問題所在,在下個季度必須有所改善,不能再犯類似的錯誤。孔子云:“不遷怒,不貳過”,在錯誤中反思與成長,才能讓我們成為更優(yōu)秀的人。