每个
网站建设项目都需要设计和技术之间的深入沟通,沟通的具体情况直接影响了整个项目。首先构建设计模式是一种更好的工作方式。它解除了人们并行工作的障碍,使人们保持同步,并产生可重复使用的模块,加速你的下一个项目。
创建或维护一个设计系统的真正的合作对于做出优秀的产品设计是非常重要的,但是和其他人一起工作总是很棘手的。设计系统的协作性质可能有很多陷阱。最好的情况是,它是开发人员和设计人员紧密合作的产物,但并不总是这样。
一些痛苦的回忆:与我一起工作的一位出色的设计师制作了一套华丽的新元素和示例供公司使用,但公司的其他设计师遇到了许多情况,在这些情况下,复制和重新制作(即分离)组件更为方便。设计系统的使用越来越少,因为对它的贡献总是比在产品机会上的工作优先级低。
与我一起工作的一名开发人员构建了设计系统组件,使得每个文本输入、按钮等在每个布局中都必须相同,当(例如)一个按钮包含双字节字符、只有图标或只有更长的标签时,会导致尴尬的结果。
我在嵌套组件(按钮栏、切换按钮、分段控件)的变体上做了大量工作,这些嵌套组件被设计为使用与基本组件(如按钮)相同的样式属性,但是与我一起工作的开发人员为每个没有这样做的组件制作了全新的组件。因此,我必须为许多许多组略有不同的组件记录和指定许多许多组相同的样式值。
我在许多类型的团队中工作过,在大公司和初创企业中,这些协作问题一直阻碍着我,甚至(或者特别是)与非常有才华和聪明的个人贡献者一起工作。与我的队友保持一致不会自动发生,或者仅仅因为我们参加了很多会议。事实上,很容易一起开始一个项目,并在发现我们对所做的事情有非常不同的想法之前深入其中。当涉及到重用现有组件与制作新组件或者如何保持一致而不互相阻碍的复杂问题时,任何团队都需要进行调整。
我将要谈到的制作设计系统的方法可能最适用于这样的环境:你是一个跨职能团队中的唯一设计师(或少数设计师中的一员),包括由产品负责人领导的前端或全栈开发人员。你可能与其他团队的其他设计师合作,但这是你的“第一团队”在这种情况下,你有很多自由,但也有很多责任。你需要一个培养设计系统的想法,它不依赖于组织的命令或一个特定的“过程”,你可以自己应用。毕竟,一设计系统是有用户的产品,而且我们知道如何平衡用户需求和产品机会。
现在,我应该在这里停下来指出,在许多团队中,这种模式定义不是主要的产品定义活动,而其他利益相关者(工程经理等)对如何构建设计系统有发言权。并不是所有的团队都很小,拥有同样多的所有权。然而,即使在较大的公司,我相信设计模式也非常有用,有助于开发工作(因为它们展示了设计系统如何帮助团队完成工作)。但是在那些环境中,设计模式可能是其他组织过程的一小部分,总体上并不重要。
在这个小团队中,在设计系统上证明时间合理性的斗争是出于一个不同的原因:有一个推迟它的巨大诱惑,因为每个人都非常渴望早点发布一些东西,这感觉是“额外的”。但是团队的每个成员也知道,当他们想要迭代他们的产品时,如果他们已经创建了一个设计系统,工作将会更容易,因此他们保持他们的良好实践。