QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

我辛苦创业 20 个月,却亏了 140 万

  • 2022-04-29
  • 本文字数:4858 字

    阅读完需:约 16 分钟

我辛苦创业20个月,却亏了140万

本文最初发布于Sébastien Dubois博客,由 InfoQ 中文站翻译并分享。


真的很难知道我们是对困难有韧性,还是因为沉没成本而坚持。

 

我已经在当前的项目上工作了 20 个月,花费了 2000 个小时,并因此而错过做其它事情的机会“损失”了 20 万欧元(约合 139.4 万元人民币)。然而,这个项目还没有准备好,下面是它背后的故事。

工作十年后,我决定创业

 

作为一名已经工作了 10 多年的技术主管,我有着不错的薪水和一个很棒的团队,并且也能随心所欲地安排自己的工作时间,参与有趣或有挑战的项目。总的来说,我的工作没有太多可抱怨的。

 

但我受够了办公室政治的影响,并且厌倦把时间浪费在会议上。我真的很想辞职,做自己的老板,对周围的世界产生更大的影响。  

 

于是在 2018 年初,我决定按照自己的心意尝试做别的事情。

 

我有一个朋友,他也愿意创造产品,于是我们开始一起头脑风暴。经过一段时间的商讨,我们最终产生了两个创业想法:

 

第一个想法是为学校创建数字化解决方案,帮助他们处理订餐、付款、考勤等问题。我们通过对自己孩子的观察后确信,确实存在需要解决的问题。比利时有一些竞争对手,但数量不多,而且我们国家还没有出现,另外我们还有一个很不一样的角度。

 

第二个想法是为餐厅创建一个数字平台,在上面他们可以发布/定制菜单,还有一个与客户建立联系的渠道(例如,向他们发送促销信息),以提高忠诚度等等。

 

我们先针对学校的场景进行产品开发。由于我们两个人都是全栈工程师,在产品开发方面没多大问题。

 

我们也和一些学校进行了交流,遇到的人都非常热情,但他们担心自己无法获得资金来支付。此外,鉴于学校是公共机构之一,我们必须通过招标才能拿下项目。对于这一点,我也并不太担心,因为我曾在甲方待了很长时间。公开招标启动时,我们确信这值得一试,然而过了一段时间,我的朋友开始犹豫,并最终在没有知会我的情况下放弃了这个项目。我感到很失望。

 

好在之后,另一位朋友有兴趣加入我们,这也让我们团队产生了新的动力。我们决定放弃第一个创业想法,转向第二个。

 

这次我们走得更远,并且被一个创业孵化器接纳,帮助我们前进,甚至还准备了一份商业计划等等。虽然这个想法中途改变了几次,但最终还是进入到产品开发阶段。不幸的是,故事又重演了。

 

开发需要的时间比我的合作伙伴想象得要长,而潜在客户并没有立刻被说服,他很快就开始怀疑我们是否能真的卖出产品。有意无意地,他们的参与度与积极性几乎为零,而我仍在努力前进。

 

最后,我意识到他们不再参与其中,也就放弃了这些想法,我自己的动力也下降了。我再次感到失望。我之前预测一旦新冠病毒来袭,第二款产品就会大受欢迎,但与我们讨论的人当时并不感兴趣,他们害怕可追溯性,并且更希望能够避税。

以技术合伙人身份,加入 SaaS 项目

 

2019 年 5 月,我通过前同事认识了一位正在寻找合作伙伴的商人。那个商人向我介绍了他们的项目,并把我介绍给第三位未来的联合创始人,他们已经在这个项目上进行了快一年的时间,目前正需要一个首席技术官。

 

他们的目标是创建一个 SaaS 产品(B2B),帮助企业改进会议。这个想法听起来不是很吸引人,但我从经验中知道,如果处理不当,会议对于每个参会人来说都是浪费时间。因此,尝试挑战现状对我来说很有意义。

 

此外,我们团队的第三位联合创始人是一位精益教练,拥有一长串潜在客户,这使该项目更有吸引力。虽然没有从事 IT 工作,但她仍然设法创建了自己的方法和工具,并将其介绍给客户,取得了巨大的成功,所以这不仅仅是一个想法,而是有一个真正需要解决的问题,而人们愿意为解决方案买单。不用说,我很快就加入了他们,开始新的商业冒险。

