有一段时间,我对“带团队”这件事的理解特别简单。
需求来了,拆一下任务;谁熟哪块,分给谁;每天问问进度,快延期了就多催两句。听起来也没什么问题,很多小团队刚开始都是这么跑的。
但后来我慢慢发现,真正让人头疼的,往往不是没人干活。
更常见的情况是:大家都很忙,群里消息也很多,会议一个接一个,日报写得也挺满,可到了交付节点,东西就是不太对。不是缺了一块,就是体验和需求想的不一样;不是性能没考虑,就是测试一跑全是边界问题。
这时候再回头看,就会发现问题不在“任务有没有分出去”,而在团队有没有对同一件事形成同一套理解。
我后来觉得,带团队这件事最容易被低估的地方,是它看起来每天都很普通。
开会、拆任务、催进度、看 Review、处理延期、带新人,哪一件都不像架构升级那么有技术感。
但项目真正失控时,往往就是这些普通动作没有做好。需求没有讲透,风险没人说,任务没人收口,质量问题被一路放过去。
这些事不惊险,但很磨人。
一、任务分出去,只是开始
软件团队很容易把“管理”理解成“排活”。
谁做登录,谁做订单,谁做报表,谁改接口。看起来每个人都有事做,项目也在往前走。但软件开发不是搬砖,砖放在墙上就算完成。很多任务之间有隐藏关系,前端等接口,后端等字段,测试等环境,产品等效果,运维等部署窗口。
一个任务单上写着“新增客户导入功能”,真正落地时可能包含:
- 模板格式谁定。
- 重复客户怎么处理。
- 错误数据怎么提示。
- 导入失败能不能回滚。
- 大文件会不会卡住服务。
- 客户字段以后变了怎么办。
如果这些东西没说清楚,只是把任务分出去,后面就会靠每个人自己的理解去补。
补得好,项目侥幸过了。补得不好,就是返工。
二、团队变慢,通常不是突然发生的
一个软件团队变慢,很少是某一天突然变慢的。
更像是厨房里的水槽,一开始只是排水慢一点,大家还能忍。后来油污、菜叶、碎渣一点点堆上去,直到某一天完全堵住。
团队也是这样。
需求没有写清楚,先忍一下;代码有点乱,先上线再说;接口文档没更新,大家口头问;线上问题没有复盘,下次小心点;新人不知道业务,只能多问几个人。
每件事单独看都不大,但它们会一起消耗团队。
到最后,技术负责人会感觉自己每天都在救火:协调需求、催进度、帮忙排查、解释延期、处理线上问题。团队看起来一直在跑,但不是在稳稳往前跑,而是在摇摇晃晃地补漏洞。
三、技术负责人不只是技术兜底
很多人刚做技术负责人时,会下意识把自己放在“最强开发”的位置上。
哪里卡住了,我来;线上出问题,我看;架构拿不准,我定;代码写不动,我补。
短期看,这样很有效。团队依赖你,项目也能往前推。但时间一长,就会有两个副作用。
第一个是你会越来越忙,忙到没有时间想更重要的问题。
第二个是团队会越来越依赖你,遇到问题先等你判断。
技术负责人当然要能兜底,但不能只会兜底。更重要的是把问题提前暴露出来,把标准讲清楚,把节奏稳住,把关键决策往前放。
一个团队真正成熟,不是因为有一个人特别能扛,而是因为很多事情不用等这个人扛,团队自己也能处理。
四、这个系列想聊什么
这个系列不会讲太多大词。
我不太想写“管理者的五项修炼”这种东西,也不想把软件团队讲成一张组织架构图。那些内容不是没用,只是离很多小团队的日常有点远。
我更想聊一些具体的现场:
- 为什么需求总是在开发中变形。
- 为什么任务拆完了还是会延期。
- 为什么 Code Review 容易变成礼貌性通过。
- 为什么会议开了很多,问题却没有推进。
- 为什么新人看了两周代码,还是不知道怎么下手。
- 为什么小团队有时需要流程,有时流程又会拖慢所有人。
这些问题都不新鲜,但每个团队都会碰到。
五、我更关心“能不能交付得更稳”
软件团队管理最后要回到一个朴素的问题:能不能稳定交付。
不是靠加班硬顶一次,也不是靠某个核心成员临时救场,而是团队能不能在需求变化、人员变化、技术债累积、时间压力存在的情况下,仍然把事情做得相对靠谱。
这不容易。
因为软件开发里有太多看不见的东西:理解偏差、隐性依赖、历史包袱、团队情绪、质量底线、沟通成本。
技术负责人要做的,就是尽量让这些看不见的东西浮出水面。
不是所有问题都能一次解决,但至少不要让团队在一团雾里赶路。
六、小结
带软件团队,最难的不是把任务分给谁。
真正难的是让团队知道为什么做、做到什么程度、风险在哪里、什么可以妥协、什么不能妥协。
任务分出去,只是项目开始。目标、节奏、质量和风险能不能被团队共同看见,才决定这个团队能不能越跑越稳。
这个系列就从这里开始。
本系列:
- 上一篇:无
- 下一篇:技术负责人到底负责什么
- 系列目录:一个技术负责人眼里的软件团队
暂无评论