本文章是由機器翻譯。

別讓我打開話匣子

開發人員和設計人員應該是朋友

David Platt

David Platt開發人員和設計人員並不總是相處融洽,但他們需要保持良好溝通。在西班牙巴賽隆納的 Tech·Ed 2007 上,我第一次遇到了這種抵觸,第一次看到整個專場探討完全針對設計人員。與會者都很反感此專場,由於風評如此之差,管理人員不得不在第二天將其取消。通過觀察其中幾場探討,我發現其品質還是相當不錯的。我沒有看到通常會引起差評的原因,如演示程式出現問題或演講者要比平常緊張。Instead, I think that, at that time, the developer community was not willing to hear the fundamental message of the track: that these newfangled Windows Presentation Foundation (WPF) and Silverlight graphical environments required the services of new team members, with different skills but with status equal to the developers’.

他們彼此之間的態度改善不大。我在 2008 年阿姆斯特丹的 Dev Days 上發表的主題演講另雙方都很滿意,但之後,設計人員和開發人員始終是各自探討各自的,直到晚宴時啤酒才使雙方把酒言歡(這件事聽上去很好笑)。2009 年我在米蘭的 ReMix 上發表主題演講後,同樣的一幕又一次上演了,只不過在義大利他們喝的是葡萄酒而不是啤酒。

開發人員和設計人員擁有不同的世界觀,就像內科醫生和外科醫生。對待相似的環境,雙方的使用方式不同;對待相似的問題,雙方採用的方式不同。現在,要推出任何成功的用戶端程式,開發人員和設計人員是同等重要的,就像對於任何成功的醫療實踐,內科醫生與外科醫生都同樣重要一樣。

開發人員與設計人員之間的抵觸讓我想起 1943 年 Rodgers 和 Hammerstein 執導的舞臺劇《奧克拉荷馬!》中牧場主和農場主之間的衝突(感嘆號的濫用並不是從 Yahoo!開始的)。在歌曲“農場主和牧場主應該是好朋友”裡,Aunt Eller 必須拔出槍強迫雙方去跳舞(您可以在 YouTube 剪輯看到這段精彩演出:tinyurl.com/pvu93l)。

我希望開發人員和設計人員之間能夠更好地合作 — 理想情況下,無需通過武力手段進行強迫。或許,我該修改下歌詞:

哦,開發人員和設計人員應該是朋友,
哦,開發人員和設計人員應該是朋友。
一個整天都在擺弄代碼
一個戴著很酷的貝雷帽
但是,他們沒有理由不能成為朋友。

軟體兄弟應當團結在一起,
軟體兄弟應當成為朋友。
一些人用 Visual C# 寫代碼
另一些熱衷於 Expression Blend。

哦,開發人員和設計人員應該是朋友,
哦,開發人員和設計人員應該是朋友。
他們中有人磨牙
另一個知道如何以 XAML 進行思考
但是,他們沒有理由不能成為朋友。

當我在公司教授 WPF 或 Silverlight 時,我堅持每個班級都必須包括開發人員和設計人員。當我與公司就 UI 專案進行磋商時,我堅持設計團隊必須二者兼有。一般而言,設計人員確定什麼可以讓使用者愉快,而開發人員則考慮如何有效地實現這些想法,雙方相互協作,相互提意見。

例如,在最近的一次與歐洲客戶進行的討論會中,我推薦了一個用於查找客戶的經典對話方塊,其中包含一個文字方塊用於輸入政府 ID、一個日曆控制項用於顯示生日,以及用於標識彼此的標籤。設計人員說:“不錯,但該操作的執行非常頻繁,將搜索框放在工具列上如何,就像 Google 那樣?The user types in whatever information she has, and we’ll take it from there, like a search engine.” “Yes, I can parse out all the possible inputs,” said the developer, “I have some good reusable classes, it won’t take long.” (It did, but sic semper cum geeks.)  “And we can put a prompt string inside the text box, so the user knows what it’s for,” I added.And—zing!—we had a prototype in front of users for testing in just a few days.

這就是開發人員和設計人員共同合作的成果,當然還少不了一個壞脾氣的人在其中不停地活躍氣氛。現在,照我說的做吧,要不然我又要糟蹋那首歌曲了。

David S.Platt 在哈佛大學拓展學院以及世界各地的公司講授 .NET 程式設計。他著有 11 本程式設計書籍,包括“Why Software Sucks”(Addison-Wesley Professional,2006)和“Introducing Microsoft .NET”(Microsoft Press,2002)。Microsoft named him a Software Legend in 2002.He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal.You can contact him at rollthunder.com.