程序员和产品经理吵架:正确处理技术债务的姿势
"这个需求很简单,为什么说做不了?" "这个功能技术上三天就能完成,为什么排了两周?" "这个 bug 能不能今天修?"
产品经理和程序员的矛盾,80% 来源于技术债不被理解。
一、什么是技术债
技术债不是"代码写得烂",是为了赶进度做出的技术妥协。
例子:
- 快速上线 → 没写测试
- 紧急修复 → 没重构就直接补
- 需求变更 → 在老代码上打补丁
和技术债不同的是:
- 好的代码:第一版就设计好,可以持续演进
- 技术债:第一版能用,但每次修改成本都在增加
二、为什么产品经理不理解技术债
1. 他们看不到
技术债是"内伤",不体现在产品表面上。用户看不到、产品功能不受影响。
2. 他们觉得是技术问题
"代码写得好不好是你们的事,我只要结果。"
3. 压力来自业务
"竞品上周上线了这个功能,我们落后两周就完了。"
三、怎么和产品经理沟通技术债
1. 不用"技术债"这个词
产品经理听不懂"技术债",他们只关心"能做吗"和"要多久"。
用他们的语言:风险、成本、影响。
2. 量化技术债的成本
❌ "这个功能有技术债,做起来比较难" ✅ "这个功能如果按正常流程做需要 3 天,但如果要配合老系统,需要先做 2 天的技术改造,实际是 5 天。而且这 2 天的改造不能带来任何新功能。"
3. 给出选择,不是拒绝
❌ "这个做不了" ✅ "两个选择:
- 选A:正常做,3天,功能稳定
- 选B:和老系统耦合,5天,但以后每次修改都多花 20% 的时间
你选哪个?"
4. 用数据说话
记录技术债导致的 bug 数、修复时间、工程师工时消耗。
如果能算出"过去半年,技术债导致了 X 小时的额外工作",这对产品经理来说更有说服力。
四、一句话总结
不要和产品经理说"技术债",要说"风险和成本"。
标签: 技术债, 产品经理, 团队协作, 程序员沟通, 开发流程