什麼是最小可行產品#
**最小可行產品(Minimum Viable Product, MVP)**這個概念由賴瑞斯(Eric Ries)在《精實創業(The Lean Startup)》中推廣:把產品剝去所有非必要功能,留下最少的版本快速上線,用真實市場回饋驗證假設。
MVP 不是「劣質的半成品」,而是鎖定一個核心功能、做到位——拿掉所有不能驗證假設的東西。
失敗的反面:隱形模式#
**隱形模式(stealth mode)**指完全不取得任何使用者回饋,悶頭開發直到「完美版本」上線。實務上幾乎不會成功,原因有六:

Figure 3-1: 隱形模式——把 app 藏到完美再公開的迷思。
1. 失去動機#
獨自鑽研時間越久,懷疑越多——可能發現市面上已有類似工具,或開始相信「這做不出來」。早期使用者哪怕一句鼓勵都能撐住熱情。
2. 注意力被分散#
工作、家人、新點子、各種 app 都搶你的注意力。隱形時間越長,還沒上線就分心放棄的機率越高。
3. 進度失控#
你估 60 小時、計畫每天 2 小時、一個月做完。但實際每天只做 1 小時、bug 無預警冒出、研究時間爆增。MVP 因為功能少,規劃誤差也少、進度更可預測——這也是投資人愛 MVP 的原因。
4. 沒有回應#
你終於上線,結果一片寂靜——這是軟體專案最常見的結局。寂靜代表你沒命中產品市場契合(product-market fit)。沒回饋就會偏離現實,做沒人要的功能。
5. 假設錯誤#
最致命的是你最初的假設多半是錯的。作者 Christian 自己做 Finxter.com 的真實經歷:
- 假設使用者多是電腦科學系學生 → 實際多半不是
- 假設一上線就會有人來 → 實際沒人來
- 假設使用者會在社群分享成績 → 只有極少數會
- 假設使用者會自己投稿題目 → 數十萬使用者中只有零星幾人投稿
- 假設要花俏設計才好用 → 簡單極客風反而更受歡迎
每個錯誤假設都帶來幾十甚至上百小時的浪費。
6. 多餘的複雜度#
假設四個功能 A/B/C/D 一次推出,市場接受了。但你不知道:
- 其實只有 D 帶來價值,A 完全沒人用?
- 還是 B+C 才是關鍵?
n 個功能有 2ⁿ 種組合,一次塞滿就無從知道哪個有用。

Figure 3-3: 一個由四個功能組成的軟體產品。

Figure 3-4: 哪些功能組合才是市場真正接受的?
多餘功能的代價是長期的:
- 載入專案、編譯時間更長
- 每個功能都是新 bug 的溫床
- 加新功能 n 時,要確認不會干擾前面 1 到 n-1
- 每個功能都要新測試
- 程式碼庫越複雜,新人上手越慢
解法:建立一連串 MVP#
把「想驗證的假設」明確寫下來,做出只能驗證這個假設的最小產品;上線、學習、進入下一個 MVP。這個策略稱為快速原型開發(rapid prototyping)。
程式碼搜尋引擎範例#
- 假設:程式設計師需要搜尋程式碼。
- 第一個 MVP:不寫複雜後端,只架一個有輸入框的網站,背後用 Google 搜尋結果做後處理。
- 觀察:100 筆查詢中,90% 是貼錯誤訊息,60 筆與 JavaScript 有關。
- 下一步:把產品從「通用程式碼搜尋」收斂為「JavaScript 錯誤訊息搜尋」。
沒有第一個 MVP,可能會花好幾個月做正則表達式搜尋這類幾乎沒人用的功能,反而忽略所有人都用的錯誤訊息搜尋。
兩階段流程#
階段 1:透過反覆 MVP,找到 product-market fit
階段 2:每次只加一個功能,用 split test 驗證;無效就砍
Figure 3-5: 軟體開發的黃金標準——先用反覆 MVP 找 product-market fit,再透過 split test 加新功能。
Dropbox 的經典案例#
Dropbox 並沒有先實作複雜的雲端同步系統。創辦人先拍了一支示範影片——影片中的功能甚至還不存在——以此驗證需求。看到熱烈迴響後,才動手實作核心。
MVP 的四大支柱#
「極簡」不等於「粗糙」。MVP 必須在這四個面向都是高品質的。
- 功能性(Functionality):清楚提供一個功能、做得好。可以不具經濟效率——例如聊天機器人 MVP 就是你親自跟使用者聊天。
- 設計(Design):設計要支援價值主張。Google 早期搜尋頁設計很簡單,但為「無干擾搜尋」這個價值服務得很到位。
- 可靠性(Reliability):寫測試、嚴謹驗證每個函式。否則你收集到的負評是「不穩定」造成的,學不到對功能本身的回饋。
- 可用性(Usability):必須好上手、夠快、夠流暢。功能越少越容易達到——一個按鈕一個欄位,使用者不會迷路。
MVP 的優勢#
- 用最低成本驗證假設
- 在不確定要不要寫之前不寫程式碼
- 寫程式時間更少、找 bug 時間更少
- 持續推進新功能 = 持續累積真實回饋與動力
- 程式碼庫保持精簡,未來功能更易實作、bug 更少
- 上市更快、變現更快、品牌建立更穩
隱形模式的迷思:「我的點子會被偷」#
很多人堅持隱形模式是擔心點子被剽竊。
點子很便宜,執行才是王道(execution is king)。你的點子大概率早就有人想過。隱形反而可能讓對手更早跑出來——他們和你一樣以為沒人想到。
多年後勝出的,是那個早早出手、頻繁迭代、把使用者回饋吸收進產品的人。
結論#
- 寫程式之前,先想清楚使用者需要什麼。
- MVP 要有價值、設計到位、反應快、好用。
- 把所有非必要功能砍掉,一次專注一件事。
- 早發布、頻繁發布,靠迭代逐步加功能。
- 想下一個功能該不該做的時間,要比實作該功能的時間多。
- 用 split test 驗證新功能對留存、停留時間、活躍度的影響——無效就砍。
下一章將探討如何寫出乾淨而簡單的程式碼。但請記得:不寫多餘的程式碼,是通往乾淨程式碼最可靠的路。