规模化的单人运营:用小团队管理数十个项目
小型业务发展到一定阶段,活跃项目的数量就会超过工作记忆所能容纳的范围。多个电商平台的订单需要监控,基础设施需要定期维护,新功能正在开发,客户还在询问发货、合规和业务预测。每件事都是实实在在的工作,但可用工时不会随着项目数量增加。
应对这种情况,大多数建议都假定需要招聘更多人。这往往是正确的答案,却并非总是如此,尤其是项目涉及不同技术栈、业务领域和运营节奏,且单个项目新增的收入不足以支持一名专职员工时。管理数十个项目的小团队需要系统,而不只是增加人员。
本文介绍我们采用的方法:经得起长期使用的工具选择、降低协调开销的运营原则,以及开发新产品与维护现有系统之间的取舍。
核心矛盾
小团队规模化运营的核心矛盾,在于两类工作争夺同一种资源:注意力。开发新事物需要不受打断、用于探索的专注;维护现有系统则需要随时响应。两种模式并不兼容,切换成本也不会出现在任何项目管理工具里。
但实际中,多数运营问题并非来自选错了模式,而是根本没有作出选择:维护与开发之间的界限逐渐模糊,直到两者都无法妥善完成。开发挤占维护,维护积压不断增加;不断插入的维护任务又叠加起来,拖慢开发。两者都受影响。
我们坚持主动设计时间分配,而非任其自然发生。每周预留明确比例的时间用于维护,包括基础设施检查、依赖更新、监控核查和客户报告,无论眼下的开发工作多么令人兴奋,都不能占用这部分时间。除真正的事件外,维护工作也不能打断开发时间。分配不必精确到每分钟,但必须足够明确,避免被其他优先事项悄然占用。
工具选择
工具选择的原则是:在每种技术栈内严格统一,并尽量减少技术栈数量。每增加一个工具,就多一个可能出故障的环节、一项学习任务,以及一个可能因自身问题拖延无关工作的依赖。工具的成本不是许可费,而是所有相关工作持续占用的注意力。
基础设施方面,我们在单一提供商上运行 Docker,不使用 Kubernetes、多云架构或服务网格。配置合适的 VPS 配合 Docker Compose,足以承担我们目前运营的全部工作负载,清晰的文档也让故障恢复更直接。更复杂的基础设施会消耗更多维护注意力,超过它在其他方面带来的收益。
应用开发统一采用少量技术选择:TypeScript 用于网页前端,Python 用于后端服务和数据管道,PostgreSQL(常用 TimescaleDB)用于持久化存储,Redis 用于队列和缓存。新项目默认沿用这些选择,除非有充分理由偏离。理由必须明确说明,并与长期维护非标准技术栈的成本进行权衡。
项目与任务管理方面,我们使用足够简单的系统,避免让工具本身成为一个项目。维护复杂项目管理系统的开销,常常超过它所协调的项目本身。关键结构只有三项:每个项目都有明确的当前状态、下一步行动和负责人。其他都是可选细节。
这里需要自律的是,抵制为尚不存在的问题引入新工具的压力。新的可观测性平台、部署流水线和团队沟通工具,都被宣传为解决方案。但实际中,引入成本立即发生,收益却尚未确定,要到以后才可能实现。评估新工具时,我们会问:它解决了目前哪个具体问题,是否值得付出引入和维护成本?
异步优先的运营
通话、会议和实时聊天等同步沟通,每次互动都有固定成本,与话题复杂程度无关。安排时间也有成本,而且往往超过互动本身。小团队管理多样化项目时,同步协调的开销可能占用过大比例的可用工时。
我们坚持异步优先:默认书面沟通,默认使用文档,只有书面方式确实不足时才同步交流。能通过阅读文档回答的问题,就查文档;如果没有文档,写下答案才是对此问题的回应。一次同步通话只解决当次问题,却无法回答下次出现的同类问题。
这一原则的具体体现是,决策以书面形式记录。作出重要技术或运营决策时,例如选择数据库、调整部署流程或修改客户工作流,都要记录理由、考虑过的替代方案和预期结果。这些文档不是为了留存历史,而是为了下次同类问题出现时使用。在多项目、小团队的运营中,这种情况比预想更常见。
状态更新采用定时书面记录,而非临时口头汇报。每个项目每周都有简短更新,说明当前状态、近期变化、后续工作和障碍,而不是在会议中报告。写下更新,常能发现口头沟通没有暴露的问题,因为书面表达要求具体,而具体才能让问题显现。
自建还是购买
每个自建工具,都是一项需要无限期维护的项目承诺。作出自建决定时,这一点很容易被忽略,因为当下看得到的是开发成本,以及工具提供的能力。持续维护成本要到后来才显现,但它确实存在,并不断累积。
我们用三个标准判断自建还是购买。第一,是否已有工具足以解决问题?足够不等于完美。能妥善解决百分之九十需求的商业工具,几乎总是比需要持续维护、覆盖百分之百需求的定制工具更合适,因为余下百分之十的缺口通常小于定制工具的持续维护成本。
第二,问题是否依赖外部工具无法掌握的自有数据或系统知识?数据管道、业务逻辑和自有系统间的集成,适合考虑自建。邮件发送、支付处理、身份验证和监控仪表盘等通用功能,除非商业方案确实不合适,否则适合购买。
第三,是否愿意向第三方服务提供相关数据?订单详情、客户信息和财务记录等运营数据,不应流经会为自身目的记录、分析或使用它们的商业服务。即使商业方案技术更好,隐私也能成为这些功能采用自托管方案的理由。因此,我们自托管分析系统、Supabase 后端和监控技术栈。
但实际中,我们做过最昂贵的自建决定,当时并没有明显错误,而是看似合理地为特定需求开发定制工具。十八个月后,依赖变更要求更新工具,新成员需要理解没有外部文档的代码库,或定制工具的缺陷阻塞客户交付却无处升级处理,成本才显现。教训并非永远不自建,而是坦诚评估全生命周期成本,而不只是开发成本。
项目组合视角
把每个项目视为组合中的一部分,而非彼此独立的义务,更容易同时管理数十个项目。组合中,有些项目以相对较低的持续投入获得随时间增长的回报,另一些则停滞或衰退。它们需要不同的资源分配方式。
回报持续增长的项目值得投入维护,保护现有成果,但通常不需要大量新开发。自然排名稳定、评价良好、物流可靠的电商业务,已经建立了回报机制。任务不是改善它,而是避免破坏它。这与仍在建设中的项目需要完全不同的做法,也需要更少注意力,从而为尚未形成持续增长回报的项目腾出空间。
回报尚未持续增长的项目,需要明确评估:追加投入是否可能改善走势,还是应该接受结果、重新分配资源?项目众多的小团队尤其容易陷入沉没成本谬误:因为已经投入很多精力,就继续为没有成效的项目投入。组合视角让这种问题更明显,因为它迫使我们比较:维护停滞项目消耗的注意力,本可用于回报能够持续增长的项目。
真正的瓶颈
传统观点认为,小团队规模化受到资金和时间限制。更多项目需要更多资金来支持,也需要更多时间来执行。这确实如此,但并不完整。
小团队跨多个领域管理多样化项目时,真正的约束是注意力,尤其是可用于需要背景信息的决策的高质量注意力。日常运营任务可以系统化、委派或自动化。但下一步开发什么、如何应对市场变化、是否进入新电商平台、技术方案是否合理,都需要掌握完整背景的人作出真正的判断。这种注意力不会随团队人数线性增长,也无法通过系统化消除需求。
因此,小团队运营最重要的着力点不是效率,也就是更快地做同样的事,而是取舍:先决定哪些事值得做。直接成本再低,需要持续关注才能维持的项目也并不便宜。能以极少干预可靠运行的项目,其组合价值高于收入所体现的价值,因为它不会消耗那些更依赖判断的工作所需的注意力。
我们在项目选择中明确考虑这一点。承诺新项目之前,不只估算建设投入,也估算常态运营的注意力成本:建成后,每周需要多少小时来运行?相对于回报,常态注意力成本过高的项目,吸引力低于只看建设成本和潜在收益时的判断。注意力预算有限,而且与资金或时间不同,无法购买更多。
相关洞察
- 分销工程:构建替您销售的系统——构建低注意力成本运营系统背后的基本原则
- 一百多个 Docker 容器:我们的每月健康检查流程——让基础设施开销保持可预测的维护规范
- 使用 FastAPI 和 TimescaleDB 构建 Amazon 数据仓库——自建决策的实例,以及项目组合背后的数据基础设施