怎样才能够提高研发团队的效率和速度
文 | 魔术师
面对各个行业的内卷,还有普遍996的工作常态,作为一名有着四五年工作经验和经历过几种团队的一线程序员,关于如何提高研发团队的工作效率和速度的问题,我有一些自己的思考,或许用不上996,也能把事情做好。
《爱情转移》1 团队磨合
一个团队,要想有战斗力,那首先应该是一支有着共同目标、团结一致的队伍。每个成员之间需要相互熟悉。包括为人处事、性格特点以及技术能力。那怎么来实现团队的磨合呢?答案是举办有效的团建活动,定期组织团队聚餐(要喝酒的那种,酒文化还真管用)、唱歌、团队运动(如篮球或者其他运动)。还有一些在办公室也能玩的游戏,比如狼人杀。举办团建活动的标准是全员参与、团队之间要有合作才能把任务完成,然后是定期举行(一至两周一次)。
在团队成员之间还不足够熟悉的情况下,上来就开干项目,那八成会把项目做黄。
团队磨合后的效果是什么样的?每个成员之间都相互熟悉,在分配任务的时候能够清楚某个功能谁来做合适,有什么样的问题应该找谁来解决,团队成员之间并非只有工作上的沟通。
2 尽早制定开发规范和示例
一个人做开发,可以按照自己的习惯自由操作,但是在多人组成的团队中做开发,那就必须要有规范和标准。以Java后台开发为例,公共的标准如阿里的《阿里巴巴Java 开发手册》,当然光有这个还不够,还要有每个功能模块的具体代码示例,如Controller 层如何编写、Service 层如何写、服务调用如何写、国际化如何处理等等,要有详细的示例,这样才更好。
3 架构要合理,不要轻易改
系统架构要在项目开始做之前就规划好,一旦开始项目开发,最好不要轻易改动,如果真要改动,那必须是项目早期。当项目开发到一半的时候,即使发现架构有缺陷,也不能再修改了。如果遇到这种情况如何处理?一方面先按照旧的架构开发出一个可用的版本,保证项目上线,另一方面把当前架构中存在的问题罗列出来,在设计新架构的时候考虑进去,避免再次出错。
在设计架构的时候,可以多一些人商量,架构设计完成后也需要先小范围施行,看看使用效果,遇到问题及时反馈,没有问题之后再大规模推广。
谁能想到折磨程序员的除了需求不确定的产品之外,竟然还有那种三天两头改架构的架构师。还有,难用而又不合理的架构,也是非常折磨人的。
4 制定项目总规划,并定期更新与回顾
在开发中大型、长周期(半年以上)项目的时候,一个项目的总体规划是必须具备的。规划中要有各个功能模块的划分、模块与模块之间的关联交互,甚至具体到数据库表的定义。在开发过程中需要根据实际的开发情况,定期(一至两周)更新项目的进度以及变动(如当初规划的表字段可能不够,开发过程中会有调整等),在更新进度的同时,也需要对项目进行回顾,尤其是有团队成员变动的情况下。项目的回顾是因为开发周期较长,很多人容易忘记模块的具体功能,通过回顾可以时刻对项目有一个清晰的认识。
就我个人经验而言,翻看旧的项目,我都需要看半天才能够捋清楚其中的逻辑,我想其他人也会有类似的经历。
对于提高研发团队的效率和速度问题,这四点应该是能打的。
---- 2021-07-03