iT邦幫忙

2026 iThome 鐵人賽

DAY 5
0
Software Development

成為產品型工程師吧!從培養產品思維到 PostHog 數據實戰系列 第 5

Day 5|讓使用者成功(上):JTBD / Job Story

  • 分享至 

  • xImage
  •  

上一篇我們先從一個很工程師的問題開始:當使用者遇到錯誤時,我們要怎麼知道發生了什麼。

Error Tracking 可以幫我們找到程式壞掉的地方。不過,把 Error 修完、讓功能照規格執行之後,還有另一個不太一樣的問題:

功能可以正常使用,使用者就算成功了嗎?

假設我們正在做一個電商網站,商品頁面上有聊天室,讓使用者可以向其他買家詢問商品。

如果要替這個功能做 Event Tracking,可能很自然會想到:

  1. 進入商品頁面。
  2. 打開聊天室。
  3. 發出訊息。

甚至現在把需求交給 Coding Agent,請它「幫聊天室加入關鍵事件追蹤」,大概也能自己找到類似的地方埋 Event。

接著我們可以算:多少人打開聊天室、多少人發出訊息、發出訊息的人最後有多少完成購買。

這些資料都可能有用。

但有一件事情還是不知道:

「發出訊息」真的是使用者成功嗎?

一名使用者可能完全沒有發言,只是看了其他人的討論,就得到足夠資訊完成判斷;另一名使用者可能連續問了五個問題,卻一直沒有人回答。

如果只看 Event,第二個人甚至會顯得更加活躍。但顯然不能因此說他的體驗比較成功。

問題出在我們一開始就從「聊天室這個功能要怎麼量」開始想,卻還沒先回答使用者為什麼需要它。

使用者不是為了使用功能而來

這時候可以借用 Jobs to be Done(JTBD) 的概念。

JTBD 的核心想法是,使用者在某個情境下會「雇用」一個產品或解法,幫助自己完成某個 Job、取得某種進展。

例如,一個人使用悠遊卡,通常不是因為他想「使用一張感應卡」,而是因為搭捷運時不想每次重新買票。

聊天室也一樣。

使用者不是來商品頁完成「使用聊天室」這個任務。他可能真正想做的是:

在決定購買以前,取得足夠資訊,判斷這個商品到底適不適合自己。

聊天室只是目前產品提供的一種 Solution。

這個差別看起來不大,但會直接影響我們之後怎麼開發、怎麼量,甚至怎麼判斷這個功能有沒有存在的必要。

假設有一天發現大部分使用者根本不會聊天,第一個反應可能是改善聊天室入口、增加通知,想辦法提高使用率。

但如果真正的 Job 是「取得可信的購買資訊」,也可能有其他解法:把相似使用者的評論整理得更好、提供商品比較、顯示常見問題,甚至根本不需要讓買家即時對話。

這時候我們就不再只能問「怎麼讓聊天室被更多人使用」,而可以問:

有沒有更好的方式幫使用者完成原本的 Job?

用 Job Story 把情境寫清楚

JTBD 有很多不同的表達方式。這個系列裡,我們先用比較容易直接拿來討論產品的 Job Story

When [situation], I want to [motivation], so I can [expected outcome].

中文可以寫成:

當我……時,我想要……,以便……。

回到聊天室,可以得到:

當我考慮購買一項商品時,我想要知道真實買家的想法,以便判斷這項商品是否真的符合我的需求。

這裡最重要的地方反而是:聊天室消失了。

如果寫成:

當我在商品頁時,我想要打開聊天室詢問其他買家,以便決定要不要購買。

看起來也符合格式,但其實只是把既有 Solution 填進 Job Story,最後仍然只能得到「把聊天室做好」這個答案。

另一方面,Job 也不能寫得太大。

像是:

當我購物時,我想買到適合自己的東西,以便過更好的生活。

雖然很難說它是錯的,但範圍大到幾乎無法協助我們判斷商品頁應該做什麼。

所以一個比較實用的 Job Story,通常需要落在中間:不綁定既有 Solution,但又具體到足以描述使用者當下想取得的進展。

前面的聊天室案例,就把情境限制在「正在考慮一項商品」,把想取得的進展限制在「取得真實買家的資訊,完成購買判斷」。

這樣即使最後 Solution 改變,Job 仍然成立。

工程師為什麼需要知道這件事?

理解 Job 並不是要工程師取代 PM、Designer 或 Researcher,自己決定產品應該做什麼。

比較實際的價值是,當我們拿到一項需求時,可以多問一層:

這個功能希望幫使用者完成什麼?

這個問題會影響很多工程上的選擇。

例如我們原本以為聊天室一定需要即時更新、已讀狀態與完整通知系統;但如果使用者只是希望在購買前快速得到一兩個可信回答,也許需求根本不需要長成另一套 Messenger。

反過來,如果真正重要的是取得答案的速度,那麼只把留言功能做出來,卻沒有處理「有人會不會回答」,也可能只是完成了功能,沒有完成產品問題。

這也是產品工程和單純把 Ticket 做完之間很重要的差別之一:我們不只確認程式有沒有照規格運作,也會確認規格背後真正想達成的是什麼。

不過,到這裡還有一個很現實的問題。

「成功判斷商品是否符合需求」仍然太抽象了。我們不可能在程式碼裡直接送出:

posthog.capture('judgement_success')

因為程式並不知道使用者腦中是不是已經完成判斷。

所以在開始規劃 Event 以前,下一步還要把這個抽象 Goal 轉成真的能被觀察到的 Signal,以及可以計算的 Metric

下一篇就從這裡繼續。

參考資料


如果你願意花 30 秒留下回饋,我會用這些意見來調整後續文章:分享你的意見


上一篇
Day 4|錯誤追蹤 Error Tracking
下一篇
Day 6|讓使用者成功(下):GSM
系列文
成為產品型工程師吧!從培養產品思維到 PostHog 數據實戰20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言