這一年團隊的磨合與成長

我們是一個去年年初從 0 開始組建起來的新團隊,面臨的是一個極具技術挑戰的新產品,這一年,遇到過很多很多的問題,大家風雨同舟,共同應對和自我改進,逐步形成了很不錯的團隊氛圍和做事的風格,每個人也在這裏成長了很多很多。

下面即將介紹的都是真實發生在我們團隊的故事,我就從最近例會上大家關於 OKR 的討論聊起吧。

OKR 的是與非

A:“回顧每個雙月的 OKR,我發現一個問題,就是大家都喜歡寫很多內容,每個人至少都有兩三個 O,並且每個 O 下面還掛着三四個 KR,兩個月的時間其實是很緊張的,那麼多的 O,那麼多的 KR,看似把自己包裝得很忙做了很多事,但是真的每一項都能落實麼 ?”

B:“不同意你的說法,公司的 OKR 文化不就是鼓勵大家制定有挑戰一點的目標麼? ”

C:“@B,我覺得你的理解有偏差,我認爲公司的 OKR 所鼓勵的 “挑戰” 並不是強調做的事情的數量,而是期望把完成每一件事的目標和標準可以定得更高一點。”

A:“非常同意小 C 的觀點,我們應該追求的是把每一個 KR 做到極致,如果雙月列的目標和事情太多,反而容易迷失目標,心態浮躁,不能沉下心來把每一件事情做到極致。”

最終,大家一致決定,從五、六雙月開始,嘗試改爲每個人儘量只寫一個 O,最多隻列不超過三條對自己來說最重要的 KR,並且仔細思考和深挖,把 KR 的指標定得清晰和激進一些,雙月後看看最終的實施效果。

科研精神

對話 1

A:我覺得我們採用的方案不好,網上人家都在討論和使用 XXX 方案。

B:基於我們這個業務場景,你詳細給大家講講爲啥網上的方案比我們的方案更適合 ?

A:額,只是覺得那個開源項目特別火,應該是趨勢。我再詳細對比一下,出個報告。

對話 2

A:我看到 XXX 產品有這個優化,我下週也去做一下這個優化吧。

B:有思考清楚這個優化在我們這個場景下帶來的收益預期麼?它解決了我們當前的什麼問題、什麼瓶頸?

A:額,我再詳細研究研究…

對話 3

A:“@B,幫忙看看這個 PR,解決了那個空指針導致的崩潰問題。”

B:“贊一個,怎麼解決的?”

A:“額,在崩潰的地方加了一個 NULL 指針判斷。”

B:“你都不去深入研究代碼邏輯這裏爲什麼會出現空指針麼??不要 work around,要追根溯源,找到 root cause 呀!!”

對話 4

A:“@all 這個優化效果很明顯,XXX 數據指標得到了明顯的提升!!”

B:太棒了!具體改了什麼?

A:改了兩個參數。

B:這兩個參數的含義是什麼?會影響哪些內容?XXX 指標雖然提升了,有沒有觀察其他指標的情況?很多優化都是需要做取捨,有一定代價和付出的,這個優化背後的代價是什麼?

A:額……我再研究研究。

對話 5

A:“@B,剛纔的測試過程中發現,你的那個模塊的日誌輸出了很多 warning,你看看是否符合預期?”

B:“好像是不太正常,回頭看看。”

N 天后,B 忙其他新功能開發沒有深入跟進,線上出現崩潰事故……

B:@A,線上這次崩潰問題定位到了,XXX 原因導致的,其實上次測試就有發現 warning ,要是跟下去就好了………

經過這一系列事情後,團隊內部開始強調 “科研精神”,什麼是 “科研精神”:

  1. 科研精神,是站在巨人的肩膀上,獨立思考、探索和創新,不要對開源的東⻄不屑,也不過於妄自菲薄。

  2. 科研精神,是遇到問題不靠 “猜”,不做 “work around”,而是打破砂鍋問到底,追根溯源。

  3. 科研精神,是大膽設想,小心求證,不靠運氣,不毫無根據地做出武斷的決策。

  4. 科研精神,是不放過觀察到的每一個非預期的現象或者異常,⻅微知著。

不當看客

A:@all 上次討論的技術方案我已經開發完畢,大家看看。

B:@A 可以再講講你的方案和思路麼?感覺這個接口設計完全不好對接呢!

