跳到主要内容
阅微漫记
返回

一次副业从0到1的灰度测试复盘

以前我对副业有一个很奇怪的理解。

要么不做。

要做,就应该认真做。

注册账号、设计品牌、做产品、搭网站、准备内容、研究流量,然后投入大量时间,等着它慢慢长起来。

现在回头看,这其实很像程序员第一次做大型系统时最容易犯的错误:

还没验证需求,就开始写完整系统。

40岁以后,我开始意识到,副业最危险的地方,不是失败。

而是你为了一个还没有被验证的想法,提前投入了太多成本。

时间、精力、钱,甚至情绪。

所以后来我开始尝试换一种方式。

不是把副业当成一个项目直接上线,而是把它当成一次灰度发布。

先让一小部分真实用户接触它。

看看有没有反应。

再决定要不要继续。


一开始,我其实没有一个特别清晰的答案

那段时间,我越来越强烈地意识到:

不能把未来的收入全部绑定在一份工作上。

工作还能提供现金流,所以暂时不用急着辞职。

但如果未来真的发生组织调整、行业变化,或者自己的年龄成为竞争变量,我至少应该提前准备一条备用路径。

于是我开始研究副业。

问题也随之出现:

我到底能做什么?

这个问题看起来简单,实际上很难。

因为一个人真正能拿来做副业的东西,并不只是“我会什么”。

还包括:

我愿意长期做什么?

别人为什么愿意付钱?

我有没有持续输出的能力?

这个事情是不是必须依赖大量时间?

能不能逐渐形成自己的资产?

这些问题没有答案之前,我不想直接All in。

于是我给自己设了一个非常简单的原则:

先验证,再投入。


我第一次真正理解了“灰度发布”

做技术的人都知道,灰度发布是什么意思。

一个新功能上线,不一定直接让100%的用户使用。

可以先开放给1%的人。

观察数据。

如果没有问题,再扩大到5%、10%、30%。

出现问题,就回滚。

这套思路放到副业上,其实非常有用。

因为副业最大的风险之一,就是:

你把一个未经验证的假设,当成了一个已经成立的事实。

比如:

“我觉得这个方向不错。”

“我觉得别人应该会喜欢。”

“我觉得这个产品有人需要。”

“我觉得只要坚持做,就一定会有结果。”

这些话听起来都没有问题。

但它们本质上都是假设。

而副业真正需要验证的是:

有没有真实的人愿意因为你的东西停下来、关注、使用,甚至付费。

所以我开始把自己的副业想法拆成几个小实验。

而不是直接启动一个“大项目”。


第一阶段:先做一个最小版本

以前如果让我做一个副业项目,我可能会先做:

Logo。

网站。

品牌介绍。

产品架构。

功能规划。

运营方案。

甚至会先写一份非常完整的PRD。

现在不会了。

因为这些东西都有一个共同的问题:

它们都可以在没有用户的情况下完成。

这反而很危险。

你可能花了两个月,把所有东西都做好了。

最后才发现:

没人需要。

所以这次我只问自己一个问题:

如果我只能花很少的时间,能不能把这个想法放到真实世界里?

于是我先做了一个最小版本。

不追求完整。

甚至不追求漂亮。

只保留最核心的价值。

能让别人看到。

能让别人使用。

能收到反馈。

就够了。

这时候,我才真正理解了MVP的意义。

MVP并不是:

“做一个很简陋的产品。”

而是:

用最小成本验证最大的未知。


第二阶段:把自己当成一个用户

产品第一次做出来之后,我没有马上推广。

而是自己先用了一段时间。

这一步其实让我发现了很多问题。

有些东西我以为很重要。

真正使用的时候,发现根本没有价值。

有些东西我觉得只是辅助功能。

真正使用的时候,反而变成了核心。

还有一些问题,只有真正使用起来才会发现。

这让我意识到:

脑子里的产品,和现实里的产品,是两个完全不同的东西。

程序员很容易陷入一种“设计幻觉”。

我们会在脑子里把系统想得非常完整。

但现实世界从来不会按照我们的架构图运行。

用户不会按照你的流程操作。

需求不会按照你的PRD出现。

反馈也不会按照你的预期发生。

所以,真正的测试不是自己觉得“已经可以了”。

而是:

让真实的人开始使用。


第三阶段:第一次把它交给别人

这是整个过程里,我觉得最难的一步。

不是开发。

而是把东西交出去。

因为一旦交给别人,你就会真正面对结果。

没人理你。

有人觉得没用。

有人提出完全不同的意见。

有人说挺好,但没有下一步行动。

甚至可能根本没有反馈。

以前我会把这些理解成:

“是不是我做得还不够好?”

后来我开始换一个角度。

这些其实都是测试数据。

如果没人点击。

这是数据。

如果有人点击,但没人继续使用。

这是数据。

如果有人使用,却不愿意付费。

也是数据。

甚至有人直接说:

“这个东西我不需要。”

同样是数据。

副业灰度测试最重要的,不是证明自己是对的,而是尽快知道自己哪里可能是错的。


有一次,我特别想把它做大

看到有一些正向反馈以后,我开始兴奋。

脑子里又出现了熟悉的程序员模式:

是不是应该增加功能?

是不是应该重新设计界面?

是不是应该做一个完整版本?

是不是应该注册品牌?

是不是应该投入更多时间?

但这一次,我强迫自己停下来。

我问了自己一句:

现在最缺的是功能,还是证据?

答案很明显。

缺的是证据。

因为几个正向反馈,并不能证明一个副业成立。

它只能说明:

这个方向可能值得继续观察。

于是我没有继续扩大开发。

而是继续测试。

让更多真实的人看到。

