技術債如何處理?產品經理面對技術與商業的抉擇|EP68
產品經理在規劃功能時,不時會遇到「這個需求在技術上是否可行」、「產品現況的技術架構跟客戶期望的修改方式好像無法符合」等技術相關問題,但哪些是技術債要大改、哪些是技術限制只要微調,往往需要工程師協助盤點,這篇想記錄在面對技術債(Legacy Code,Technical debt)時,身為產品經理會遇到的狀況。
一、技術債與技術限制的差異
⠀⠀
在討論技術債時,要先將「技術債」和「技術限制」拆開說明,因為各代表著不同層級的工程問題。
技術債通常指的是「系統架構」層面的問題,例如:
* 早期為了快速開發,選擇了單體式架構,核心邏輯耦合度過高,導致修改一處可能影響多個功能。
* 資料庫(Schema)設計不夠彈性,造成新功能難以擴充或效能瓶頸。
* 存在大量重複程式碼、或沒有使用共用元件,導致不同相似功能的寫法都不同,需要較大規模的盤點和整理才能整合架構。
相比之下,技術限制多半是「程式實作」層面的問題。例如:
* 某些參數被寫死(hardcode)在程式碼中,導致缺少彈性,但可以改為可配置。