「講清楚了,卻還是做錯」:需求溝通最常見的問題其實是知識的詛咒

「講清楚了,卻還是做錯」:需求溝通最常見的問題其實是知識的詛咒

你一定看過這種需求對話:

  • RD:「文件沒寫啊。」
  • PM/使用者:「這不是理所當然嗎?」

兩邊都沒說謊。

真正的問題通常也不是能力,而是知識的詛咒(Curse of Knowledge):你越熟某個領域,就越容易把自己的背景知識當成「大家都知道」。

於是你自以為講清楚了,對方卻在另一套假設下把事情做完,最後變成重工與互相抱怨。


## 需求不是「規則」,需求是「在真實情境下會發生的事」

很多需求文件一開始就想寫規則:

  • 這個功能應該要怎樣
  • 這個流程必須要怎樣
  • 這個欄位不可為空

問題是:規則背後藏著大量未寫出的假設。

而這些假設,往往就是錯誤的來源。


## 解法:用例子把隱藏假設逼出來(Specification by Example)

實例化需求的思路很簡單:

不要先談抽象規則,先談「會發生的場景」。

把需求寫成三段:

  • Given:在什麼情境下(前置條件)
  • When:做了什麼操作(行為)
  • Then:會得到什麼結果(可驗收的輸出)

例子一攤開,很多「理所當然」就會暴露出它其實不那麼理所當然。


## 為什麼它特別有效:它讓所有人站在同一張照片裡

抽象規則像是各自腦補。

具體例子像是一張照片:大家看的是同一件事。

  • RD/QA 會看到邊界條件
  • PM 會看到漏掉的場景
  • 使用者會看到期待與實際的落差

於是溝通從「你怎麼不懂」變成「這個例子我們到底是不是同意」。

這會大幅降低對人的猜測,改成對具體行為的對齊。


## PM 的實務寫法:先寫 5 個例子,勝過寫 3 頁規則

如果你要把它落地,我會建議:

  1. 先挑 1 個最核心的使用流程
  2. 列出 3~5 個最常見的操作例子
  3. 再補 2~3 個你最怕出事的邊界例子(例:權限、錯誤、例外)

例子不用多,但要能代表「真實世界」會踩到的坑。


## 結尾

需求會出問題,很多時候不是誰不專業。

反而是大家都太專業,專業到以為彼此看到的是同一個世界。

用例子說話,是解除知識詛咒最有效的方法。


#產品管理 #需求分析 #SpecificationByExample #Agile #溝通