继续观察他们的行为。

看看有没有重复出现的需求。

看看有没有人愿意主动回来。

看看有没有人愿意推荐给别人。

看看有没有人愿意付出真实成本。

这些信号,比“我觉得这个想法不错”重要得多。


后来我给自己的副业设置了几个“监控指标”

这次灰度测试之后,我开始发现:

副业其实也可以有自己的监控面板。

不是只看收入。

因为早期副业,收入往往并不是最重要的指标。

我更关注几个信号。

有没有人看到?

代表触达。

有没有人愿意停下来了解?

代表兴趣。

有没有人真正使用?

代表需求。

有没有人再次回来?

代表价值。

有没有人愿意主动推荐?

代表传播。

有没有人愿意付费?

代表商业价值。

这些指标并不意味着一定要做成一套复杂的数据系统。

它们只是帮助我避免一个问题:

不要用自己的努力程度,代替市场反馈。

我每天花三个小时做这件事情,并不能证明它有价值。

真正有价值的是:

有人因为它解决了一个问题,而愿意继续使用。


最重要的一次复盘,是我重新理解了“失败”

以前我对失败的理解比较简单。

投入时间。

没有结果。

失败。

但灰度测试以后,我开始觉得这并不准确。

如果我只花了两周时间,验证了一个方向没有明显需求。

这到底算失败吗?

从结果看,也许没有赚到钱。

但从信息价值看,我减少了一种错误选择。

而且成本很低。

真正危险的其实不是失败。

而是:

花半年时间,才发现两周就可以验证的问题。

所以我后来越来越喜欢“实验”这个词。

实验不是为了证明自己一定成功。

实验是为了用有限成本,获得更多信息。


40岁以后,我越来越不喜欢“All in”

年轻的时候,我很容易相信:

机会来了,就应该抓住。

要做,就全力以赴。

不成功便成仁。

但40岁以后,我的理解开始发生变化。

因为这个年龄承担的东西更多了。

家庭、收入、时间、责任,都不允许我轻易把所有筹码压在一个未知方向上。

所以现在我更愿意:

保留主系统。

工作继续提供现金流。

副业作为实验环境。

小规模投入。

持续验证。

有效就扩大。

无效就停止。

必要的时候回滚。

这其实和软件工程没有什么区别。

不是每一个新功能都值得直接进入生产环境。

不是每一次重构都值得立刻替换旧系统。

不是每一个想法,都值得投入全部人生。


这次灰度测试真正改变我的,不是副业结果

如果只看结果,这次尝试并没有让我突然获得一条稳定的收入曲线。

但它改变了我的一个思维方式。

以前遇到一个想做的事情,我会问:

“我要不要做?”

现在我更习惯问:

“我能不能先测试一下?”

以前我会想:

“如果做,就要认真做。”

现在我会想:

“第一版只需要验证什么?”

以前我担心失败。

现在我更担心:

在没有证据的情况下投入太多。

这其实是40岁以后,我重新理解“行动”的一个变化。

行动不一定意味着投入更多。

有时候真正高质量的行动,是:

用更小的成本,获得更重要的信息。


副业不是第二份工作

后来我慢慢意识到。

如果把副业理解成:

“下班以后,再找一份工作。”

那我很可能会越来越累。

白天工作。

晚上兼职。

周末继续工作。

最后只是从一个老板那里打工,变成了给两个老板打工。

这不是我想要的结果。

我真正想建立的,是一个能够逐渐降低对单一收入来源依赖的系统。

它可能是一项产品。

可能是一套内容。

可能是一种个人能力。

可能是一批长期积累的用户。

也可能只是一个不断被验证的方向。

它一开始不需要很大。

但它需要能够:

一点一点脱离对单一组织的依赖。

这才是我真正想做的事情。


现在回头看,这次灰度测试其实是在测试我自己

我原来以为,我测试的是一个副业项目。

后来才发现,我测试的其实是自己。

我有没有能力持续输出?

有没有能力面对没有反馈?

有没有能力接受别人不喜欢?

有没有能力停止一个自己已经投入很多时间的方向?

有没有能力在不确定的时候继续行动?

还有一个更重要的问题:

我能不能接受慢?

40岁以后,很多事情已经没有年轻时候那么快了。

但慢不代表不能开始。

如果没有足够的资源All in,那就灰度发布。

如果不知道方向,就先做实验。

如果不知道市场要什么,就先让真实的人使用。

如果不知道能不能赚钱,就先验证有没有真实价值。

不要急着给人生上线一个完整版本。

先发布一个0.1。

然后观察。

修复。

迭代。

再发布0.2。


写在最后

以前我总觉得:

副业成功,需要一个非常好的想法。

现在我越来越觉得:

副业真正需要的,可能不是一个完美的想法,而是一套持续验证的机制。

因为没有人能够在开始之前,就准确知道未来会发生什么。

我们能做的,只是降低试错成本。

把一个巨大的未知问题,拆成一个个小实验。

一次只验证一件事情。

有信号,就继续。

没信号,就调整。

方向错了,就回滚。

真正值得投入的,再逐渐扩大。

这可能也是40岁以后,我第一次真正接受的一件事:

人生不需要一次性设计完成。

很多事情,都可以先灰度发布。

包括副业。

包括职业。

甚至包括人生本身。

先上线一个能运行的版本。

剩下的,

边运行,

边Debug。


我是语霖。
执笔为语,心落成霖。
希望用文字和声音,记录一个40岁程序员重新设计人生系统的过程。
我们下期接着聊。


分享这篇文章:

上一篇
一个技术人第一次学会「翻译」自己的价值,发生了什么
下一篇
一次失败的转型:我们从这次事故报告里学到了什么