C:這個方案實現明顯有漏洞,XXX 這個地方不應該這樣設計,XXX 那個地方爲什麼採用這種模式而不是另一種實現思路?

D:我也覺得 @B、@C 說得有道理……

A:你們早幹嘛去啦?技術評審討論的時候,都同意了呀,好不容易開發完了怎麼現在都有問題了……

B:額,不好意思,當時方案評審時沒認真聽。

C:當時討論時我就提出來過建議,你沒認可我也沒堅持爭論下去……

D:我覺得這個事跟我沒啥關係,沒交集,所以也沒認真聽,沒及時提出 challenge…

經過這件事後,團隊開始推崇 “不當看客”,強調及時溝通,強調互相 “challenge”:

  1. 技術方案的 “評審會議”,不是 “技術講座”,每個聽衆都是 “評委”,都要認真聽,帶着批判性思維,及時提出挑戰性的問題。

  2. 對不合理的事情(比如:技術方案、代碼質量等),不要輕易妥協,要充分溝通,勇於 challenge 到底。

  3. “君子不器”,雖然每個人都要有所專長,但也不要設死邊界,不要做一顆 “螺絲釘”,保持好奇心,認真參與項目的技術評審討論是瞭解全局、擴充知識面的最佳手段之一。

質量是產品的生命線

對話 1

A:怎麼又出現高頻崩潰了,我們從第一次發出來體驗版到現在,我們有真正 release 出一個足夠穩定的版本麼 ?

B:因爲產品在快速開發和迭代中,不斷快速合入 PR 難免引入一些 BUG...

A:這不是一個好的藉口,質量是產品的生命線,我們天天都在吹噓我們用了多麼牛逼的算法,我們做了多麼極致的優化,但如果連最基礎的穩定性都不能保障,還怎麼贏得客戶的信任 ?

對話 2

A:本週的工作輸出是定位和修復了 XXX 問題(上上週完成的功能點引入的問題),下週的計劃是定位和修復 YYYY 問題(上週完成的另一個功能點遺留的缺陷)

B:我們應該反思一下我們的 “交付質量”,爲什麼經常出現新功能的開發可能不到一週就宣佈搞定,但遺留的問題和引入的 BUG 問題卻又花費一週又一週的時間,這其實是一種自欺欺人。

對話 3

A:我這周計劃去做一個很有賣點的新功能。

B:我記得還有幾個遺留的問題沒有解決吧 ?

A:那些問題有些不好復現,有些我懷疑是 @C 開發的模塊有些非預期的行爲,所以才導致了我這個模塊的問題

B:那些問題也纔跟進了一兩天,確定已經有做過足夠的努力排查了麼?另外,不要輕易甩鍋到其他人,你已經有確切的思路和數據證明是 @C 模塊的非預期行爲導致產生你這邊的問題麼 ?

A:額,新功能先緩一緩吧,這周我再跟一下那些問題。

對話 4

A:昨天出現的異常問題定位到了,是上個月新增 XXX 功能的 PR 不小心覆蓋了 YYY 模塊原有的邏輯,導致 YYY 模塊的功能不能正常 work 了,從而觸發了這個問題

B:嗯,好的,不過這一類問題出現的次數不少了,值得覆盤和反思一下:爲什麼上個月的 PR 引入的問題,我們直到昨天才發現,提 PR 之前爲什麼沒有認真自測到這個重要的模塊,模塊的單元測試爲什麼沒有覆蓋到,自動化集成測試和大盤指標監控爲什麼沒有及時發現問題 ?

經過這些事後,團隊在關於 “質量優先” 這件事,終於達成了共識,並且形成了一些明確的做事風格:

  1. 在我們團隊,不是做新東西纔算有 “產出”,對每一個任務,用心思考和設計、用心寫單元測試用例、提高代碼質量和交付質量、減少返工和引入的問題,是比做 “新功能” 更加值得鼓勵的行爲。

  2. 禁止簡單粗暴地給 “隊友” 拋問題,遇到 BUG,要趁熱打鐵,收集好現場的信息和證據,爭取復現,先簡單地及時跟進,逐步縮小範圍,再推動和協助相應模塊的負責人去解決它。

  3. 每一次 Bug 的修復,都要補充固化的測試 case,防止未來再次產生同類 Bug,同時也刻意去檢索一下其他地方是否有類似的問題。

誰說你是配角

對話 1

A:我想溝通一下關於我在團隊的定位,什麼時候可以帶人,什麼時候可以作爲 XXX 方向的負責人 ?

