闲言碎语:体验设计师应该知道的那些事
上QQ阅读APP看书,第一时间看更新

博弈的尴尬

不管你是做产品,还是做服务,只要和IT沾上边了,那么两种角色关系是比较容易产生矛盾的,一种是产品和市场,一种是设计和开发。我相信以下的对话不止一次地在各种规模和背景的公司团队中出现过:

设计师A:“我设计的界面效果不是这样的,细节都没有了。”

程序员B:“对,我们是按照默认的结构开发的。”

设计师A:“为什么不按我的设计来实现呢?”

程序员B:“按照你的设计实现了,如果系统不稳定,我们没法负责啊!”

……

与程序员博弈的问题,广泛地体现在互联网产品与消费类数码产品的设计开发过程中,重点不在于我们提出这种现象,而在于怎样巧妙地解决这个难题。我在这里分享一些自己的经验,未必说明我就处理得很好,大多数情况下,程序员仍然是有主动话语权的,而有时候设计师的思考方式也需要改变,我们来看看这些根本的原因和症结。

首先要提醒的是,并非所有程序员和开发工程师都是油盐不进的,我也见过,并和一些很优秀的程序员(包括韩国的一些工程师)合作过,可以说,他们的能力完全可以和设计师平等对话,这些都是难得的跨媒体人才。

其次,并不是所有的产品和服务都要求通过程序完成“视觉美”和“吸引力”,稳定和高效仍然是系统的绝对前提,我并不提倡为了要满足设计需要而进行高成本、低效率的开发。

(1)理解双方的思维差异

我们之前说过,要对客户抱有设计的同理心,其实对于任何不太了解设计规则与方法的合作伙伴,我们都需要保持这种耐心和诚恳。和程序员沟通,首先要了解对方的思维形态,一个程序的开发过程是严谨的,需要有准确的输入和需求定义,并且按照逻辑关系来组织。

我发现大量无法实现的设计成果,其问题在一开始就已经暴露,给出的开发定义并不完整,或者只是一句“按照我的图的效果做就好了”,这种需求除非是那种开发的神人才能完全领悟你的意思。而大多数普通程序员是不会对设计成果做再次分析的,原因很简单:这不是别人的工作;这个需求有可能增加额外的时间;你的描述中感性的成分过多,程序员无法转化为机器语言的结构。

所以,如果你希望你的设计成果得到正确的实现,首先需要在传达需求的时候掌握节奏,并从程序员能够理解的角度出发来进行产品开发的描述,在一些规模较大的公司中,这个工作由产品经理来做,不幸的是,我们的大多数产品经理都做不了,所以你还得靠自己。

(2)衡量公司的现状

是的,并不是所有公司都重视设计,虽然他们表面上不愿意承认,这是因为在目前的市场位置和客户关系中,他们的领导人暂时没有发现设计的巨大附加值和竞争力。作为设计师,我们需要给领导们一点时间(有可能这个时间太长了,所以我们跳槽了)。

但无论如何,作为技术基础的程序开发永远是比较重要的,因为它的可知性(开发完毕立即可以展现功能)、可控性(有两个程序员一定可以干得比一个程序员多)、可调性(程序基础框架做得好,以后的工作会较轻松,意味着更低的维护成本)。而设计呢?你无法说清楚聘请3名设计师究竟比1名设计师能够带来哪些更多的价值,并量化它,这个数据还需要时间来证明。如果不是领导层极端的人品和先进的思想,基本上你的努力就是一摊泡影。

因此,不得不面对的就是,如果你的公司真的对设计的前端影响不重视,你能做的只有尽量减少自己在后期维护上的压力,和程序员商量好,以最快的方式修改视觉方案。

(3)了解程序开发的难度

作为设计师,你认为程序开发不是你应该关心的,很好,程序员也是这么想的,所以你怎么能要求程序员来体会你的设计意图呢?己所不欲,勿施于人。如果你希望自己的作品能够得到最好的展现,那么至少你要了解一点基本的程序知识,如果是手机界面设计师,你连iOS和Android之间的开发差别与限制都不懂,MTK几个平台版本的功能定义都不知道,我不相信你可以很好地与程序员合作。

设计师是需要补课的,这不是你要以时间和精力为借口的事情,如果现在你没有关心开发的难度,最后由于难度造成的很多问题都会返回到你的头上。这就是目前我们作为设计师的悲剧,但它不可怕,需要的只是你一点点额外的时间。

(4)合理、逐步地推进

有一天你的老板想通了,希望设计师走到产品开发的前沿,这时候我们也不要有什么鸡犬升天的想法,因为程序开发的反弹也会很严重。无论你的创意和设计多么的优秀,在现实的技术瓶颈面前,还是那么不堪一击。我们要理解一个平台的限制和一个功能的实现深度,然后做出合理的开发布局和规划,这需要你和程序员的沟通处理,互相做出妥协。

就目前的行业情况来看,一个全新的应用在新的平台上进行开发的话,给两三个程序员一至一个半月的时间是比较合适的,不要问为什么,世事无定论,主要看概率,因为过快了也会有反效果,你不想每天都跟在程序员的屁股后面改bug吧?

(5)私人友谊的价值

在工作合作中,朋友关系远比同事关系更实用,既然你们的身份和部门已经很严肃了,私下的交往就不要再这么严肃了,部门之间也可以多组织一些私下的活动,感情增加了,卖力气的时候大家都会担着点。

我说的不是拉小圈子,我说的是……好吧,其实就是拉小圈子,那又如何?一帮比较好沟通,愿意为你花时间的程序员哥们儿还是很可爱的,至少我们的产品最后的层次上来了,氛围也融洽了。好了,这就说到了职场的同事关系的问题,有点跑题,你发现如果你在这个事情上处理好了,前面的4条可以忽略不计……

最后我要说的是,程序员本身也想做出好的东西,如果你的设计真的能够打动人,他们是愿意花精力和时间的,但为什么又屡战屡败呢?除了上面提到的问题,听说你们公司从来不对优秀的开发项目和程序员做奖励,我想我们找到原因了。