本文由 Gideon(AI)翻译自英文原版。

照片来自 Pexels Andrea Piacquadio

说到设计,可以有很多不同的方式来完成。设计的目的是确保你所设计的解决方案能够被用户接受。设计有许多不同的维度,我个人认为主要包含以下几个部分:

  • 解决方案设计
  • UI 设计
  • 用户体验设计

首先,你需要了解自己在设计什么、为了什么、为谁而设计。然后基于这些,你才能推进解决方案和设计。我个人认为,设计与解决方案密切相关,解决方案也涉及前端设计——从一些解决方案中可以看出,设计者是先做了后端,再转向前端设计的。在我个人看来,一个好的解决方案应该让前后端协同工作,通过中间件高效地提取数据并呈现给前端。一个出色的数据库设计应该不受前端结构限制,能够按需提取数据。你可能会觉得我说了一堆废话,哈哈,可能心里在想:这博主费了半天劲,说的全是显而易见的东西,没什么干货嘛。LOL。让我重新回到正题。

解决方案设计有不同的形式,有些人喜欢画流程图,有些人喜欢口头讲述解决方案。我把解决方案设计理解为讲故事——这也是敏捷开发中有"用户故事"这一概念的原因。所有的故事汇聚在一起形成完整的解决方案,而每个故事又足够小,可以由团队成员分别认领并同步推进,从而让整个流程更加高效。在演示阶段,你就是在向观众重新讲述这个完整的故事,呈现解决方案。谈到用户体验,UI 设计是其中的一个组成部分。有很多工具可以帮助可视化最终产品。我很喜欢 Figma,我最开始用的是 Adobe XD,后来了解到 Figma,现在已经爱上了它。Figma 允许团队成员在一定程度上免费协作设计,大家可以直接在设计上提供反馈,甚至可以在具体位置添加评论。Figma 的绘图功能让设计变得更加容易,尤其是在通话中需要即兴画出想法时。这些工具的美妙之处在于你可以让设计具有交互性,这样在向终端用户展示时,他们能更好地理解所有元素是如何整合在一起的。在做个人项目之前,我会在 Figma 中画出这些流程;当然,如果我偷懒的话,也可能直接跳进代码,边开发边修改。不过我也为此付出了代价——有时候所有东西都开发完了,才发现流程不够顺畅,或者整体设计实在不怎么样,结果不是去修改,而是一拖再拖。我知道,这不是什么值得骄傲的事。但我不得不说,那些个人项目帮助我学到了很多不同的工具和各种各样的概念,我真的非常享受这个过程。

根据开发内容的不同,对于 Web 项目,我喜欢用 HTML 单页面来快速做概念验证,通过快速点击体验来验证各部分是否配合良好,有时我也会只为自己用 Figma。如果是 API 开发,那毫无疑问就是 Postman!你可以在 这里找到关于 Postman 的文章。在我的 Figma 中,我创建了一些组件,比如按钮、表格组件,这样有其他项目时就可以复用。你只是想快速拼出一个东西。有一点你要避免的是:在设计阶段花费太多时间,否则你会永远停留在"设计解决方案"阶段,设计到最后,也许过了 6 个月,你设计好的很多东西需要改动,那你怎么办?你就陷入了设计的泥潭。有时你也会遇到一些非常注重细节的人,在所有细节确定之前拒绝进入开发阶段;这些人中有些习惯了瀑布式方法,他们想要能看到最终产品是什么样子的。如果是这种情况,那就需要引导他们了解一下方法论;对于这类人,一个很好的用例是快速在 Figma 中展示最终产品的构想。如果你合作的团队可能根本不清楚自己想要什么,那这个迭代循环就会很漫长。当你遇到不知道自己想要什么的人时,一个好方法是列出他们不可或缺的功能清单,从那里开始——这也是一个很好的开启对话的方式,可以鼓励大家畅所欲言。我认为在需求发现阶段,你应该是那个倾听的人,确保你的客户或合作团队是主要发言方。也许在听到他们想要什么的同时,你心里已经有了解决思路,但我不建议在那时候就说出来;1)要根据受众情况按需分享信息,不要让他们产生困惑;2)尽量不要打断对话,总体而言,你希望鼓励他们尽量多讲,以获取更多细节。当然,这只是我个人的观点。

在 Salesforce 中,至少在早期经典版时代——那是我 2016 年刚开始在 Salesforce 平台工作的时候,也许是我当时还不了解,那时候设计方面做得并不多。现在有了 LWC,Salesforce 引入了一个名为 Lightning Design System 的概念,有点类似于 Bootstrap 设计,归根结底,这只是前端设计,真正的核心还是在中间件,在于你如何传输数据。通过 Lightning Design System,Salesforce(我认为是他们做的)提供了这个包—— Design System Starter Kit,你可以用它向终端用户进行演示,在开始一个项目之前,如果有人想要一个 Demo,你可以用这个作为示例。它的美妙之处在于你可以创建自己的虚假数据,使数据看起来真实可信,提供逼真的流程体验。我创建了一个 示例,整个过程大约花了我 2 个小时,包括所有页面变体。我通过我的 Heroku 应用将其公开,方便他人访问。除了 Starter Kit,Salesforce 还提供了一个很棒的 Figma 包,这样你就不需要自己创建按钮、字段等,可以从细节层面保持外观和感觉, 包在这里。当我在 Figma 中处理 Salesforce 相关内容时,我会使用截图和这个 Salesforce 提供包中的组件,按图层排列它们。这为我节省了大量时间,如果你的团队有专职设计师,他们可以花更多时间以正确的方式使用 Figma。

对于每一个我参与的项目,我都将其当作一个产品来对待,这也是我上面提到的所有方法论背后的逻辑。我认为产品设计和解决方案设计有很多共同之处。作为产品经理,你需要理解终端用户的需求;这就是在 Salesforce 中作为解决方案架构师的需求发现环节。产品可以分阶段发布,同样地,当你作为 Salesforce 的解决方案架构师时,某些交付成果可能无法在第一阶段完成,也许是因为时间线、预算、资源或功能优先级的原因,产品的某些功能需要推迟到后续版本发布。我们不在一个完美的世界里,你不能总是得到你想要的。然后是人——在这两种工作场景中,你都需要懂得如何与不同的人合作,要像水一样,保持灵活。:)

这就是我迄今为止从工作中学到的东西,这是一个简要总结。还有太多东西等着我去学习!

学习愉快!