不管你是做產品,還是做服務,只要和IT沾上邊了,那麼兩種角色關係是比較容易產生矛盾的,一種是產品和市場,一種是設計和開發。我相信以下的對話不止一次在各種規模和背景的公司團隊中出現過:
設計師A:“我設計的介面效果不是這樣的,細節都沒有了。”
程式員B:“對,我們是按照預設的結構開發的。”
設計師A:“為什麼不按我的設計來實現呢?”
程式員B:“按照你的設計實現了,如果系統不穩定,我們沒法負責啊~~~”
。。。。。。
與程式員博弈的問題,廣泛的體現在互連網產品與消費類數位產品的設計開發過程中,重點不在於我們提出這種現象,而在於怎樣巧妙的解決這個難題。我共用一些自己的經驗,未必說明我就處理得很好,大多數情況下,程式員仍然是有主動話語權的,而有時候設計師的思考方式也需要改變,我們來看看這些根本的原因和癥結。
首先要提醒的是,並非所有程式員和開發工程師都是四季豆米油鹽不進的,我也見過並和一些很優秀的程式員(包括韓國的一些工程師)合作過,可以說,他們的能力完全可以正常的設計師平等對話。這些都是難得的跨媒體人才。
其次,並不是所有的產品和服務都要求通過程式完成“視覺美”和“吸引力”,穩定和高效仍然是系統的絕對前提,我並不提倡因為要滿足設計需要而進行高成本、低效率的開發。
1. 理解雙方的思維差異
我們之間說過,要對客戶抱有設計的同理心,其實對於任何不太瞭解設計規則與方法的夥伴,我們都需要保持這種耐心和誠懇。和程式員溝通,首先要瞭解對方的思維形態,一個程式的開發過程是嚴謹的,需要有準確的輸入和需求定義,並且按照邏輯關係來組織清晰。
我發現大量無法實現的設計成果,問題在一開始就已經暴露,給出的開發定義並不完整,或者只是一句“按照我的圖的效果做就好了” — 這種需求除非是那種開發的神人才能完全領悟你的含義,而大多數普通程式員是不會對設計成果作再次分析的。原因很簡單,一這不是別人的工作,二這個需求有可能增加額外的時間,三你的描述中感性的成分過多,程式員無法轉化為機器語言的結構。
所以如果你希望你的設計成果得到正確的實現,你需要首先在傳達需求的時候掌握節奏,並從程式員能夠理解的角度出發來進行產品開發的描述,一些規模較大的公司中,這個工作由產品經理來做 — 不幸的是,我們的大多數產品經理做不了,所以你還得靠自己。
2. 衡量公司的現狀
是的,並不是所有公司都重視設計的,雖然他們表面上不願意承認,這是因為在目前的市場位置和客戶關係中,他們的領導人暫時沒有發現設計的巨大附加值和競爭力,作為設計師,我們需要給領導們一點時間(有可能這個時間太長了,所以我們跳槽了)。
但無論如何,作為技術基礎的程式開發永遠是比較重要的,因為它的可知性(開發完畢立即可以展現功能),可控性(有兩個程式員一定可以幹得比一個程式員多),可調性(程式基礎架構做得好,以後的工作會較輕鬆,意味著更低的維護成本)。而設計呢?你無法說清楚聘請3名設計師究竟比1名設計師能夠帶來哪些更多的價值,並量化它,而這個資料還需要時間來證明。如果不是領導層極端的人品和先進的思想,基本你的努力就是一攤泡影。
因此,不得不面對的就是,如果你的公司真的對設計的前端影響不看重,你能做的只有盡量減少自己在後期維護上的壓力 — 和程式員商量好,以最快的方式修改視覺方案。
3. 瞭解程式開發的難度
作為設計師,你認為程式開發不是你應該關心的,很好,程式員也是這麼想的。因此你怎麼能要求程式員要自己體會你的設計意圖呢?已所不欲,勿施於人。如果你希望自己的作品能夠得到最好的展現,那麼至少你要瞭解一點基本的程式知識,如果是手機介面設計師,你連symbian和windows mobile之間的開發差別與限制都不懂,MTK幾個平台版本的功能定義都不知道,我不相信你可以很好的和程式員合作。
設計師是需要補課的,這不是你要以時間和精力為借口的事情,現在如果你沒有關心開發的難度,最後由於難度造成的很多問題都會返回到你的頭上。這就是目前我們作為設計師的悲劇,但它不可怕,需要的只是你一點點額外的時間。
4. 合理的、逐步的推進
不好意思,有一天你的老闆想通了,希望設計師來走到產品開發的前沿,這時候我們也不要有什麼雞犬升天的想法,因為程式開發的反彈也會很嚴重。無論你的創意和設計多麼的牛B,在面對現實的技術瓶頸面前,還是那麼的不堪一擊。我們要理解一個平台的限制,一個功能的實現深度,合理的做出開發的布局和規劃,這需要你和程式員的溝通處理,互相做出妥協。
就目前的行業情況來看,一個全新的應用在新的平台上進行開發的話,2-3個程式員給出1-1.5個月的時間是比較合適的,不要問為什麼,世事無定論,主要看個機率,因為過快了也會有反效果,你不想每天都跟在程式員的屁股後面改BUG,改互動吧?
5. 私人友誼的價值
工作合作中,朋友關係遠比同事關係來得實用,那麼既然你們的身份和部門就很嚴肅了,私下的交往就不要再這麼嚴肅了,甚至部門之間也可以多組織一下私下的活動,增加感情了,賣力氣的時候,大家都會擔著點。
我說的不是拉小圈子,我說的是。。。。。。 好吧,就是拉小圈子,又如何?一幫比較好溝通,願意為你花時間的程式員哥們還是很可愛的,至少我們的產品最後的層次上來了,氛圍也融洽了。好了,這就說到了職場的同事關係的問題,有點點跑題?是的,你發現如果你在這個事情上處理好了,前面的4條可以忽略不計。。。。。。
最後我要說的是,程式員本身也想做出好的東西,如果你的設計真的能夠打動人,他們是願意花精力和時間的,但為什麼又屢戰屢敗呢?除了上面提到的問題,聽說你們公司從來不對優秀的開發項目和程式員做獎勵,我想我們找到原因了。