Intercom 的产品原则:构建默认情况下固执己见但在底层具有灵活性的产品
已发表: 2023-01-18设计产品是一种平衡行为。
在 Intercom,我们平衡了对客户支持未来的强烈看法与我们满足各种客户需求的目标。 一些客户想要一个简单、开箱即用的解决方案,但其他客户需要可定制性——这就是灵活性的用武之地。
“默认情况下的自以为是和灵活的引擎盖意味着我们的解决方案开箱即用,但可以定制以满足特定需求”
默认情况下固执己见且在后台灵活意味着我们的解决方案易于开箱即用,但可以根据特定需求进行定制。 固执己见的设计和灵活性之间的这种平衡对于创建既实用又吸引用户的产品至关重要。
过于死板和缺乏灵活性的产品可能难以使用,无法满足某些用户的需求——而过于灵活且缺乏远见的产品可能会令人困惑且难以驾驭。 通过在这两个极端之间取得适当的平衡,我们设计了一款既有效又用户友好的产品。 但有时保持这种平衡是一个相当大的挑战。
将这一原则应用到我们的工作中
将此原则应用于个别功能级别和交互设计通常更容易,我们通过默认、模板和教育而不是限制来表达我们的意见。 这意味着我们为我们的客户提供了一个清晰且易于采用的解决方案的默认行为,但也包括定制选项以允许客户根据他们的需求定制产品行为。
例子包括:
- 创建出站消息时提供默认值和模板
- 对报告启用不同的过滤器(例如工单报告)
- 构建自定义报告的选项
- 允许在默认标准属性之上自定义数据属性
在构建自定义报告时衡量对您的团队重要的内容
从一系列模板中进行选择,或从头开始创建您自己的出站消息
在复杂产品中取得平衡
当你的产品很小或者你要解决的问题很窄时,这个原则很容易遵循,但是当你开始设计更复杂的东西时,它会变得更具挑战性——比如一个全新的产品领域或一个应该跨多个产品领域工作的能力.
很难预测您的客户需要什么样的灵活性,以及如何以及在何处向客户展示它。 变量和未知数的列表似乎无穷无尽。 这种能力在不同的产品领域应该如何表现? 客户将如何与此功能交互?
自加入以来,我一直在 Intercom 的平台组工作,塑造横向功能——如数据层或报告——以增强产品的工作流和洞察力。 我们面临的挑战是我们正在为长期设计基础; 它们可能被不同的客户用于不同的目的,但总的来说,它们需要允许易于理解、采用和构建的一致解决方案。
我们如何克服这一挑战?
在处理平台功能或解决与平台相关的问题时,我们从系统开始。 根据Gall 定律,我们的目标是设计一个简单、灵活、可扩展的系统,该系统可以工作,允许简单的用例,并且可以根据需要进行扩展。 该系统应该是模块化的并连接到产品的其他部分,以便它解决核心问题,但也可以发展和构建。
“在开发解决方案时,我们会考虑尽可能多的问题空间,以确保解决方案具有可扩展性且不会太窄”
为此,我们从大处着眼,从小处着手。 在开发解决方案时,我们会考虑尽可能多的问题空间,以确保解决方案具有可扩展性且不会太狭窄。 这样可以更轻松地缩小范围到最重要和最有影响力的部分,或者我们称之为我们的纸杯蛋糕。
从纸杯蛋糕开始帮助我们更快地为客户提供价值并更快地获得反馈。 我们学习,并基于这些学习,我们决定如何以及在何处改进我们的解决方案并使其更加灵活和强大——以及如何向客户展示这种灵活性。
实践中的原则
在我们改进 Intercom 数据模型的过程中,我们的“默认情况下固执己见,内部灵活”原则发挥了重要作用。
Intercom 的数据模型代表了数据在产品中的组织和结构方式。 它指定了 Intercom 可以存储和管理的不同类型的数据,以及这些数据之间的关系。
“我们的数据模型是围绕‘对话’的概念构建的,这是企业使用 Intercom 产品与客户沟通的主要方式”
我们的数据模型是围绕“对话”的概念构建的,这是企业使用 Intercom 产品与客户沟通的主要方式。 对话可以采用多种不同的形式,包括实时聊天、应用内消息和电子邮件。 除了存储有关个人对话的数据外,Intercom 数据模型还包括客户数据(用户和他们所属的公司)。
引入更多的灵活性和控制
我们曾经有一个非常不灵活和自以为是的数据模型,它只包括我上面列出的有限数量的数据类型:关于对话的数据,以及关于个人用户和他们所属公司的客户数据。
我们了解到,这种固执己见的方法对我们的客户来说是不够的。 因此,我们引入了自定义对象,允许客户以对其业务有意义的方式导入和建模数据,从而为我们的客户提供更大的灵活性和控制力。 例如,在默认对话和客户数据之上,电子商务客户现在可以将“订单数据”添加到他们在 Intercom 中的数据模型中,然后按照他们的选择使用它。
“从一个用例开始让我们学习和迭代,如何改进系统和解决方案”
当涉及到自定义对象时,每个客户都有不同的需求,因此我们处理了很多变量和未知数。 我们首先开发了这个新数据模型的系统和基础设施:自定义对象在模型中的位置,它们如何连接到其他数据类型,以及新模型如何在收件箱、机器人等不同产品领域实现数据的使用, ETC。
我们从小处着手,将自定义对象引入到我们的机器人中,我们看到了显着提高自助服务率和提高客户满意度的绝佳机会。 从只有一个用例开始,我们可以学习和迭代,如何改进系统和解决方案,以及下一步在何处引入自定义对象。
我们意识到我们最初的系统过于灵活; 客户很难理解和接受它,我们需要引入一些固执己见的行为和默认设置。 它帮助我们纠正了系统,并允许在每个产品部分中使用简单的默认行为和任何必要的灵活性。
我相信牢记这一原则对我们将来会更加重要。 我们的产品不断发展壮大,变得越来越复杂和精密。 尽管存在这种有机的复杂性,但我们认为对于使用它的人来说,它不应该是复杂的——它应该能够简单快速地采用,并且在他们需要时灵活而强大。 为了实现这一点,我们需要在设计贯穿整个产品体验的基础时牢记这一原则。
浏览我们系列中讨论 Intercom 产品原理的其他帖子。