過度設計

有時候我們會收到類似像這樣的使用者需求:我需要一個功能是,其結果是 A + B + C 的組合 (ABC分別為不同的欄位),目前暫時只需要三個欄位,但不未來排除會有 D 和 E,請幫我做有「彈性」的設計

關於這樣的需求,一般會有三種設計方案:
第一,R = A + B + C
第二,R = A + B + C + D + E
第三,R = A + B + ….. + N

而選擇的方案隨著工作年資的增長而不一樣。

第三種,熬夜加班花了很多時間,把全部可能的狀況都考慮進去了,結果是 80% 的狀況都用不到,這是資淺工程師的程度。

第二種,除了必要條件之外,再幫用戶做以後「可能」會用到的,很貼心的替用戶著想,可是用戶多半不會領情,還認為那是你自己雞婆多做的。而且世間事變化無常,多做的部分通常以後用不到,變成累贅。可以多作「非功能性的需求」來讓系統更穩定,而不要自以為是,做了用戶以後可能會用到的需求。

第一種,只做足夠使用的,不預先做未來可能的功能,簡單的說,就是不過度設計,會這樣設想,才是專業。

相關文章

如何將電腦畫面經由 Chromecast 投放到電視螢幕上

Mac與Android裝置傳輸檔案的方法

Chrome 的檔案續傳功能

使用 Line Bot API 製作聊天機器人