编辑导语:作为一名设计师,开发前对产品的思索策划与开发中的实现过程往往会存在一定的偏差。那么,我们应该如何改进产品开发过程,减少自己和开发人员不必要的工作量,在产品开发中保证设计质量和体验呢?
几年前,我曾在一个大型公司的项目中工作,主要是为他们重新设计旧有的应用。这简直是设计师一直梦寐以求的:有机会重塑全套 web 应用的未来用户体验,项目中发布的第一款应用将为其他产品打下基础。
我没有浪费时间,立即开始研究用户,了解现有软件程序,与产品所有者(我们的客户)和其他利益相关者合作,开始处理积压的需求。
几周后,我们对手头的挑战有了更好的理解,于是召集会议来讨论设计新产品。与此同时,直到我们验证了详细的需求,并且至少有了一个粗略的线框图之后,开发团队就可以开始搭建必要的基础架构。
几个月过去了,我们从草图到线框图,为关键的用户旅程勾勒出流程步骤,设计 UI 组件以及详细的规范,甚至有原型来演示我们想要的产品实现方式。
我们已经去客户那里测试设计,收到了很好的反馈,一切似乎都朝着正确的方向发展。
只有一个问题:我们至此还没有任何可以发布的产品,而我们设计的产品和我们能做出来的产品之间相差了十万八千里。
上述问题并不少见,我们一次又一次看到设计方案没有实现,或者与预期的设计和体验相去甚远。
这对于探索或概念验证一类的工作来说是很好的,但在快速发展的行业中,我们需要快速而频繁的发布产品,以保持在竞争中的领先地位。
在过去的几年里,为了改进产品开发过程,我调整了我的流程,并想分享一些关键的变化,希望这些变化也能帮助你和你的团队。
一、MVP:不止是说说而已
你可能听过无数次“我们需要一个 MVP(Minimum Viable Product,最小可行性产品)”,但这不应该只是一个流行词。
如果你完全理解如何实现一个可接受的 MVP,就可以帮助团队把精力集中在发布上。为了快速发布,团队必须愿意发布最基本的产品。
这对于客户和利益相关者来说是非常困难的,因为他们往往为所有特性和功能做预算,并预期最终得到功能齐全的产品。但是先发布 MVP 的好处是显而易见的。
你发布的速度越快,就能把产品越快投向用户,获得有价值的反馈,并给你带来意想不到的见解。而且,越早开始获取用户,你的用户群就越快开始增长;在几个月的用户增长之后,你就会领先了。
你需要接受的是,MVP 可能没有那么快的竞争力,但也不需要立即进行大规模营销。关键是尽快发布,为持续的增量改进铺平道路,从而为用户提供不断增长的价值。
Slack 是一个很好的例子,它依赖于用户的反馈来帮助塑造产品。在没有首席营销官(CMO)和大众营销活动的情况下,他们通过倾听用户意见,逐步改进产品,赢得了用户的心。
二、打破幻想
作为设计创意人员个人,我们常常希望独立工作,很少考虑我们无法控制的事情。
我们关心的是交付的成果,只要它们有效并且看起来很棒,我们就完成了工作。如果最终发布的产品看起来或感觉不像我们的设计,那不是我们的错,对吧?
事实上,人类是情感动物,视觉刺激更能说明问题。酷炫的界面更能让客户惊叹,并留下持久的印象。
作为创造者,我们也从别人的意见中得到反馈,从而在视觉方面做得更好。然而,如果忽略高保真的模型和原型,仅仅把发布产品的实际使用效果归功于设计,而不是一些令人惊叹的个人作品,我们还能做好这种设计工作吗?
我并不是建议停止做那些美妙的,像素完美的工作。我追求完美的强迫症源于 800 × 600 的显示屏时代,在那个时候,最终产品就已经应该是完美的。
正如 Salesforce 设计团队所说:“以体贴优雅的工艺,表现对人们时间和注意力的尊重Demonstrate respect for people’s time and attention through thoughtful and elegant craftsmanship”
高保真的设计还可以让我们测试一个真实的产品,验证我们的假设,并确认可用性。但重要的是,我们不会浪费时间来创建一个能给客户留下深刻印象,但却不能实现的产品。
相反,关注一个现实的、可用的产品。
三、找到正确的节奏
为了减少不必要的工作量,我们需要了解产品开发中发生的所有事情。
路线图、待办事项列表、下一步计划开发的功能,以及开发人员在每个阶段积极工作的内容。只是坐在外面,你就希望展现出团队合作,以为你已经做完了,产品接着自然就会实现,这是没有意义的。
对于一个产品团队来说,将设计视为事后的考虑,或把它完全排除在外是很容易的,而且并不少见;作为设计师,我们希望创造性解决问题,利用我们的经验和获得的反馈来验证正确的解决方案,我们不希望被告知“让它好看就行”。
了解每一件正在发生的事情,并确保设计是产品开发和发布周期中不可或缺的一部分,这不仅会帮助你的设计看到曙光,还会让团队的其他成员参与进来,这就引出了我的下一个观点。
四、分享所有权
如果你足够幸运,能在产品刚推出的时候就参与进来,请确保你作为设计师的想法能让每个人都了解。这将帮助团队有归属感,并给他们提供贡献的机会。
没有人希望别人告诉你该做什么,所以分享你的想法,并利用你的专业知识和经验来推进贡献。团队会更希望交付一个集体的想法,这也将有助于每个人都保持一致。
你还会发现,当每个人都达成一致并向相同的目标努力时,团队的士气会高涨。
五、关于代码工作
多年来,设计人员是否应该编写代码一直是一个热门话题。
作为一个 UI 开发人员和 UI 设计人员,我可能有点偏见。我知道这是一种奢侈,学习如何编写代码需要花费大量时间,但好处显而易见。
对我来说,编程能力给了我在代码工作中表达想法的自由。
有时候不需要提交代码,或者代码水平粗糙而混乱,但这仍然锻炼了个人经验,对产品实现逻辑有了深层理解,使后期减少对错误的解释次数,以及由于不熟悉而试图重新设计的时间。
如果设计人员不愿意或者不能编写代码,他们至少应该了解代码和平台的基本原理。建筑师在设计房子时,不会不考虑材料和周围环境。
这对你优化工作什么帮助?应该是显而易见的。具备相关的代码能力将减少编程所需的工作。如果你了解开发产品的平台或框架,就能够在它们的约束下进行设计。
表单组件有按列过滤功能吗?select 组件可以获取数据吗?还是所有选项都是预加载的?如果组件 X 与组件 Y 提供相同的用户值,那么哪个更容易实现?
一套可重用的组件可以节省大量时间,因此你对这些组件了解得越多,就越清楚如何定制它们来满足需求。
你的设计离技术上可行的距离越远,你就会浪费更多的精力来纠正它,开发人员也会浪费更多的精力来满足你的设计要求和客户的期望。
除此之外,在过去的几年里,我们设计和开发产品的方式发生了巨大的变化,动态设计规范、组件模式库和新的设计工具使我们比以往任何时候都更有效率。
更好的技术知识,让你现在可以真正提高团队的操作效率,这是以前无法做到的,你还在等什么?
六、总结
总而言之,如果你想优化工作流程、想更有效的发布产品,那么遵循以下建议,你和你的开发人员都会减少不必要的工作量:
1. 理解向最终用户交付产品价值所需要的最低限度(MVP)
快速发布、获得反馈和验证,持续少量更改比一次性发布大量未使用的功能要好。
2. 避免为了自己的利益而独立工作,或者为了让客户和利益相关者“惊叹”
如果你的工作不能转化为真正的产品,或者不能帮助塑造真正的产品,那么你的努力就白费了。你的目标是发布一个可用的产品,而不仅仅是一个演示的片段。
3. 与产品开发团队同步
知道计划了什么,以及在每个阶段将交付什么,这样就可以根据需要提供相应的工作成果。
4. 团队合作
让每个人都参与到创意中来,用你的专业知识和经验来指导和推动:大家会互相学习,每个人都会团结一致,专注于同一个目标。
5. 了解你设计的产品开发平台和框架
如果你不能编写代码,那就尽可能地接近代码。最终产品和设计方案之间的差距越小,开发人员实现时,偏差就越少。
6. 与开发人员紧密合作
建立或识别组件库,并创建可重用的设计规范。这也将加强整个产品的一致性。
7. 拥抱先进的设计工具,优化你的工作流程
原文作者:Billy D Stagg,UX/UI 设计师和开发人员,GROUP OF HUMANS 的设计合作伙伴
原文地址:https://uxdesign.cc/cutting-the-fat-from-product-design-5b01b28ff8ed
本文由 @鹈小鹕 翻译发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。