· 4 分钟阅读

验证的不对称性

我的第一份工作是给好几款 3D 打印机设计界面。每一版设计、每一次迭代,我都会发给团队看。可那时没有办法把这些界面装进真机,没人能真的用上它们,大家只能对着静态的 Figma screen 想象,给我一些简单的意见。

后来工程师把界面逐步实现出来,我才发现有些设计的用户体验并不好,有些本可以更好。可这些问题我在设计阶段都没有预见。没人能告诉我,我自己也没法验证,而到了那时,再重新设计和改动的成本已经非常高了。设计我都做得出来,可我没办法知道它好不好,也就很难进步。

那时我以为是自己经验不够。后来我自己也开始写代码,才发现软件工程师很少有这个烦恼。一个功能可能要写一周,测试跑几分钟就能告诉你它能不能用,而且随时随地都能跑(如果是 test-driven 的开发方式,甚至一开始就有了清晰的测试目标)。所以他们可以不断改进成果,也不断提升自己。

在软件工程里,验证往往比做出来容易。设计常常反过来,做出来不难,难的是知道它好不好。我把这叫作验证的不对称性。

拿两个极端来说:Login page 做起来容易,验证也容易,用户要么能登录,要么不能,我们也清楚该看哪些 analytics,通过用户行为确认它是否有效。Landing page 两样都难,它需要很强的 creativity,而成不成功要过不少时间才能从数据里看出来,数据里又搅着各种其他因素,很难准确归因。大部分设计工作落在两者之间,但大都偏向同一边:验证比做出来更难,也更耗时间。

为什么 design review 总在绕圈

这种不对称最直接的后果,就是 design review 效率低、质量差。

大家看着静态的 screen 或者简单的 prototype,想象用起来会是什么感觉。每个人想象的都不一样,每个人都能讲出自己的道理,但谁也没法证明自己是对的。会越开越长,大家被耗得没了精力,勉强再改一版,下周再来一遍。

我们常说这是因为设计太主观。我倒觉得主观本身没问题,用户体验本来就是主观的使用感受。问题在于没有人真的用过,这些主观感受只能靠想象。

没人用过,能拿来验证设计的就只有事先积累的 taste。Taste 的本质是一种预测:有经验的人看一眼设计,就能大致猜到用户用起来的感受。它来自多年观察、使用各种产品、项目经验,有点像一个用大量样本训练出来的模型。

幸运的话,team 里有人有好的 taste,但显然不总是这样。没有更好的依据时,决策往往就跟着 level 走。

另一种样子

这并不是无解的,团队可以搭建更好的工作流程。我在 Wealthsimple 就看到了完全不同的情况。

在 Wealthsimple,开发和设计时,改动会实时反映在自己手机上那个真的 Wealthsimple app 里,我们一边改一边体验。想让同事也在自己手机上 preview 这些改动,连 PR review 都不需要,他们扫一个二维码就能参与进来。

有些问题马上就能在真机上看出来:一个 animated gradient 在灯光下和阳光下是什么观感,一个转场动画够不够 snappy。有些问题要用上几天才会冒出来,比如一个下单流程的步骤是不是多到繁琐,用起来不再 enjoyable。

所以每个人每天都在 dogfooding,大量功能在 rollout 之前,我们自己已经用了几周甚至几个月。上线之后,大家也都在刷 Reddit 看用户怎么说,而且刷得很开心,因为能看到自己做的东西被用户讨论(即使是吐槽也很好玩)。

这种高效的 design infrastructure,让源源不断的真实反馈来验证设计。这些反馈很有说服力,level 说了算的时候少了很多,讨论自然回到了体验本身,来回扯皮少了,team 合作轻松愉快多了。

我发现在 Wealthsimple,我们没有让设计变得更客观,它还是主观的,甚至非常 opinionated。区别在于,这些主观感受来自很多人、很长时间的真实使用。用的人越多、用得越久,这些意见就越接近真正的验证。每一次这样的验证,也在训练我们的 taste。

现在

软件工程的验证靠测试,不管谁写的代码,都能被同样地验证。软件工程这么有活力、对新人这么友好,这是很大的原因。设计没有测试,过去我们只能赌运气,指望 team 里有人有足够的 taste 帮大家判断。

Wealthsimple 让我看到减少验证的不对称性的一种方式:让 taste 和真实使用形成循环。过程中用 taste 快速验证,然后用真实使用做最终验证,后者又训练出前者,下一次就能少走弯路。优秀的设计团队有自己的验证文化,他们看重验证在设计工作里的价值,让设计尽早跑在真实的产品里,让更多人更早、更久地用上它。Taste 也就这样在整个团队里慢慢积累,变成最珍贵的长期资产。

反过来说,如果没有真实使用做最终验证,taste 也很难积累起来。很多 NG 和 junior 设计师,甚至一些工作了好几年的 intermediate 设计师,做过一些 project 也开了很多会,却很少经历自己的设计被验证。Taste 要很久才能积累,又没法直接分给别人,于是一直非常稀缺。

降低验证的不对称性就是我现在作为 design engineer 最想做的事:让验证更快、更方便,把决定权留在用户体验上,少一些低效的争论。

我们还没找到让 agent 验证设计的办法。它当不了有 taste 的设计师,因为 taste 还太模糊;它也当不了用户,因为给不出和真实用户等价的反馈。

回头看第一份工作,公司里并不缺打印机。我只是没意识到,应该先搭一套东西,让我能把设计很快发给团队去日常使用,好让我学习和改进。