一 名优秀的设计师应该会编程吗?有关这个问题的争论每天都在博客上、Twitter 上,以及公司召开的会议中不断上演,永无休止。人们更多地关心设计师本身有没有编程的能力,却没有考虑到是否应该在设计团队中直接引入一名程序员。这真的 是让人遗憾的事,甚至会为他们的争论感到着急。因为对于一场有关产品设计的讨论中,程序员其实能够起到非常重要的作用。
但令人遗憾的是,许多设计师对于他们的工作来说都有一种「精英主义」,觉得只有他们才能打造出专业的、符合潮流的设计。可是事实上这并不正确。
事 实上,每个人都有能力为一部好的设计作品建言献策,其中当然包括了程序员。当然,一名经验丰富的设计师也许在设计方案的寻找上显得更加老练专业,但是设计 师们都应该不断的提醒自己,时刻保持一颗谦虚的心,保持开放的心态面对所有人提出的建议,尤其是那些来自程序员的建议。以下是程序员为什么要加入设计团队 的若干理由:
设计团队里面缺失程序员的风险
在 Digg 还特别流行的那段时间里,我记得曾经在丹尼尔·博卡(Daniel Burka)(Digg 的首席设计师)和乔·思汤普(Digg 首席程序员)之间有一场非常著名的争论。那个时候丹尼尔想要在 Digg 的「按钮」上做出一次设计上的变动。对于丹尼尔来说,这个变动就是微小的一点;但对于首席程序员乔来说,即便设计上微小的一点变动都会对整个网站的响应时 间产生巨大的影响。为了适应这一点点的变化 Digg 网站必须提升自己的处理效率,改善服务器的内部架构。
这 就是程序员没有融入到设计团队中的一个典型案例,它由此带来的结果有可能是灾难性质的。设计方案的出炉有可能无法付诸于现实;更有可能大大提高系统的复杂 程度。当设计师提出的某种方案在他和程序员之间反复拉锯争论的时候,方案一改再改,一拖再拖,所有的时间都浪费在上面。而这一切就源于一个原因:从设计最 初就没有引入一名程序员。
程序员能够提升设计上的「现实可操作性」
我们不仅需要程序员来消灭那些不切实际的想法,同样还需要在我们某个忽视掉的环节上建言献策。我们也许由于自己的专业受限,会将一些可能性给过滤掉,这个时候就需要程序员将这些可能性找回来了。
程 序员不仅会在某些时候否决掉我们的想法,更有能力带着我们的想法去向更远的地方。曾经我就与一些程序员们就具体问题展开讨论,他们提出来的东西完全是我之 前没有想到,也觉得不可能成真的事。如果当时场上没有他们把关并且评估,我们对一个项目的判断和研究上会缺失很多东西。
程序员的「主人翁意识」更加强烈
最 后一个重要的原因决定了设计团队中程序员不可或缺的地位,他们拥有更加强烈的「主人翁意识」。他们在介入到一个项目中的时候,往往更加投入,更加积极。有 些时候,他们是决策链的最后一环,他们的声音之所以被人忽略,是因为他们太晚才介入到项目中去,很多意见已经不符合当时的发展状态。越早地让他们介入,他 们越能积极主动的地去从技术的角度给出最合理化的建议。