以用户为中心的设计 |
|||
前数日与最近名动江湖的UCDChina小女孩Angela及某圈内人士在某店内烤肉论道,偶然聊到此话题。换个更动听的说法,前端开发是属于“研发团队”还是“产品团队”?此问题涉及公司的职能架构体系,也就会牵涉到跨部门的团队协作。 产品质量有一定高要求,但没有专职前端开发工程师的产品团队里,常见工程师以需求难度工作量、项目进度等理由推翻设计成果。好点的反馈给设计师,设计师们重新降级设计再交付;差点的直接改掉设计,造成产品质量不可控。所以我一直的观点都是“前端开发”归属于“产品职能”范畴,Angela他们两位意见正好相反。包括用户体验的要素模型,我个人意见早就改成六层了,最表面再加个“语义层”,凑齐Strategy, Scope, Structure, Skeleton, Surface, Semantic共六个S,缘分啊(模型等想法成熟后再改)。 这是一段很有趣的讨论,上到前十年,下到后十年都有涉及。因为我不做“前端开发”并已远离互联网大公司很久,所以个人观点存在推论的假设,想听听前端开发工程师的切身体会,尤其各位还在江湖的同行。我的观点如下: 第一,交付物方面,我认为产品团队的最终产出物就应该是高保真的页面原型,而不是一堆图形,更不是一堆文档。注意,我说的是页面原型,而不是图形。另外,这个低保真、高保真业内并无统一规范,我所指的“高保真页面原型”是与线上流程无误、视觉无异、内容无错,并且代码可以直接嵌数据开发的版本。基于这样的标准,肯定需要专业前端工程师。 第二,团队协作方面,我认为前端工程师解决最多的应该是“交互”问题,前两年很火的一个词——AJAX便是例证。可以说AJAX重新让Javascript焕发了第二春,得到了重视,它最直观的价值便是改善了网民的交互体验,比如浮动层和无刷新调数据。也就是说前端工程师应该与“交互设计”职能紧密配合,当然不能跨部门了(海外很多交互设计师的职能列表里就有Javascript)。我知道前端不是只有Javascript,但我不认为只懂css,xhtml可以叫“前端工程师”,因为那是做web design的基本技能。 第三,管理方面,我认为产品方面必须有一位总头领(如产品副总裁、产品总监)全面负责产品质量,包括“前端开发”职能。因为产品设计的所有输出都必须经过“前端开发”表现出来,否则无法准确评估设计质量。如果“前端开发”是在“研发团队”并归属于另外位总头领(如技术副总裁、技术总监)负责考核,设计交付物很可能成为互相推诿的炮灰,反正我肯定不会干。一个职能归属于哪个体系,这个看似皆可的表象之下其实暗流涌动,具体诸位自己参悟吧,没法说太细。 基于以上见解,得提一下我是计算机背景,有编程功底,可以手写结构表现层xhtml,css代码,行为层jquery类似的类库略懂。对信息内容方面有感觉,图形化方面功底相对弱,纯逻辑层面的产品设计职能也算是实践了好几年。 十年前我们做网页设计都是可视化的,使用的不管Frontpage还是Dreamweaver基本与Photoshop无异,很少有人去关心什么代码。到后来Web Standard设计思想的引入,我们懂得了Web页面有结构、表现、行为三层之分,层次分明的种种好处,彻底颠覆了“页面仔(前端开发前身)”的价值。再后来就是上文提到的AJAX,促使市场更加重视“前端开发”这个职能职位,包括有独立的团队来做事。但长期以来,“页面仔”地位一直就是个玩笑,戏称为比设计师多懂点代码,比工程师多懂点设计。据我所知,目前几乎所有有实力组建“前端开发”团队的公司都把它归属于“产品”部门,或者“产品设计”职能体系之下。 十年之后预测我曾经提过,寄希望于HTML5和CSS3,可以直接承担大部分表现层“视觉设计”职能,只不过这两个家伙成熟差不多要十年,包括最近很火的移动互联网产品也离不了这两位。就目前CSS2的能量来说,我认为只要审美不太差的web designer也能做出“视觉效果”不错的页面。从事物发展规律来看,这个技术领域将来会很吃香,学这门手艺人会越来越多,相应的专业水准要求肯定会水涨船高。而在技术标准日趋成熟的将来,“前端开发”与产品设计其他职能会绑的更紧密,包括如果要做“敏捷设计”或“产品规范”,也必须“前端工程师”的紧密配合。 最后,对于认为“XX工程师”就是归属“研发团队”的观点我完全不认同,写代码就叫“工程师”理由有点牵强。目前我认为优秀的互联网产品设计师一定要懂得写html,css代码,而将来如果不懂html,css代码的新手会很难找到我们这行的工作(中国人多啊)。 |