B:在我們這樣的一個技術團隊裏,title 真的特別不重要,負責人也不是靠 “任命” 的。那些主動 “操心” 業務,主動 “own” 和推動一些關鍵事情,主動承擔產品中最艱難的技術挑戰和攻關任務,逐步在團隊中形成自己影響力的人,會自然而然地成爲所謂的 “負責人”。

對話 2

A:數據清洗的事情我來跟進吧。

B:好呀,這個是數據埋點的文檔。

A:嗯,咱們業務上有哪些數據指標,具體該怎麼定義?數據指標的清洗規則你也寫幫我寫到文檔吧 ?

B:這個做事的思路不太對,不要做文檔的 “翻譯官”,應該去主動理解業務,深度思考,去 “主導” 這樣一個數據指標的定義和清洗的工作,只有這樣,你才能真正收穫到業務經驗。我們面試刷掉的很多候選人,說他們深度一般,有時候往往不是說有多麼難的算法沒寫出來,也不是說他掌握的技術黑科技不夠多,而是他們多年來一直重複着簡單的 CRUD 或者類似的文檔翻譯工作,沒有主動思考,沒有理解業務,說不上來爲什麼選擇這樣的技術方案,說不上來爲什麼 API 或者數據流應該這樣設計。

對話 3

A:這個 UE 的交互好奇怪,你覺得合理麼,爲啥不主動去改進一下 ?

B:額,是有點怪,不過 PM 也沒有給出詳細的 PRD 文檔講清楚這個地方怎麼做呢。

A:嗯,那 XXX (另一個地方)在 PRD 文檔裏面有詳細描述,爲啥也沒有按照文檔來 ?

B:我覺得那樣設計不合理啊,PM 有認真思考過麼,我看其他家競品都沒有這樣的設計呢 !雖然我提了建議,但是 PM 也沒同意。

A:感覺這件事大家的溝通很不到位,大家拉個會再認真溝通一下吧。另外,這件事也引發了一個思考:爲什麼 PM 和研發互相都無法說服對方 ?

經過這些事,大家逐步在形成一種 “owner” 意識,也理解了如何才能當好 “主角”:

  1. “主角” 不是 “任命” 的,而是一種待人做事的心態,在任何事情上,只要足夠有 “心”,人人都可以是 “主角”。

  2. “主角” 之所以能夠成爲 “主角”,之所以說話的分量很重,之所以有足夠的影響力和說服力,靠的是他 “背後的功夫”。當你對面臨的問題思考足夠深刻、見解足夠獨到,當你能拿出有理有據的證據和數據,你就自然而然地越有 “發言權”,說話就自然而然地越有 “說服力”。

延遲滿足

最後再分享一個問題,有段時間,團隊成員都很沮喪,因爲由於產品還處於早期階段,沒能趕上潛在業務方的產品規劃節奏,因而暫時性地失去了這樣一個目標大客戶,給團隊帶來了不小的心裏打擊。後來我們在抖音上找到了一段很棒的視頻進行自我安慰,視頻的文字描述大概是這樣的:

“如果你喜歡一隻蝴蝶,千萬不要去追,因爲你追不上她。你應該去種花、種草,等到春暖花開的時候,等到草長鶯飛的時候,蝴蝶自然會飛回來。如果你喜歡的那隻蝴蝶沒有飛回來,怎麼辦呢? 你有了花,有了草,有了陽光,有了雨露,有了獨特的魅力,那隻蝴蝶沒有飛回來,其他的蝴蝶會飛回來,比她更好的會飛回來,這就叫做花開蝶自來,愛情如此,生活如此,事業也如此。”

如今大家依然激情滿滿,也信心滿滿,不斷默默提升着自己,耐心打磨產品,期待着 “花開蝶自來” 的那一天到來。

結語

自從加入公司以來就一直很喜歡咱們的文化,正是在這樣正能量的文化氛圍下,纔有了整個團隊不斷革新自我不斷改進的源動力。經過這一年的磨合,我相信整個團隊已經形成了非常不錯的文化價值觀和做事的風格,也相信這樣的團隊會擁有着非常強的戰鬥力和凝聚力。

目前團隊也非常缺人,歡迎大家多多內推優秀的人才給我,也歡迎大家關注我的新浪微博 @盧_俊 或者 微信公衆號 @Jhuster 獲取最新的文章和資訊。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章