慢增长公司突然加速时,先别急着扩张

把意外增长当作压力测试,用克制招聘、清晰文档和自动化测试守住质量

概要

Paul Jarvis记录了Fathom在2022年因欧洲隐私监管变化而突然迎来增长高峰时的应对。文章的长期价值不在当时具体的判决、客户数或流量数字,而在于一家习惯慢增长的公司怎样面对意外好运:注册、转化和客服量快速上升,不等于立刻按同样比例增加开支与招聘;增长速度可能变化,企业更应使用保守预测、确认趋势,再扩充支持团队。同时,公司要检查基础设施能否承受高峰,改善文档入口,减少重复咨询,并暂停部分新功能,把时间投入自动化测试。测试虽然拖慢眼前发布,却能明确代码预期、覆盖边界情况并提前发现回归,让小团队此后更快、更稳地迭代。核心原则是:无法预测好运何时到来,但可以提前建设能力,在增长出现时不牺牲质量和现金安全。

正文翻译

欧洲多个国家的数据保护机构裁定Google Analytics违法之后,Fathom Analytics经历了高于平常的增长。

由于我们在前一年,也就是Schrems II裁决之后推出了EU Isolation,因此我们处在一个很有利的位置,可以确保所有客户都符合这些新裁决的要求。这是因为我们在欧盟境内、使用欧盟服务器处理欧盟访客的数据。而且,Fathom Analytics是一家加拿大公司,加拿大在GDPR之下拥有充分性认定。简单来说:在GDPR合规这件事上,我们替客户兜住了底。

受到欧盟加强数字隐私监管影响的,并不只有Google Analytics这一家大型科技公司;Facebook也有可能最终被全面禁止。Facebook曾说自己不介意退出欧洲,而欧盟监管者则要求它说到做到。

总的来说,如果你是一家把利润置于隐私之上的大型科技公司,现在并不是一个好时机。反过来,对于大型科技公司的替代者而言,现在却是一个很好的时机,因为市场为拥有不同价值观的创新者和新参与者留下了巨大空间。

关心数字隐私的不只是欧盟

世界各地都有企业和个人关心数字隐私。他们这样做,不只是因为GDPR等法律要求,而是因为保护隐私本来就是正确的事。把数据简单地分成“欧盟数据”和“美国数据”,可能会伤害美国自身的创新。为了避免陷入GDPR罚款和投诉,美国创业者可能会选择在其他国家注册并经营企业,例如允许外国人较容易设立公司的爱沙尼亚。

Fathom Analytics很幸运是一家加拿大公司,因为欧盟与加拿大之间在GDPR框架下存在数据充分性安排。我们的产品正在经历巨大增长,原因正是我们一直专注于遵守隐私法律,并坚持做一家隐私优先的网站分析公司。

当一家平静的公司突然忙起来

随着欧盟作出这些法律裁决,开始付费使用Fathom Analytics的新客户显著增加。无论注册量还是转化量,我们都经历了有史以来表现最好的几周。

这当然是一个很棒的“问题”,但它也要求我们付出更多工作。由于销售咨询邮件增多,客户支持比以往忙得多。如果这次增长高峰变成持续趋势,我们很快就必须聘请一位全职支持人员。

我们不可能提前猜到所有这些事情会在此刻同时发生,但可以持续做好准备,让事情真正发生时,自己处在尽可能有利的位置。我们的基础设施质量很高,能够承受所处理流量的大幅增长。我们的软件也经过一次又一次测试,确保功能正常、文档完善。我们还一直在缓慢扩充团队,新工程师已于当年二月入职。

我们需要进一步思考的一件事,是怎样把关于Fathom工作方式的信息更好地呈现出来。某项功能明明已经有相当完整的文档,我们仍会收到询问“这个功能是否存在”的邮件。因此,我们必须让网站上的信息更容易被快速找到,让问题在变成客服邮件之前就得到回答。我们不能期待每个人把网站上的每个字都读完。

我们最近的月度经常性收入增长速度扩大到原来的三倍,但这并不意味着我们也要把开支增加两倍,或者快速扩大招聘。我们仍然采用“带着乐观的悲观”方式进行增长和财务预测,因为这依然是我们认为最合理、最规避风险的经营方式。增长率是会变化的,所以我们绝不希望开支增长超过业务增长。对我们来说,这是一个新的领域,我们会一边前进,一边适应和学习。

我们会尽最大努力,让自己处在尽可能有利的位置。现在,好运正在发生,而我们已经为接住好运做好了准备。

软件测试非常耗时,却又不可或缺

在一开始,把软件真正发布出去很重要,因为这样你才能开始向软件收费,前提是这就是你的商业模式。因此,从项目第一天起,你未必总会编写覆盖全面的自动化软件测试。

什么是软件测试?它是用来自动检查注册表单、API和代码单元等内容的程序,目的是确认这些部分能够正确完成工作。一个测试示例是:让程序自动打开浏览器窗口,填写姓名和测试信用卡信息,然后检查整个流程能否正确处理。

软件测试很有帮助,因为你修改软件的某个区域或功能时,可能会意外破坏其他部分。测试能够在错误损坏生产环境或线上代码之前,把问题暴露出来。也就是说,即使你持续为软件增加内容,测试仍会尽力确保它正常工作。这些自动化测试可以快速运行,在问题真正成为事故之前把它找出来。

此外,编写测试会迫使你明确自己正在编写的东西。代码究竟做什么?它应该阻止什么?边界情况又是什么?你不必每次手动检查,而是可以写下能够反复运行的自动化测试。

Fathom Analytics当时已经不算一款新软件。它运营接近四年,运行在超过十万个网站上,客户遍布世界各地,从小企业、政府机构到《财富》100强企业以及介于其间的各种组织。我们每个月处理超过十亿次页面浏览。这些数字是文章发表于2022年时的业务规模。

这是一份很大的责任。如果我们的脚本或软件出现任何问题,都会影响许多企业及其网站,而我们对此非常认真。过去,我们已经为软件最关键的部分,也就是页面浏览收集端点,建立了可靠的测试覆盖。但发展到这个阶段,我们拥有了相当多的功能,因此需要测试来确保新功能和现有软件的其他部分一样可靠。

然而,正确搭建这些测试需要大量时间。这意味着,在测试覆盖完成之前,我们不得不暂停部分功能的开发和发布。我们希望能够有把握地发布功能,所以必须先停下来把测试写好。现在放慢速度,是为了投资于以后更快地前进。

过去几个月,我们一直在编写这些自动化测试,这也是新工程师入职后的第一项任务。我们已经非常接近让测试覆盖整个代码库。

一旦这些测试完成,即使团队规模仍然很小,我们也能更快前进,并发布当时为2022年客户规划的功能。


作者:Paul Jarvis

原文:When big growth happens to a slow-growth company