作者:Jeremy Dizon 来源:www.designsystems.com
作者简介:Jeremy Dizon是前Google和赛门铁克的产品设计师,他不仅负责维护,传播和记录Airbnb的设计语言系统,还寻找机会在面向产品和营销的设计中使用该系统。在他的空闲时间里,他是两个孩子的父亲,为孩子传授对漫画书的广博知识和对星球大战的热爱。
他还是国际星球大战服装组织501军团的荣誉成员,该组织志愿参加各种当地慈善活动,同时宣传“Bad Guys Doing Good”的使命。
那么,你已经使设计团队相信公司对设计系统有迫切需求,或许你们已经开始构建设计系统,耗费无数个小时用来讨论、组织组件、选择字体和图标。但是,一旦在框架被确定下来之后,保证设计系统自成闭环的最佳方式是什么?
作为Airbnb的产品设计师,我的工作是与一组设计师和软件工程师一起,确保我们设计的6个设计模板始终保持更新和正确。提出一致化和透明化的流程是事情完成的关键,但到此为止都绝非易事。
你可以确认几个关键问题:
1.如何维护这个设计系统?
2.如何促进和鼓励系统的使用?
3.如何发布和沟通更新内容?
每一个公司都需要不同的流程来建立符合公司组织架构、文化和产品的设计系统,在Airbnb,我们首先通过在首页增加Trips业务的体验,以及今年在Airbnb Plus会员功能中增加端到端的预定服务,我们的设计语言系统为产品团队提供了一个起点,可以比之前更高效地创建出色的用户体验。随着我们扩充业务和设计/工程人员,设计系统有助于确定Airbnb的基础设计,并使我们能够解决复杂的用户问题。
5个沟通诀窍
可以肯定地说,我在管理Airbnb的同时学到了很多关于如何维护设计系统的知识。对于那些希望尝试地比我更顺畅的人来说,下面是5条经过实践和真正的建议。在本文中,为了简洁起见,我关注的是技术建议而不是文化。
1.说同一种语言
开发一种通用语言,让每个人都以相同的方式引用组件。为各种跨平台应用通用地命名组件、图标等可能具备挑战,但这样做对于沟通至关重要。同样,你的设计系统的元素要被广泛传播。我们说的我们的组件数量级已经超出了组织内部的疲倦点。但这是却是值得的——工程师和设计师可以一起解决问题,因为他们彼此理解各自的意图。
2.使用JIRA保持业务优先顺序
老实说如果没有用JIRA,我可能不能完成这份工作。每周我都会使用JIRA来管理事务请求,更新设计模板,然后通过事务列表交付给团队。
完成这些任务后,我会为每个项目和合作伙伴创建独立的子任务,通过截图、任务(简单任务,如更新组件)或提供规范(较更新单一组件更负责的需求)来保障设计系统覆盖的业务优先顺序。
3.通过审核来避免重复组件
将审核目标聚焦在“少即是多”上,我们力求用最小数量的组件应用于大量用例上。但是我们不会拒绝创建新组件。每个产品团队都可以为功能构建“团队组件”。在通过测试后,可以将这些“团队组件”添加到核心的设计系统中。审查的关键指标是其他团队是否可以将这些组件应用到其他设计中。
4.使用“Masters”文件夹避免工作丢失
作为一名产品设计是,我在笔记本上保存了一个“Masters”文件夹,这个“Masters”文件夹的目标是防止有人改变文件。因此,我是唯一管理“Masters”文件夹的人。这个文件夹嵌入在我自己的工作流程中,因此当我提供新的组件面板时,我同样在“Masters”文件夹中更新文件。这样不仅有助于版本控制,还可以快速解决已交付文件的任何问题。(译者按:原作者用一个离线文件夹备份的方式来做设计系统源文件的管理,实际上这种方式可以通过GitHub来优化之,让设计师使用工程师的工作方式来对设计系统进行更新,可能存在的一些学习成本,但是一旦贯彻则受益无穷。)
5.每一步更新都要记录
当你的设计系统发布时,保持全面的文件是必要的。无论是用一个网站还是演示幻灯片,记录下你的设计系统的原理,以及它是如何为所有使用者服务,从长远来看都是值得的。
我们的文档经过了几次迭代。目前,我们有一个可搜索的站点,允许用户使用从实时生产代码中呈现的视觉屏幕截图浏览组件,显示它们在每个平台上的外观。每个组件都链接到GIT中的实际代码,并允许工程师在构建时快速引用它们。未来的版本将包括一种快速方法,让设计人员将这些组件拖入他们的模型,使得这个文档站点成为设计人员和工程师的单一来源。
如果您将构建设计系统
作用中的设计系统以为着不断产生变化,随着使用设计系统的团队数量的增长,开发一个不断发展的设计系统是自然发展的结果,在工程和设计之间拥有资源资源是至关重要的。因此您的设计系统应具备可用性、相关性且必须是最新的。
了解有关Airbnb DLS的更多信息:如果您想了解更多关于我们的设计系统如何定义组件、模式和规则,我建议您访问Airbnb正在进行的设计语言系统。