使用科学方法进行实验

传统上,需求管理更多的是猜测而非科学方法。最接近科学方法的是访谈或市场调研。这个方法的问题在于,你无法询问人们他们还不知道的事情。你可以问他们想要什么,但不能问他们需要什么,因为他们可能还不知道,尤其是在一个被颠覆的市场领域中。

假设驱动的开发思想是将科学方法应用于产品管理,这是一种基于证据的知识获取的经验方法。

科学方法是一个实验过程,用于探索观察结果并回答旨在发现因果关系的问题。它遵循一定的过程步骤(见图19.1):

image 2024 12 27 18 13 58 124
Figure 1. 图19.1 – 科学方法

我们将详细看看各个步骤:

  1. 观察:使用所有五种感官(嗅觉、视觉、听觉、触觉和味觉)观察现实。

  2. 提问:基于观察和现有研究或先前实验提出问题。

  3. 假设:基于在提出问题时获得的知识陈述假设。假设是基于观察和研究对你认为会发生的事情的预测。假设通常以“如果…​那么…​”的形式书写,例如:“如果我们修改这个变量,那么我们预计会观察到这个变化。”

  4. 实验:实验验证或反驳假设。在实验中,你有不同的变量。自变量是你更改的变量,用于引发结果;因变量是你测量并预计会变化的东西。在实验中,你通过观察收集定性数据,通过测量和收集指标收集定量数据。

    实验还使用对照组来证明差异不仅仅是偶然的。例如,在药物测试中,你必须设计一个实验,其中一部分人群——对照组——未接受治疗且给了安慰剂,而实验组则接受了潜在药物的治疗(见图19.2)。

    image 2024 12 27 18 14 16 080
    Figure 2. 图19.2 – 进行科学实验

    为了进行一个好的实验,你应该一次只更改一个变量,同时保持其他变量不变。你还应该避免偏见。无论你多么努力,偏见都能悄无声息地进入你的观察和结论中。

  5. 结论:实验后,你分析结果并将实际结果与预期结果进行比较。你从实验中学到了什么?你能验证或反驳你的假设吗?是否有新的假设或新的问题可以提出?还是你需要更多的实验来确保结果?

  6. 结果:最后一步是分享你的结果。即使你的假设被推翻了,它依然是宝贵的学习。

    科学方法是一种迭代的经验方法,但这些步骤不一定按顺序进行。在任何时候,你都可以修改你的问题并更改假设——观察也在不断进行。这个过程的图示更像图19.3,而不是一个严格的循环:

    image 2024 12 27 18 14 40 317
    Figure 3. 图19.3 – 过程中的步骤没有严格的顺序

科学方法在我们的行业中非常重要——不仅是为了做正确的事情。当我们追踪错误或生产问题时,你也应该使用这种方法:根据观察到的事实提出假设。通过只更改一个变量来进行实验,通常是配置值。进行交叉检查,以确保没有其他系统或变量干扰你的实验。在得出结论并记录结果后,开始下一个假设。

接下来,我们将看看如何使用科学方法来演进和持续改进你的软件。

观察——收集与分析数据

你可以通过观察用户使用你的应用程序来进行观察。我们在第12章《Shift Left Testing for Increased Quality》中讨论过一些可用性测试技巧,比如走廊测试或游击式可用性测试。然而,通常用户分布在世界各地,与其采访他们,不如查看他们产生的数据更为方便。

image 2024 12 27 18 16 26 861
Figure 4. 图19.4 – 收集数据的日志来源

这些定量数据可以与定性数据结合,例如客户调查、来自客户服务中心的数据或任何类型的分析数据。图19.5展示了你可以用来获得洞察力并提出问题的不同数据来源:

image 2024 12 27 18 16 37 649
Figure 5. 图19.5 – 观察的数据来源

在考虑了这些问题后,你可以开始提出假设。

形成假设

假设是基于你的观察和研究对可能发生的事情的预测。假设可以用简单的“如果…​那么…​”的形式来写:如果<我们修改这个变量>,那么<我们预计将观察到这种变化>。

例如:“如果我们通过删除像电话号码和邮寄地址这样的字段来缩短注册表单,那么取消注册过程(放弃率)的人数将减少。”

由于你会有很多假设在待办事项中,通常会有一个固定的格式,类似于用户故事,包含客户细分和特性名称。这样能使你的假设在待办事项中更易发现:

我们认为{客户细分} 想要{特性} 因为{价值主张}

这个格式还要求你在假设中包含三个方面:

  • 谁:我们为谁改变应用程序?

  • 什么:我们在改变什么?

  • 如何:这个变化将如何影响用户?

这些要素构成了一个好的假设:

我们认为新用户 想要一个较短的注册表单,减少输入字段 因为这样可以让他们在透露个人信息之前,先测试应用程序并建立信任感。

请注意,专注于价值主张会导致对“如何”更为抽象的描述,并更多关注“为什么”。在营销中,你通常会在假设中找到以下细节:

  • 影响是什么?

  • 影响的程度是多少/有多大?

  • 经过多久的时间后?

这会导致假设和实验之间的一一对应关系。特别是在开始实验时,我认为将实验与基础假设分开是有帮助的。你可能需要进行多次实验,才能最终确定假设是否正确。

构建实验

在定义实验时,你应该尽量保持尽可能多的变量固定。最好的做法是查看你的基线数据。周末和假期会如何影响你的数据?政治和宏观经济趋势会如何影响你的实验?此外,确保你的对照组和实验组足够大。如果你只对小群体进行实验,结果可能无法代表整体。如果对照组太小,尤其是当你没有预见到其他外部因素时,可能没有足够的数据进行比较。一个好的实验应该包含以下信息:

  • 变化是什么?

  • 预期的影响是什么?

  • 受众或客户细分是谁?

  • 我们预计的变化有多大?

  • 我们将运行实验多久?

  • 我们将数据与什么基准进行比较(对照组或历史数据)?

以下是一个示例:

新的、较短的注册表单(变化是什么)将在14天后(多长时间)减少50%新用户(受众是谁)的注册放弃率(影响是什么)超过15%(变化有多大),与我们的对照组(基准)相比。

定义好实验后,你可以开始实施并运行它。如果你使用特性标志开发(见第10章《特性标志与特性生命周期》),这就像写一个新特性一样简单。唯一的区别是,你不会为所有用户启用这个特性,而是为你的实验组启用它。

验证结果

实验结束后,你需要分析结果并将实际结果与预期结果进行比较。你从实验中学到了什么?你能验证或证伪你的假设吗?还是需要更多实验才能确认?是否有新的假设或问题需要提出?

对结果的回顾性研究是非常重要的一部分。不要跳过它,只根据你的指标是否超过某个阈值就假设假设成立或失败。分析数据,并检查是否存在意外的影响、偏差和统计异常。

从你的假设和实验中学习应该会带来新的想法,并完成“构建-衡量-学习”循环(见图19.6):

image 2024 12 27 18 19 05 499
Figure 6. 图19.6 – 基于假设的实验与构建-衡量-学习循环

有许多工具可以帮助你进行有效的 A|B 测试和实验。