“业务优先”很少会遭到公开反对。
对技术团队来说,它意味着不只关注代码,也要理解需求为什么存在,尽快解决真实问题。相比用流程和职责拒绝一切额外工作,这种态度当然更积极。
但在实际协作中,业务优先也很容易被简化成另一件事:谁的诉求最急,就先帮谁做;正常流程太慢,就绕开流程;某个环节能力不足,技术团队便直接补上。
这些做法短期内往往有效,甚至容易得到认可。问题通常在更晚的时候出现。
局部的着急不等于整体的优先级
我见过这样的情况:业务方带着一个很急的诉求找到研发,研发手上正好有时间,便提前开始实现。等产品完成调研,才发现相似诉求不只来自一个团队,原来的方案只能解决其中很小的一部分,已经完成的代码不得不重新调整。
单独看这次协作,每个人都有合理的理由。业务希望尽快解决问题,研发也表现出了主动性。但双方掌握的信息都不完整,缺少的恰好是产品调研和统一决策所提供的全局视角。
组织设置分工,不只是为了规定谁来写文档、谁来排期。更重要的作用,是让不同位置的人补充各自掌握的信息。绕开其中一个环节,有时确实能节省等待时间,也可能同时失去这个环节原本负责的判断。
所以,主动响应不一定意味着立即开发。研发可以先确认问题、提供技术建议、评估成本,甚至做小范围验证。但在信息不足时直接承诺完整方案,通常是在用确定的投入应对尚未确定的问题。
不断补位会让问题难以被看见
还有一种更常见的情况:某个协作环节长期运转不畅,技术团队为了保证结果,不断承担额外工作。
偶尔补位是正常协作。线上出了问题,不可能等职责讨论清楚以后再止损;项目临近交付,也很难要求每一步都回到理想流程。
但如果补位成为固定做法,组织看到的可能只是“事情最后完成了”。原本存在的信息缺失、流程问题和资源不足,被额外投入掩盖起来。下一次遇到类似问题,所有人仍然会按原来的方式行动,只是继续依赖少数人兜底。
时间长了以后,责任边界越来越模糊。业务认为技术总有办法,技术认为其他环节没有尽责;系统中堆积了越来越多临时实现,团队则把大量时间用于救火。等业务效果没有达到预期时,复杂、缓慢而不稳定的系统又会成为最容易被看见的问题。
主动补位本身没有错。需要同时做的,是记录补位为什么发生,说明它付出了什么成本,并推动导致问题的条件发生变化。否则,一次次解决表面问题,只会让根因更晚暴露。
技术团队也有自己的本职工作
当业务需求持续到来时,架构调整、质量建设和工程效率很难表现出同等紧迫性。一个新功能延期,马上会有人追问;一次重构没有开始,短期内通常不会发生什么。
因此,“业务优先”如果只按照眼前的可见收益理解,技术团队很容易把所有时间用于交付需求。代码仍然能运行,功能也在增加,但每一次修改都比上一次更慢,问题排查越来越依赖熟悉历史的人。
保障稳定性、控制复杂度、改善可维护性,同样是在支持业务。区别只在于,它们的收益较晚出现,失败的代价也常常在很久以后才被计算。
技术人员需要理解业务,但不应该因此放弃技术判断。真正困难的地方不是在业务与技术之间选择一边,而是说明眼前需求、长期成本和系统风险之间的关系,再共同决定承担什么代价。
主动性的合适位置
现在我更愿意把业务优先理解为一种判断顺序:先确认要解决的业务问题,再讨论技术方案和协作方式。它不是要求技术团队接受所有请求,也不是授权任何人绕开其他角色。
研发的主动性可以用在很多地方:提前了解业务规划,指出方案中的技术约束,补充产品未掌握的信息,为不确定的方向做低成本验证,或者在问题发生后推动根因改进。
这些事情未必像快速上线一个功能那样显眼,却更有可能减少返工和消耗。
职责清楚也不意味着彼此冷漠。恰恰因为把对方当作专业的合作伙伴,才需要让信息经过必要的环节,让决定由掌握相应信息的人共同作出。
业务优先没有问题。需要警惕的是,把它变成一条不再需要判断的口号。