话说回来,我那时候手上这个NIP项目,搞得那叫一个焦头烂额。刚接手那会儿,项目组里的人都像是没头苍蝇,各自忙活各自的,沟通基本靠吼,信息传递全凭口耳相传。我看着这乱象,心里就犯嘀咕,这哪儿是干活儿,简直是大型“踩坑”现场。
最开始的时候,我真是懵的。每天开会,大家都在那儿说自己的进度,可一问到跟别人联动的地方,就支支吾吾,互相推脱。每次有个改动,都能牵连出一大串连锁反应,然后就是无休止的返工。那会儿,我们小组每天都是加班到半夜,可效率,不见长,反而觉得越忙越乱,越忙越没头绪。我看着大家一天天脸色发黄,自己也感觉像个陀螺停不下来,但总觉得力气使错了方向。
有一次,一个很小的功能点,因为前端和后端对接口的理解偏差,硬生生搞了三天。等发现问题的时候,后端哥们儿说他接口没问题,前端妹子说她页面没问题,查来查去,才发现是最初文档里写得不清楚,双方又没及时沟通确认。那次之后,我真是火了。不能再这么下去了,得改!
第一步:理顺沟通,把“吼”变成“讲”
我琢磨着,这沟通乱是万恶之源。以前我们用那个企业内部的聊天工具,建了一堆项目群,可消息刷得飞快,重要的东西很快就被顶上去了。于是我一拍桌子,把大伙儿叫到一起,说了我的想法。
- 指定专人负责: 我要求每个大的功能模块,都得有一个主要的联系人,不管你是开发、测试还是产品,有问题找他就行,他再往里传达。这样就避免了大家都不知道找谁的局面。
- 建立固定沟通机制: 我强制性要求,每天早上开个短会,就十分钟,每个人说三件事儿:昨天干了啥、今天准备干啥、遇到啥困难。就这三句,不多说。有问题会后找对应的人单独聊。这样一搞,大家每天心里都有谱了,别人干啥也知道个大概。
- 活用文档,告别“人肉传话”: 我把我们那个旧的WIKI系统翻出来,重新整理。所有接口文档、需求文档、设计原型,统统给我扔上去,而且要定期更新。改了谁改的,啥时候改的,清清楚楚。谁要是再说不知道,直接让他去看WIKI。我记得那段时间,天天催着大家把文档更新不少人抱怨麻烦,但我心想这点麻烦要是能省后面大麻烦,值了!
第二步:明确职责,不让工作“打太极”
以前项目里,很多活儿都是模棱两可的,大家你看看我,我看看你,谁都不想第一个动手。或者干脆就是好几个人同时做一件事,做了半天发现重复了。这效率能高才怪。
- 拆解任务,责任到人: 我把整个NIP项目拆得很细很细,小到每个页面、每个接口,都给分出去。谁负责哪一块,清清楚楚写在任务看板上。谁要是没完成,或者出了问题,一眼就能看到责任人。这么一搞,大家知道自己碗里的饭,也就不再推来推去。
- 引入简单看板工具: 我们用了一个很简单的在线看板工具,把所有任务都挂上去,从“待办”到“进行中”再到“已完成”。每个人每天上去更新状态。我每天也盯着看,谁的卡片一直卡在“进行中”,我就去找他聊聊,看是不是卡壳了,需不需要帮忙。这种可视化管理,真的太直观了。
第三步:拥抱工具,能自动化的就别手动
以前我们部署个代码,编译个包,那都是手动点鼠标,敲命令。改个配置,也是登录到服务器上改。每次上线都像渡劫,生怕出点啥岔子。后来我痛定思痛,决定引入一些小工具。
- 自动化构建与部署: 我花了一周时间,拉着一个自动化做得比较好的同事,硬是把我们项目的代码构建和部署流程搞成了自动化。就是配置一键下去,代码自己编译、打包、测试、部署。这玩意儿刚开始搭建的时候特别费劲,各种报错,各种配置问题。可一旦跑起来,那真是省心太多了。以前每次上线至少要花一个小时,现在十几分钟就搞定,而且出错率大大降低。
- 统一开发环境: 以前大家本地开发环境五花八门,Python版本不一样,依赖包版本也不一样,结果就是“我本地能跑,你本地跑不了”。后来我要求大家统一使用Docker,把开发环境都容器化。每个人拉下来都是一个配置好的环境,避免了各种奇葩问题。这虽然也折腾了一阵子,但后面简直是神清气爽。
慢慢地,我发现项目组的气氛变了。大家不再那么焦虑,脸上也多了笑容。以前那个混乱不堪的NIP项目,居然慢慢地变得井井有条。虽然过程中免不了磕磕绊绊,各种抱怨,但坚持下来,真就感觉工作顺畅了好多。这些小技巧,看似不起眼,但一步步落实下来,带来的效率提升是实实在在的。