虽然一直有朋友劝我要多宣传,控制写代码的时间。
然鹅....
昨天还是没忍住写了点测试🤦
写完测试又觉得框架不好用,又重构写了个小框架🤦
最近录屏软件宣传,加上 CleanClip 内容多了以后,自己真的很难做到对 app 的完整测试。导致每次发版有点心惊肉跳,所以自动化测试一直在心里生根发芽。
想起来有一次宣传 CleanClip,有一个 UI 的问题被人批评,“这里竟然都能有问题,真的很难想象这是维护了一年多的产品”。
在很多人眼里,产品维护越久,应当越稳定,而不是问题越多。
这当然符合逻辑,对客户来讲也是理所应当。
但究竟为什么,问题会越来越多呢?
教员说,我们要“从战略上藐视敌人,从战术上重视敌人”
我们要从大的逻辑上去分析问题,也要从细节上去看看真正的问题。
回忆回忆,初始版本问题最少,因为它简单,容易完整测试,出现疑难杂症的问题也小。跟着更新迭代,需要覆盖的功能越来越多,出现疑难问题的概率和数量也增多。
而这些问题在我们这些独立开发的产品上,尤为突出。独立独立,个人和小团队的很大的弊端就在人力资源。随着功能群增多,产品增加,用于解决问题的时间会不断被稀释。
功能群越多,问题出现的概率就越大,出现的问题就越多。
出现的问题越多,需要花费的时间就越多。
解决问题的时间越多,就越没有时间宣传。
越没有时间宣传,收入就越低。
收入越低,产品就越快烂尾。
而这个链条出现的一个根本原因是,维护越来越大的功能群的稳定所需的时间,与独立开发的人力资源总数不匹配。
解决这个矛盾的办法看着很明显:
加人。
减功能群。
然而这些解决办法又会带来新的矛盾:
加人意味着成本的提升,这会同时提升独立开发的收益和风险。而独立开发本身的成功率较低的特性,会让矛盾非常凸显。这是“加人导致试错成本升高和独立开发成功率较低”之间的矛盾。
减功能群意味着,在一定程度上,功能吸引力的下降。吸引力下降了,短期收入也就下降。我认为很多场景下,这种做法长期是有好的。然而当短期内产品因此收入下降到一定阈值下,会导致开发者信心丧失,加速产品的不健康发展。这是“减功能与短期收入提升困难”之间的矛盾。
因此,这些独立开发群体,基于实际的创业场景演变出了他们的解决办法,“先发布一个能用的版本,再改进它” “如果你发布了一个让自己满意的产品,那说明你发布晚了”。目前的市场证明,他们是对的。 独立开发群体大部分没有雄厚的资金支持,这种快刀斩乱麻式的办法适合他们,能帮助它们在资源有限的情况下成功几次。这些成功的代价是牺牲了初期的产品品质。
另外一类解决办法是,把“减少”变成“减速”。多宣传,控制开发节奏。这些是我从值得信任的朋友们口中听到的最多的话。
兜转一圈终于回到了主题。
“多宣传,控制开发节奏”。
我信任他们,我也信任他们的建议。我认为这是对的,一年多的每次宣传都给了我这样的正反馈。因此,我也想在这里给看到这些内容的朋友们再次强调,“多宣传,控制开发节奏”。我知道你们忍不住,因为我也是。
这一次忍不住的原因是,我在自省的过程中有了一点点其它的想法,它来源于我一直停留在概念上的、精神上认同的“测试驱动开发概念”和头部独立开发者 levelso “把一切都自动化” 的创业理念。
“把一切都自动化,极致地降低时间成本”,这是我开始写这篇推文时心里想的话。
这句话在 AI 时代显得尤为正确。不过大家不要被“AI”吸引了目光,我认为的核心主题仍然是自动化。AI 只是实现自动化的一个更趁手的工具。
这次 ScreenSage 初发布,核心的功能内容很多,因此也是遇到了不少困难。这几天稍微放缓功能开发的脚步,一边做做宣传,一边做做自动化测试,给我的两个孩子 SS 和 CC 都加固一下基本盘,给我的客户们都安安心。
现在收入趋于稳定,心态也平和很多了。
趁早做自动化,把自己从无聊、繁琐但又极其重要的测试工作中脱离出来,为产品的健康发展铺一条好路,我想慢一点是值得的。