Kim MacCormack — Leesburg, Virginia, USA
一個 12 年前的昂貴教訓#
作者的團隊曾作為分包商,為一家平面設計公司開發網頁應用。規則是:不得與客戶直接接觸,所有需求透過主包商以零散的電子郵件傳遞。
其中一封郵件涉及螢幕解析度標準。設計公司在正式需求文件中寫道:
「每頁版面將符合固定的 800 像素寬度及 600 像素高度標準。」
問題出在哪裡?高度(height)不應該是固定的。
正確的寫法應該是:「版面將符合固定的 800 像素寬度標準,以支援最高 800x600 的螢幕解析度。」
一個常識,卻沒有被傳達#
在網頁開發領域,這是常識:
- 水平捲動(horizontal scrolling):使用者深惡痛絕
- 垂直捲動(vertical scrolling):被視為瀏覽器使用的正常現象,甚至是優勢
然而,這個重要認知從未被傳達給客戶。
結果:客戶提供了大量頁面內容,幾乎每個頁面在 15 吋螢幕上都無法完整顯示,必須垂直捲動。客戶大怒,認為需求未被滿足,主包商拒絕支付分包費用,理由是「未符合書面需求」。
注意: 措辭不清的書面需求,不僅會造成誤解,還可能被用來對付你。「符合 800 像素高度標準」與「支援 800x600 解析度」看起來相似,意義卻天差地遠。
從這個教訓學到的事#
重點: 務必記錄你的假設,並堅持與最終使用者(而非中間人)一起審查並簽核需求。透過中間人傳遞的需求,往往在傳遞過程中失真,且最終的責任會落在你身上。
敏捷實踐如何改善這個問題#
如今,敏捷專案管理的做法已大幅緩解了這類問題:
- 使用者故事(User Stories):開發者與真實客戶面對面共同建立需求
- 基於商業價值的功能排序:讓客戶按照實際需求優先順序決定開發方向
- 1 至 2 週的迭代(iteration):提供早期且頻繁的回饋機會,讓期望能及時校正
補充: 12 年後,作者遇到了幾乎相同的情況——客戶對垂直捲動非常敏感,同時又想放大量內容。但這一次,憑藉敏捷的工作方式和過去的教訓,這個問題被迅速解決,雙方建立了切實可行的期望,沒有重蹈過去的混亂。
技巧: 面對透過中間人傳遞的需求時,特別要留意措辭的精確性。主動要求直接與最終使用者確認關鍵假設,這不是不信任中間人,而是對所有人負責。