分阶段从头改造代码

 

在最初的几个月里,我深入研究了现有的代码库,通过技术堆栈进行了差距分析,并为项目构建了一个清晰的功能、技术和安全路线图。这个项目采用了 CouchDB(一个开源的面向文档的数据库管理系统),是因为最初的想法是尽早支持离线优先,以获得强大的差异化特性。我决定继续采用 CouchDB。

 

不过,我很快意识到这个项目几乎需要从头开始重新构建。因为现有的代码库存在太多问题,感觉更像是概念的实验品。我们分阶段改造,避免放弃一切。事后看来,这是一个错误的决定。

 

在 2019 年 5 月至 7 月,我们审查并完成了用户故事,创建了故事地图,设计了路线图,并明确了 MVP(最简化可实行产品)的范围。我创建了一个 wiki,将代码迁移到 monorepo(单一代码库),创建/清理了 backlog(待办事项),等等。而在 7 月到 9 月,我做了不同的工作:构建系统、Docker/docker-compose、持续集成、身份认证、国际化等。

 

这种全职参与项目的感觉真的很好,我可以真正地专注,按照想要的方式工作。我负责发布自动化,创建生产基础设施(切换到 Kubernetes,尝试了 AWS,最终决定使用 DigitalOcean),实现了 HTTPS 支持、基本搜索、面包屑导航、注销、创建测试数据集、CLI 等等。

 

我们还带着产品预告片去了法国。我希望能够更快地推进 SaaS 项目,最好在 2019 年年底的时候可以投放到市场上。不幸的是,这个项目的进展甚微,我们在 12 月才开始制作会议屏幕(重要且最复杂的屏幕)。

 

那一刻,我开始怀疑我们的方法/效率,我尽了最大的努力,但一切都感觉如此缓慢。与此同时,我阅读了关于其他人花费 1-3 个月发布他们产品的推文……我想知道我们做错了什么?我找不到答案。

 

在 2019 年底,我已经在这个项目上花费了大约 1000 个小时,这意味着,由于机会成本,我已经损失了大约 10 万欧元(约 70 万元人民币)。尽管如此,我还是决定让脑海里的小声音安静下来,集中精力向前走……我相信一切都是值得的。

提升效率,放弃非必要功能

 

因为在 backlog 中仍有很多东西需要处理(重要功能、错误处理、重要的安全问题等),所以,我们把产品投放的最后期限推迟到 2020 年 6 月。

 

从 1 月到 6 月,我们在 SaaS 项目上几乎没有取得什么功能上的进展,一切都显得缓慢而艰难。我开始怀疑自己的技能和做事的方式。

 

我越来越“积极”地缩小范围,专注于要点,放弃或推迟一些非必要的功能,如离线优先(已经花费了我们整整一个月的努力)和移动支持。尽管如此,代码质量还是需要保证的。

 

我们意识到产品的 UI/UX(用户界面和用户体验)非常糟糕,特别是会议屏幕。我们决定聘请一名 UI/UX 设计师,工作 5 天费用 3000 欧元(约合 2.1 万元人民币)。但整合新的设计迫使我们重新设计系统的不同部分,例如,用 Tailwind 换掉 Angular Material、创建自己的主题、重构数据模型等等。

 

2020 年 6 月,我们还是没能完成会议屏幕,并且还有太多事情要做。所以我们又一次推迟计划到 2020 年 9 月。

该继续采用 NoSQL 数据库吗?

 

在过去的一年中,由于工作切换,我们损失了大量的时间,我认为这是扼杀工作效率的最大原因。就我而言,每个月的周一、周五和两个周三都在做 SaaS 项目,一周中不得不在不同的任务之间切换,这一点都不容易,尤其是在士气方面。

 

除此之外,我的联合创始人(与我一起开发产品)需要大量的支持,在开始这个项目之前,他已经停止编程好几年了,所以对他来说比较困难。为了帮助他前进,每天我不得不多次停下手头的工作。不过我的联合创始人也有自己的优势,他是最具商业营销经验的人,拥有一定的人脉网络。

 

尽管如此,我仍然需要解决每一个技术问题,排除一切故障,处理补丁管理、漏洞修复、安全、文档、待办事项管理、规划等,这些庞杂的事务并不能帮助我们在市场上赢得时间。

 

