如果你最近有花時間撰寫詳細的產品需求文件,或是一絲不苟地撰寫工單規格,你大概已經注意到一個令人挫折的悖論:
把一個問題完整規格化,往往就已經完成了解決它所需工作的 90%。
等你蒐集完背景脈絡、整理好邊界情況、考量完使用者流程,並且把預期行為寫得精準到足以讓別人毫無阻礙地執行時,你其實已經做完了大部分艱難的腦力工作。把這份完整規格轉成程式碼,反而越來越變成最簡單的部分。
這種動態正在悄悄改變軟體的建造方式、團隊的協作方式,以及今天所謂具備競爭力的開發者,真正代表的是什麼。
在過去,軟體開發常常採用像組裝線一樣的模式。產品經理寫好詳細規格,交給工程主管,再拆成子工單,接著分派給開發者。
開發者的工作本質上就是扮演機器裡的一個齒輪:接下工單,按照規格寫程式,然後交給 QA。
先說清楚,這種模式從來都不算理想。它造成團隊分工孤島、讓人失去投入感,也導致冗長膨脹的溝通迴圈。但從技術上來說,它確實能運作。
到了今天,這樣做不只是沒效率,更已經失去競爭力。當從構想到執行之間的摩擦降低,傳統交接所帶來的額外成本就會成為主要瓶頸。產品定義與程式交付之間那些像電話遊戲一樣的轉述流程,會讓團隊慢得像蝸牛;而那些更快、上下文更完整的團隊,則會把你遠遠甩在後面。
如果寫完整規格要花掉 90% 的認知精力,那麼在「想出任務的人」和「實作任務的人」之間不斷交接,就會造成巨大的拖累。
這就是為什麼領域所有權已經成為基本門檻。
當開發者真正擁有某個領域——也就是他們對問題空間、使用者、底層系統架構,以及商業目標都有深刻理解——他們就能跳過那個尷尬、成本很高的「規格階段」。他們不需要一份 10 頁的 PRD 就能做下一個功能,因為上下文早就已經存在他們腦中。他們可以在不同問題之間流暢切換,即時做取捨、現場決定產品細節,而不用等規格被完整「烤」出來。
這個轉變並不代表產品經理會消失,但代表職責邊界正變得越來越流動:
為什麼最後那 10% 這麼關鍵?因為即使是看起來很簡單的功能,也需要深度的技術反思:架構是否一致、在大規模下的效能、邊界情況的強化、資安,以及長期可維護性。
很容易讓人以為,隨著模型與工具越來越強,那最後 10% 會乾脆消失——軟體終有一天會在按下按鈕後自動完成建置與維護。
但這種看法忽略了軟體市場的運作方式。
當原始程式碼生成變得更便宜、更快速時,什麼才算是「具競爭力的軟體」的基準也會持續上升。以前要三個月才能做完的功能,現在三天就能做完,這也代表客戶的期待水準同步提高。讓產品脫穎而出的標準,會往更高層次的精緻度、更深的整合、更好的效能,以及更佳的使用者體驗移動。
最後那 10% 不會消失;它只是變得更細緻了。
我們正在遠離一個以語法輸出,或是依照僵硬、預先包裝好的規格來執行的能力作為價值衡量標準的時代。
現代軟體工程真正的槓桿,歸結起來只有兩件事:
工具會持續演進,撰寫程式碼的方式也會不停改變。但那些能培養深厚領域脈絡、並維持毫不妥協品質標準的工程師,不只是能保持競爭力而已——他們會成為制定速度的人。
原文出處:https://dev.to/ben/context-is-king-rethinking-domain-ownership-product-and-the-spec-phase-gp8