ANDREW/
中文EN
← 回到文章庫

MANAGEMENT / JUDGMENT & SUPPORT

功能進度與跨團隊資源,Manager 如何取捨?

Andrew Yuan · 管理經驗與原則

依我的團隊分工與版本選擇經驗整理,並說明目前的管理做法;版本更新的問題為回顧延伸。

其他產品已經有了新功能,我們卻決定先不跟。當時的選擇,是繼續跟進其他 team 的 develop,還是從穩定版本建立自己的分支。

跟進 develop,新功能可以較快進來。建立穩定分支,功能就會暫時落後。

如果只看功能表,跟進似乎更合理。但我還要看:更新進來之後,哪些團隊會停下原本的工作,替這次整合處理問題?

TL 先有初步判斷,需要協調就提早提出

我直接管理 System、WiFi、5G 三個 team,負責成員發展與工作交付。他們各自負責,也共同協助。

本文的 TL 指 Technical Lead,負責各自技術領域的判斷與帶領。

在自己的技術領域內,我期待 TL 先有初步判斷,說明目前怎麼看、卡在哪裡,以及需要什麼支援。有初步判斷就可以討論,不必先準備多個答案。

涉及跨團隊、外部協作或資源需求時,我期待 TL 提早提出,讓我一起協調;不必等所有資訊齊全或自己無法決定才開口。

在那次版本選擇裡,需要比較的,是新功能、相依性與共同開發的進度。

新功能進來,成本可能跨過團隊邊界

跟進 develop,可以較快取得新功能,但更新不一定同時進到所有相關 repo。

部分 repo 更新、其他相依部分還沒接上,可能造成編譯問題。更難處理的是編譯沒有報錯,執行行為卻異常,甚至 crash。

這些風險可能牽動多個 team。除了自己的除錯,還需要協助處理其他 team 的編譯問題。原本安排的開發,也可能因此等待。

一個團隊取得新功能,可能讓幾個團隊付出整合時間。這也是我不能只看自己進度的原因。

先建立穩定分支,也有明確代價。

新功能不會即時帶進來,我們的 device 在功能面上,會落後某些已進入 EA、RC 或 GA 的產品。這個落差不能只用「穩定比較重要」帶過。

這次功能延後,主要影響內部開發與功能排程,沒有更改當時的對外承諾。

版本選擇,代價落在哪裡?

得到什麼

跟進 develop
較快取得新功能。
從 stable 建立分支
保留目前穩定基準。

承擔什麼代價

跟進 develop
承擔更新相依性與整合負擔。
從 stable 建立分支
接受功能暫時落後;後續仍需整合。

影響哪些團隊

跟進 develop
整合與除錯可能占用其他團隊的開發時間。
從 stable 建立分支
當時希望保留其他團隊的開發空間。

依本文經驗與回顧整理;是當時的選項比較,不是量化結果或通用答案。

我的決定:先穩定,再判斷跟進時機

當時,我決定先從穩定版本建立分支,接受功能暫時落後。

我把整合與除錯可能占用的資源,以及對其他 team 開發的影響,一起放進這個取捨。

後續仍然保留兩條路:從 develop 選取有用的 commits,或等對方下一版進入 EA、RC 或 GA,再評估跟進。

EA、RC、GA 在這裡是版本階段的標記。判斷是否跟進,仍要確認對方已驗證的範圍,以及帶到我們設備上的相依性與整合風險。

Cherry-pick 縮小了變更範圍,也可能漏掉必要的相依變更。編譯通過,還要看執行行為。

接下來幾次整合與測試中,系統逐漸進入穩定期。其他 team 的編譯與整合能正常進行,也不再需要為我們的相依性問題頻繁提供支援;跨團隊追蹤中,他們的工作能繼續推進。TL 也曾肯定當時的決定。

這些是我從整合、測試、跨團隊追蹤與回饋得到的後續觀察,並非量化比較的結果,也不代表所有問題都已排除。

這個結果支持當時的選擇。但換一個階段,功能需求與整合條件改變,判斷也可能不同。

選了 stable,後續更新仍有人要管

在後續的版本與技術方案評估中,我逐漸看到分工的變化。以前,方案比較常需要我補齊;後來,TL 能先說清楚選項、相依風險與代價,再帶著需要的支援來討論。

我主要處理跨團隊的取捨,重要判斷仍由我們共同完成。TL 持續追蹤,這種分工也延續到多次更新。

對我而言,這是團隊開始承接更多判斷的具體訊號。這些是我在工作中的觀察,並非量化成效,也不能單憑這段經驗判定變化來自某一種管理方法。

回頭看,穩定分支留下了持續的工作:追蹤功能差距、確認選取 commits 的相依性,以及為下一次整合保留資源。

從這次經驗延伸,我會把三個問題帶回討論:

這些是回顧後的討論方向,並非當時採用的固定門檻。它們讓團隊重新檢查:原來的理由,現在是否仍然成立。

目前的做法:排優先順序,也保留重新判斷的空間

這是我目前一般的管理做法。TL 負責自己的技術領域;我把各團隊的進度放在一起,分析取捨、調整資源,必要時協調外部。

執行前,我會先看影響範圍、出問題後能否恢復、已有證據與未知,再衡量交付承諾、客戶與營運影響、跨團隊依賴,以及投入與替代方案。

超出團隊可承擔範圍的取捨,要和相關負責人共同決定。若風險可能讓交付本身失去意義,我會先處理風險,重新協商承諾。

交付承諾優先,但我也會保留必要的維護、平台與能力改善資源。若長期問題已威脅交付,就需要重新協商範圍或時程,讓改善有空間進行。

TL 持續追蹤領域內的風險,透過固定檢視一起確認狀況;檢視頻率隨風險調整,重大變化則立即回報。執行中有新風險或證據、影響擴大,或原先條件改變時,就重新檢視決定。

改變做法,要依實際證據和 TL 討論。

選定方向後,說清楚接受的代價、先等待的工作與支援需求。

文章脈絡

依我的團隊分工、版本選擇經驗與目前的管理做法整理,省略產品與內部細節。一般做法不表示當時已採用相同流程。文中的相依性故障是評估時考慮的風險,不表示每一種故障都發生於該次事件;後續結果為我的觀察,未提供量化驗證紀錄。

— 修訂說明:補充這次功能延後的影響範圍為內部開發與功能排程,未更改當時的對外承諾。

— 修訂說明:補充三個團隊的直接管理責任,以及 TL 方案比較與 Manager 跨團隊取捨的分工變化;保留質性觀察與因果界線。

分享這篇