此外,NoSQL 数据库让我们损失了大量的时间。很明显,由于离线优先的理念,坚持使用它是一个错误,而且有其它解决方案可以实现,我们将离线功能推迟到更晚的版本。并且我们的数据模型是重关系型的,没有理由再留着它,除了减慢速度,还给所有的操作带来了复杂性。

 

尽管这样,我们还是决定继续用它,考虑到切回经典的关系型数据库管理系统(RDBMS,Relational Database Management System)所需要的工作太多了,会把上线计划推更远。

 

我真的不知道哪个更糟:是浪费更多时间重新设计得更好,希望最终节省时间,还是冒着继续缓慢的风险在功能开发上奋力向前……我们选择了后者,但我不知道这是不是最优的。

第一波浪潮之后

 

从那以后,我们非常努力地添加授权,为不同的概念定义状态机(因为会议有一个对整个开发而言非常重要的生命周期),处理验证,以及应用程序中的各种功能,如富文本编辑、pdf 导出等,但我们仍然没有实现 MVP,虽然已经把它裁剪到最基本的要求了。

 

与此同时,我公司的银行账户就像雪花一样在阳光下融化。几个月过去了,虽然我们在某些方面取得了不错的进展,但速度慢得让人受不了。

 

2020 年 10 月左右,我们开始寻找融资方案。我们想获得一笔贷款,其中 50%由欧洲投资基金支持,此外也许还可以试试从我们的国家或地区获得资金。我们会见了银行,准备了该地区的融资方案等等,但我们还没有获得资助。

 

更不幸的是,由于新冠来袭,我们曾经看好的客户(医院)显然没有时间来集成我们的解决方案,这意味着即使我们为他们准备好了,他们也没有好准备。所以,我们必须寻找其它的目标,并重新评估产品的范围,这促使我们设想“下一个”版本,还要包括能说服其他客户购买我们的解决方案,但以我们目前的速度和半工作的状态,这个版本将推到 2021 年底。

 

鉴于进展和市场的不确定性,我们开始考虑用其它的方式来引导,比如先从服务模式开始,然后再切换到 SaaS,这样可以换得一些时间,好让我们继续前进,但这点现在还处于头脑风暴阶段,一切还很模糊。

 

到了 2021 年初,我们又投入了一千多小时,至此我已经“损失”了大约 20 万欧元,因为我仍在这个项目上,而不是做其它事情…..还有一个短期内还没有准备好上市的产品。

压力和自我怀疑

 

我现在已经花了 2 千个小时在这个项目上,感觉是一个很大的数字,但想到取得的成果是如此之少时,我几乎感到羞愧。也许这是正常的,也许不是,我真的尽了最大的努力,有时我觉得自己什么都不知道,也不擅长正在做的事情。我工作了很长时间,晚上和周末都在努力地让事情向前发展,但仍然太慢。

 

此时,我公司的银行账户明显处于红色区域,不超过 6 个月,我的压力值已经突破底线(即使我仍然保持微笑,看起来平静)。我继续半工半薪,今年这样可能会很长一段时间,我很想摆脱一切,能将 100%的时间和精力投入到这个项目,但是现状不能。路漫漫其修远兮,疑虑重重。

 

也许保留 NoSQL 数据库的决定是错误的,也许工作切换才是真正折磨我们的原因,也许我还不够好,也许我们没有聚集在正确的事情上,也许我过于关注代码质量了,也许我一年前就该退出了,也许我们需要额外的开发人员,也许……

 

尽管这样,我内心深处还是想继续前行。首先,我仍然相信我们的团队,相信这个产品确实有意义,它可以真正帮助团队和组织更有效地工作。第二,我仍然精力充沛,有很强的韧性,不愿放弃。最后,也可能是因为我已经投入了太多的时间和精力,觉得如果现在放弃的话,一切都将付诸东流。

 

带着我所有的怀疑,以及损失的那些钱,庞大的工作量,还有那么多不确定的因素,我觉得进退两难,结束意味着输掉游戏,也可能让我错过一些重要的事情。而继续又可能意味着陷入沉没成本谬论,最终损失更多。我很难分辨,也没人知道,这两种情况都是可能发生的。

结论

 

对不起,这篇文章实际上没有结论,也没有任何直接的问题。这就是我的故事。

 

