為什么工程師會造出蹩腳的產品

jopen 10年前發布 | 10K 次閱讀 工程師

英文原文:Why Engineers build crappy products,looks like it was designed by an engineer

就像是工程師自己設計的產品

當你第一眼看到下面的用戶界面時,你會尖叫出來,它一定是由工程師設計出來的

為什么工程師會造出蹩腳的產品

via Daring Fireball User Interface of the Week

為什么會這樣?對于工程或軟件開發過程而言,是什么導致了用戶實際不可能去使用的用戶界面?

用戶不滿的完美風暴

簡短版本:

  • 對于工程師的工作,最有意思的部分是陶醉于解決空間內的、可改善的地方——你能夠讓計算機做任何牛逼的東西。
  • 工程師不想做選擇,這限制了能力和靈活性。
  • 工程師更看重增加潛在性的功能,而不是移去不必要的復雜性。
  • 工程師想自己搞定設計方面的問題。

成為擅長交際的人

為什么工程師會造出蹩腳的產品

http://youtu.be/RAY27NU1Jog

考慮一種新產品的過程,最初是想了解軟件應該做什么,那么,就從定義問題的解決方案開始。這里有個假定,問題本身被正確地定下來了,但它經常不是這樣的。這些需求經常體現為用戶故事和線框圖,它們定義了用戶要做的事情和具體的界面,用戶將借助該界面來完成那些目標。

這里有個隱藏的條件,對于技術能夠做什么是理解的。有時候,尤其對于一種新穎技術方案的產品而言,技術能夠做什么還無法完全了解。不管解決方案是否位于已知的問題領域,在開發產品的時候,常常會碰到不同的挑戰。開發軟件實際上是非常難的。

鑒于此,工程將注重設計,開始考慮解決方案的總體結構,在產品風險最大的地方應該精心組織他們的開發投入——這部分往往是技術上最有挑戰的。如果我們借助原型或某種模擬界面使其運轉,以證明這些地方功能正常,那么唯一搞明白的就是理清產品的剩余部分。

工程的不確定特性

到了有意思的環節。每個工程師都喜歡從頭開發,因為他們可以探索而不必應對現有代碼的折衷、約束和雜亂。這是一種探索的過程,一種能夠探索一種技術空間可能性和潛力的過程。這真的很棒,讓工程變得有趣的很大一部分。

從小的功能開發,用新穎的方式將其組合在一起,做出逐漸強大的東西。工程師可以接觸帶有不同功能的各種小物件,使得探索它能夠實現所有功能變得 更加容易。能夠炫耀這些酷炫東西,從社交上是值得做的,除了它不能做什么,還有它能夠做什么。關注這些技術層面,使得人們去優化各方面的功能。

陶醉于界面

為什么工程師會造出蹩腳的產品

Engineers Keeping it Real: Go Fuck Yourself

問題是產品不等同于技術。技術對于開發產品是必要的,卻不是充分的。技術只是管道,使產品變得可能,但實際上不是人們關心的東西。

對潛力的陶醉與創建優雅產品相沖突,因為產品最重要的是做出選擇,從非常復雜的地方創造出清晰明了的東西。這更像是迷失于森林之中;理想和抱負,兩個方面的努力是直接矛盾的。

例子:我又做了一件蠢事

我們最近在開發一個產品, 它使用 email 做為一種界面接觸點(interface touch point)。當用戶打算和另一名僅僅部分地設置了賬戶的用戶交互時,現有的需求說明無法真正解釋應該發生什么。我們只是在擺弄著一些東東,因此責備需求 不明確是不公平的;因為在開發的時候,經常是這樣,我們最終迷失在人們期望不到的雜亂中。

從邊界情況的角度看,當關注于工程實現和基于能夠實現的東西基礎之上所開發的響應的健壯性時,我本能地開始構建能夠處理這種情況的代碼。它把松懈當做端點,在這種情況下,它做了一些更加聰明的事情,那么,email 應該也自然地做著更加聰明的事情。

我開始深入到能夠存儲那些將要排隊的部分請求,便于將來在用戶界面去處理。我開始創建一大堆功能,因為我正在考慮技術相關的東西,其它的界面有著“優雅”的地方,我想開發完整的東西。愚蠢慢慢地爬進了界面,因為我一直在搜尋一種技術上的解決方案。

這不是產品的核心。沒有人真正關心過它。對于類似情況,答案真的不是過多的技術解決方案。我認為沒有問題,但是技術解決方案不是解決問題的最有效方式。這實際上是設計方面的問題。

技術是簡單的

如果團隊之間協調不夠,如果設計組“完成了”他們的工作,然后將東西拋給了工程組,那么將出現這種對話,工程組將針對“漏掉的、但是我們需要解 決的地方”提出設計需求。它可以是漏掉的,但是它不需要被解決。在這種情況下,解決方案根本就沒有“解決掉這個問題”,而是重新界定了這個問題。這種重新 界定把問題放到了工程師所不希望的地方。這不是要建立用戶能夠解決的、一整套部分完工的請求隊列系統,對于重要任務或不管什么任務給予報警,而只需讓 email 界面簡潔、并把用戶跳轉到網站的主流程里。

總之,工程師傾向于成為蹩腳的產品設計人員的原因在于:

  • 對于工程師的工作,最有意思的部分在于癡迷于解決空間內的可改善的地方——你能夠讓計算機做任何牛逼的東西。
  • 工程師不想做選擇,這限制了能力和靈活性。
  • 工程師更看重增加潛在性的功能,而不是移去不必要的復雜性。
  • 工程師想自己搞定設計方面的問題。

— END —

譯文: 《為什么工程師會造出蹩腳的產品 》 臘八粥

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!