本文最后更新于 2026-09-11,文章好久没更新了。

为什么研发团队会变成"项目制团队"?

来源: 微信公众号「二进制跳动」(作者:greencoatman)
原文链接: https://mp.weixin.qq.com/s/HQBPNy4EoA6YYlH0uH3Gqw


核心问题

公司完成的项目越来越多,研发团队却不一定越来越强。

现象:

  • 系统越来越难维护
  • 技术债越来越多
  • 公共能力越来越差
  • 重复建设越来越严重
  • 老系统没人治理

关键问题: 这些项目完成以后,到底给研发组织留下了什么?


一、项目制研发的根本矛盾

维度 项目 软件系统
生命周期 有明确结束时间 长期存在
预算 项目结束预算结束 维护成本持续存在
负责人 可能换人/团队解散 需要持续负责

错位: 组织按项目管理软件,但软件是长期资产。


二、最大错觉:上线 = 完成

业务视角: 功能上线 → 项目完成 ✅

技术现实:

  • 临时逻辑
  • 特殊配置
  • 复制服务
  • 保留旧接口

结果: 业务宣布成功,研发感觉系统越来越烂。

原因: 评价的时间尺度不同

  • 业务:这个项目有没有完成
  • 研发:这个系统未来还要维护多少年

三、被牺牲的"不属于任何项目"的事

典型场景:

  • 想重构公共模块 → “属于哪个项目?”
  • 想建设自动化测试 → “哪个项目出预算?”
  • 想治理历史接口 → “对当前业务有什么直接价值?”

结构性偏差:

所有能够立项的事情都有人做,所有无法立项但长期重要的事情都没人做。

被忽视的长期建设:

  • 基础架构
  • 公共组件
  • 开发工具
  • 自动化能力
  • 技术治理
  • 工程规范
  • 人才培养

四、项目越多,重复建设越严重

典型案例: 三个项目都需要消息能力 → 做三遍

矛盾:

  • 项目负责人优化:“我的项目能不能按时完成?”
  • 组织需要:“公司整体是不是应该只建设一次?”

结论: 项目局部最优 ≠ 研发组织整体最优


五、研发失去"资产意识"

项目思维:

  • 需求来了 → 做完 → 上线 → 下一个
  • 关心:任务是否结束

资产思维:

  • 这段代码以后谁维护?
  • 这个能力能不能复用?
  • 这个设计三年以后还成立吗?
  • 这个接口是不是正在制造新的复杂度?

核心区别:

  • 项目思维:能不能按时上线?
  • 资产思维:上线以后,未来五年的成本是什么?

六、技术平台为什么难建设?

项目要求 基础能力建设
三个月看到结果 一年持续建设
明确 ROI 未来几十个项目都少花钱
明确负责人 服务整个组织

结果: 平台团队只能跟着项目跑,平台化变成另一个项目组。


七、成熟研发组织的双重视角

交付视角

  • 关注:项目、需求、版本、客户、时间
  • 回答:今天要交付什么?

能力视角

  • 关注:架构、平台、工程效率、稳定性、复用、技术债、人才
  • 回答:明年我们靠什么比今年更快?

关键: 不能只用项目管理整个研发组织。


八、判断"项目化过度"的四个标准

  1. 项目结束后,还有没有明确的人对系统负责?

    • 没有 → 只有项目责任,没有资产责任
  2. 跨项目公共能力有没有长期负责人?

    • 每个项目自己建设 → 组织没有能力视角
  3. 技术治理是不是永远需要"找个项目挂进去"?

    • 是 → 长期建设没有独立生存空间
  4. 今年做了很多项目,明年做类似项目有没有明显变快?

    • 没有 → 积累的是项目数量,不是研发能力

九、重新定义"完成"

不成熟: 项目上线 = 完成

成熟定义应包括:

  • 这个项目留下了什么公共能力?
  • 增加了多少长期维护成本?
  • 哪些能力可以被下一个项目复用?
  • 产生了哪些技术债?
  • 谁继续负责它的生命周期?

核心认知: 软件真正昂贵的部分,不是第一次开发,而是未来五年不断改变它。


核心结论

项目交付的是结果,研发组织真正应该积累的是能力。

一个研发团队最危险的状态,不是项目做不完,而是项目做完了一百个,组织还是没有比以前更强。


行动建议

  1. 建立能力视角 — 在项目管理之外,设立长期的技术建设目标
  2. 明确资产责任人 — 每个系统/模块都要有长期负责人
  3. 投入公共能力建设 — 给基础架构、工具、规范独立预算
  4. 衡量组织成长 — 不仅看项目数量,更要看类似项目的交付速度是否提升
  5. 重新定义完成 — 项目验收时评估技术债和长期维护成本