让我感到惊奇的是,在 2020 年,我也花了很多时间写博客,抓住机会分享我在开发 SaaS 产品时学到的东西,月度经常性收入(MRR,Monthly recurring revenue)达到了 100 美元左右。虽然这没什么好吹嘘的,但却是我这一年的亮点。

 

也许这就是促使我开始写新书的原因,也许这是来自我内心的声音,它在说:“停下来!让我们试试别的吧!”或者只是因为我喜欢分享所知,帮助他人。

 

现在是凌晨 2 点,周一。今天,我将在 SaaS 启动项目上工作,这是我要做的,因为我还没有下定决心是否放弃。

 

关于作者:

 

Sébastien Dubois,作家、创始人和首席技术官。写过关于软件开发和信息技术、个人知识管理、个人组织能力和生产力的书籍和文章,同时也会制作一些可爱的数字产品。

 

原文链接:Startup failure stories: 20 months in, 2K hours spent and 200K € lost.

2022-04-29 14:003247

评论 1 条评论

发布
用户头像
感觉标题党了,第一次看用自己投入时间的机会成本来算经营亏损。。
2023-07-15 16:50
回复
没有更多了
发现更多内容

大咖说·对话开源|论数据库开源人才培养的实践

大咖说

数据库 阿里云 开源 人才培养

转行大数据培训怎么样

小谷哥

数据可视化大屏酷炫秘籍之前端开发者自己动手

葡萄城技术团队

前端 BI 可视化数据

“程”风破浪的开发者|Web 3.0 是泡沫还是金矿?

架构精进之路

1024 Web3.0 “程”风破浪的开发者

数字政府行业趋势洞察报告(2022年)解读

信通院IOMM数字化转型团队

数字政府 IOMM 政府数字化转型

千企千面,WorkPlus面向政企提供个性化的数智办公平台解决方案

BeeWorks

数据库浅析

Andy

Baklib知识分享|文档管理促进企业成长进步

Baklib

文档管理

“程”风破浪的开发者|架构师的思维转变

CTO技术共享

学习方法 架构师 “程”风破浪的开发者

MySql浅析

Andy

微信小程序浅践

Andy

2022创业邦100未来独角兽评选正式启动!

创业邦

阿里云PolarDB、RDS获评信通院数据库Serverless认证最高“先进级”

极客天地

CSP 直通车 | 在线直播认证培训双周末班 火热报名中

ShineScrum

敏捷教练 ScrumMaster认证 Scrum认证

5000字解读《低代码发展白皮书(2022年)》

信通院IOMM数字化转型团队

低代码 无代码 低代码报告 IOMM

大数据培训学习应该储备什么知识

小谷哥

前端培训适合零基础学习吗

小谷哥

2022年中国消费金融行业数字化技术创新分析

易观分析

消费金融

专项贴息贷款加速投放 锋云智慧助力教育信息化乘风而上

千锋IT教育

【10.21-10.28】写作社区优质技术博文回顾

InfoQ写作社区官方

优质创作周报

中台“不火”了,企业“底座”却火了

BeeWorks

即时通讯IM WorkPlus支持国产化信创环境

BeeWorks

Wallys/QCN9074 11ax 4x4 MU-MIMO 2.4G M.2 /2.4GHz, max 23dBm per chain, up to 1147Mbps //QCN9072/QCN9024

wallys-wifi6

IPQ6010 IPQ6000

牛掰!阿里十年架构师总结的分布式原理、设计与实战笔记

小小怪下士

Java 程序员 面试 分布式

Groovy Swagger @requestBody 加载超时 一键搞定

FunTester

【web 开发基础】PHP中的特殊流程控制(break) -PHP 快速入门 (20)

迷彩

break 10月月更 web开发基础 PHP基础

程序培训哪里比较好,应该怎么去选择

小谷哥

多线程、多进程同时操作MMAP,会怎么样?

C++后台开发

多线程 后端开发 多进程 linux开发 C++开发

【web 开发基础】PHP 中的特殊流程控制(continue) -PHP 快速入门 (21)

迷彩

continue 10月月更 循环控制 PHP基础

去摩尔纹不用再凹姿势拍照了!合合信息智能文字识别“黑科技”上线扫描全能王

合合技术团队

人工智能 摩尔纹

前端开发培训学习那不难,怎么选择机构

小谷哥

我辛苦创业20个月,却亏了140万_文化 & 方法_Sébastien Dubois_InfoQ精选文章